aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--LICENSE2
-rw-r--r--README.md40
-rw-r--r--app/bugreport.apd2
-rw-r--r--assets/diamondlattice.pngbin534585 -> 0 bytes
-rw-r--r--assets/hashlogo-lighttext.pngbin6370 -> 0 bytes
-rw-r--r--assets/hashlogo.pngbin6362 -> 0 bytes
-rw-r--r--assets/hashlogo.svg132
-rw-r--r--assets/hashlogo.xcfbin22770 -> 0 bytes
-rw-r--r--assets/home.html400
-rw-r--r--assets/logo_simplifiedap.pngbin11419 -> 0 bytes
-rw-r--r--assets/narrow.css218
-rw-r--r--assets/nb-no/diamondlattice.pngbin534585 -> 0 bytes
-rw-r--r--assets/nb-no/logo_simplifiedap.pngbin11419 -> 0 bytes
-rw-r--r--assets/nb-no/narrow.css218
-rw-r--r--assets/nb-no/theRedMatrix.pptxbin686353 -> 0 bytes
-rw-r--r--assets/nb-no/uluru2.jpgbin194522 -> 0 bytes
-rw-r--r--assets/nb-no/wide.css396
-rw-r--r--assets/theRedMatrix.pptxbin686353 -> 0 bytes
-rw-r--r--assets/uluru2.jpgbin194522 -> 0 bytes
-rw-r--r--assets/wide.css396
-rwxr-xr-xboot.php113
-rw-r--r--doc/Comparison-of-activity-stream-networks.md4
-rw-r--r--doc/Developers.md4
-rw-r--r--doc/Plugins.md6
-rw-r--r--doc/Primary-Directory.md (renamed from doc/Primary-Directory)0
-rw-r--r--doc/Privacy.md33
-rw-r--r--doc/README.md45
-rw-r--r--doc/Remove-Account.md1
-rw-r--r--doc/Widgets.md8
-rw-r--r--doc/addons.bb2
-rw-r--r--doc/addons_gnusocial.bb7
-rw-r--r--doc/admins.bb12
-rw-r--r--doc/campaign.bb2
-rw-r--r--doc/classRedmatrix_1_1Import_1_1Import-members.html131
-rw-r--r--doc/classRedmatrix_1_1Import_1_1Import.html446
-rw-r--r--doc/database.bb124
-rw-r--r--doc/database/db_abook.bb (renamed from doc/db_abook.bb)0
-rw-r--r--doc/database/db_account.bb (renamed from doc/db_account.bb)0
-rw-r--r--doc/database/db_addon.bb (renamed from doc/db_addon.bb)0
-rw-r--r--doc/database/db_app.bb (renamed from doc/db_app.bb)0
-rw-r--r--doc/database/db_attach.bb (renamed from doc/db_attach.bb)0
-rw-r--r--doc/database/db_auth_codes.bb (renamed from doc/db_auth_codes.bb)0
-rw-r--r--doc/database/db_cache.bb (renamed from doc/db_cache.bb)0
-rw-r--r--doc/database/db_channel.bb (renamed from doc/db_channel.bb)0
-rw-r--r--doc/database/db_chat.bb (renamed from doc/db_chat.bb)0
-rw-r--r--doc/database/db_chatpresence.bb (renamed from doc/db_chatpresence.bb)0
-rw-r--r--doc/database/db_chatroom.bb (renamed from doc/db_chatroom.bb)0
-rw-r--r--doc/database/db_clients.bb (renamed from doc/db_clients.bb)0
-rw-r--r--doc/database/db_config.bb (renamed from doc/db_config.bb)0
-rw-r--r--doc/database/db_conv.bb (renamed from doc/db_conv.bb)0
-rw-r--r--doc/database/db_event.bb (renamed from doc/db_event.bb)0
-rw-r--r--doc/database/db_fcontact.bb (renamed from doc/db_fcontact.bb)0
-rw-r--r--doc/database/db_ffinder.bb (renamed from doc/db_ffinder.bb)0
-rw-r--r--doc/database/db_fserver.bb (renamed from doc/db_fserver.bb)0
-rw-r--r--doc/database/db_fsuggest.bb (renamed from doc/db_fsuggest.bb)0
-rw-r--r--doc/database/db_group_member.bb (renamed from doc/db_group_member.bb)0
-rw-r--r--doc/database/db_groups.bb (renamed from doc/db_groups.bb)0
-rw-r--r--doc/database/db_hook.bb (renamed from doc/db_hook.bb)0
-rw-r--r--doc/database/db_hubloc.bb (renamed from doc/db_hubloc.bb)0
-rw-r--r--doc/database/db_issue.bb (renamed from doc/db_issue.bb)0
-rw-r--r--doc/database/db_item.bb (renamed from doc/db_item.bb)0
-rw-r--r--doc/database/db_item_id.bb (renamed from doc/db_item_id.bb)0
-rw-r--r--doc/database/db_likes.bb (renamed from doc/db_likes.bb)0
-rw-r--r--doc/database/db_mail.bb (renamed from doc/db_mail.bb)0
-rw-r--r--doc/database/db_manage.bb (renamed from doc/db_manage.bb)0
-rw-r--r--doc/database/db_menu.bb (renamed from doc/db_menu.bb)0
-rw-r--r--doc/database/db_menu_item.bb (renamed from doc/db_menu_item.bb)0
-rw-r--r--doc/database/db_notify.bb (renamed from doc/db_notify.bb)0
-rw-r--r--doc/database/db_obj.bb (renamed from doc/db_obj.bb)0
-rw-r--r--doc/database/db_outq.bb (renamed from doc/db_outq.bb)0
-rw-r--r--doc/database/db_pconfig.bb (renamed from doc/db_pconfig.bb)0
-rw-r--r--doc/database/db_photo.bb (renamed from doc/db_photo.bb)0
-rw-r--r--doc/database/db_poll.bb (renamed from doc/db_poll.bb)0
-rw-r--r--doc/database/db_poll_elm.bb (renamed from doc/db_poll_elm.bb)0
-rw-r--r--doc/database/db_profdef.bb (renamed from doc/db_profdef.bb)0
-rw-r--r--doc/database/db_profext.bb (renamed from doc/db_profext.bb)0
-rw-r--r--doc/database/db_profile.bb (renamed from doc/db_profile.bb)0
-rw-r--r--doc/database/db_profile_check.bb (renamed from doc/db_profile_check.bb)0
-rw-r--r--doc/database/db_register.bb (renamed from doc/db_register.bb)0
-rw-r--r--doc/database/db_session.bb (renamed from doc/db_session.bb)0
-rw-r--r--doc/database/db_shares.bb (renamed from doc/db_shares.bb)0
-rw-r--r--doc/database/db_sign.bb (renamed from doc/db_sign.bb)0
-rw-r--r--doc/database/db_site.bb (renamed from doc/db_site.bb)0
-rw-r--r--doc/database/db_source.bb (renamed from doc/db_source.bb)0
-rw-r--r--doc/database/db_spam.bb (renamed from doc/db_spam.bb)0
-rw-r--r--doc/database/db_sys_perms.bb (renamed from doc/db_sys_perms.bb)0
-rw-r--r--doc/database/db_term.bb (renamed from doc/db_term.bb)0
-rw-r--r--doc/database/db_tokens.bb (renamed from doc/db_tokens.bb)0
-rw-r--r--doc/database/db_updates.bb (renamed from doc/db_updates.bb)0
-rw-r--r--doc/database/db_verify.bb (renamed from doc/db_verify.bb)0
-rw-r--r--doc/database/db_vote.bb (renamed from doc/db_vote.bb)0
-rw-r--r--doc/database/db_xchan.bb (renamed from doc/db_xchan.bb)0
-rw-r--r--doc/database/db_xchat.bb (renamed from doc/db_xchat.bb)0
-rw-r--r--doc/database/db_xconfig.bb (renamed from doc/db_xconfig.bb)0
-rw-r--r--doc/database/db_xign.bb (renamed from doc/db_xign.bb)0
-rw-r--r--doc/database/db_xlink.bb (renamed from doc/db_xlink.bb)0
-rw-r--r--doc/database/db_xprof.bb (renamed from doc/db_xprof.bb)0
-rw-r--r--doc/database/db_xtag.bb (renamed from doc/db_xtag.bb)0
-rw-r--r--doc/de/features.bb75
-rw-r--r--doc/de/main.bb1
-rw-r--r--doc/dev_beginner.bb6
-rw-r--r--doc/develop.bb34
-rw-r--r--doc/developers.bb2
-rw-r--r--doc/diaspora_compat.md6
-rw-r--r--doc/encryption.bb2
-rw-r--r--doc/external-resource-links.bb2
-rw-r--r--doc/faq_developers.bb1
-rw-r--r--doc/features.bb6
-rw-r--r--doc/general.bb20
-rw-r--r--doc/hidden_configs.bb1
-rw-r--r--doc/history.md19
-rw-r--r--doc/html/index.php7
-rw-r--r--doc/main.bb80
-rw-r--r--doc/members.bb24
-rw-r--r--doc/plugins.bb4
-rw-r--r--doc/red2pi.bb4
-rw-r--r--doc/roadmap.bb2
-rw-r--r--doc/to_do_code.bb3
-rw-r--r--doc/to_do_doco.bb23
-rw-r--r--doc/troubleshooting.bb2
-rw-r--r--doc/what_is_zot.bb2
-rw-r--r--images/default_profile_photos/alpha/300.pngbin3817 -> 524 bytes
-rw-r--r--images/default_profile_photos/arrow_avatar/300.pngbin0 -> 14163 bytes
-rw-r--r--images/default_profile_photos/arrow_avatar/48.pngbin0 -> 2279 bytes
-rw-r--r--images/default_profile_photos/arrow_avatar/80.pngbin0 -> 3861 bytes
-rw-r--r--images/default_profile_photos/black_avatar_1/300.pngbin6420 -> 11081 bytes
-rw-r--r--images/default_profile_photos/black_avatar_2/300.pngbin5802 -> 10148 bytes
-rw-r--r--images/default_profile_photos/blank/300.jpgbin910 -> 1630 bytes
-rw-r--r--images/default_profile_photos/blank/300.pngbin3817 -> 906 bytes
-rw-r--r--images/default_profile_photos/rainbow_man/300.jpgbin8510 -> 26219 bytes
-rw-r--r--images/default_profile_photos/rainbow_man/300.pngbin57998 -> 101379 bytes
-rw-r--r--images/default_profile_photos/rainbow_man_trans/300.pngbin71198 -> 117156 bytes
-rw-r--r--images/default_profile_photos/red_avatar/300.pngbin4621 -> 8856 bytes
-rw-r--r--images/default_profile_photos/red_koala/300.jpgbin22969 -> 38412 bytes
-rw-r--r--images/default_profile_photos/red_koala/300.pngbin20722 -> 28671 bytes
-rw-r--r--images/default_profile_photos/red_koala_trans/300.pngbin25546 -> 37012 bytes
-rw-r--r--images/default_profile_photos/redmatrix_logo_smiley/300.pngbin3834 -> 7930 bytes
-rw-r--r--images/ghash-32.pngbin0 -> 1824 bytes
-rw-r--r--images/hz-16.pngbin0 -> 876 bytes
-rw-r--r--images/hz-32.pngbin0 -> 1615 bytes
-rw-r--r--images/hz-64.pngbin0 -> 3627 bytes
-rw-r--r--images/redmatrix_logo.svg2
-rw-r--r--images/rm.svg2
-rw-r--r--include/AccessList.php148
-rw-r--r--include/Contact.php134
-rw-r--r--include/ConversationObject.php4
-rw-r--r--include/Import/Importer.php4
-rw-r--r--include/Import/refimport.php11
-rw-r--r--include/ItemObject.php22
-rw-r--r--include/RedDAV/RedDirectory.php110
-rw-r--r--include/RedDAV/RedFile.php67
-rw-r--r--include/acl_selectors.php3
-rw-r--r--include/activities.php5
-rw-r--r--include/api.php108
-rw-r--r--include/apps.php4
-rw-r--r--include/attach.php543
-rw-r--r--include/bb2diaspora.php2
-rw-r--r--include/bbcode.php133
-rw-r--r--include/comanche.php2
-rw-r--r--include/contact_widgets.php7
-rw-r--r--include/conversation.php30
-rwxr-xr-xinclude/diaspora.php3036
-rw-r--r--include/dir_fns.php14
-rw-r--r--include/enotify.php14
-rw-r--r--include/event.php362
-rw-r--r--include/expire.php10
-rw-r--r--include/externals.php20
-rw-r--r--include/follow.php40
-rw-r--r--include/group.php11
-rw-r--r--include/hubloc.php17
-rw-r--r--include/identity.php109
-rw-r--r--include/import.php312
-rwxr-xr-xinclude/importdoc.php41
-rwxr-xr-xinclude/items.php726
-rw-r--r--include/js_strings.php45
-rw-r--r--include/menu.php32
-rw-r--r--include/message.php55
-rw-r--r--include/nav.php13
-rw-r--r--include/network.php36
-rw-r--r--include/notifier.php71
-rw-r--r--include/notify.php5
-rwxr-xr-xinclude/oembed.php32
-rw-r--r--include/onedirsync.php2
-rw-r--r--include/onepoll.php6
-rw-r--r--include/permissions.php94
-rw-r--r--include/photo/photo_driver.php54
-rw-r--r--include/photos.php266
-rw-r--r--include/poller.php36
-rw-r--r--include/reddav.php52
-rw-r--r--include/security.php24
-rw-r--r--include/session.php3
-rw-r--r--include/socgraph.php44
-rw-r--r--include/statistics_fns.php9
-rw-r--r--include/taxonomy.php37
-rw-r--r--include/text.php148
-rw-r--r--include/widgets.php117
-rw-r--r--include/zot.php396
-rwxr-xr-xindex.php32
-rw-r--r--install/INSTALL.txt48
-rwxr-xr-xinstall/htconfig.sample.php4
-rw-r--r--install/sample-lighttpd.conf (renamed from doc/install/sample-lighttpd.conf)0
-rw-r--r--install/sample-nginx.conf (renamed from doc/install/sample-nginx.conf)0
-rw-r--r--install/schema_mysql.sql568
-rw-r--r--install/schema_postgres.sql131
-rw-r--r--install/update.php42
-rw-r--r--library/phpqrcode/CHANGELOG38
-rw-r--r--library/phpqrcode/INSTALL67
-rw-r--r--library/phpqrcode/LICENSE165
-rw-r--r--library/phpqrcode/README45
-rw-r--r--library/phpqrcode/VERSION2
-rw-r--r--library/phpqrcode/bindings/tcpdf/qrcode.php2875
-rw-r--r--library/phpqrcode/cache/frame_1.dat2
-rw-r--r--library/phpqrcode/cache/frame_1.pngbin126 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_10.datbin204 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_10.pngbin202 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_11.datbin210 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_11.pngbin205 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_12.datbin222 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_12.pngbin216 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_13.datbin223 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_13.pngbin210 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_14.datbin227 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_14.pngbin213 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_15.datbin242 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_15.pngbin219 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_16.dat1
-rw-r--r--library/phpqrcode/cache/frame_16.pngbin211 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_17.datbin237 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_17.pngbin211 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_18.dat2
-rw-r--r--library/phpqrcode/cache/frame_18.pngbin228 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_19.dat3
-rw-r--r--library/phpqrcode/cache/frame_19.pngbin225 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_2.dat1
-rw-r--r--library/phpqrcode/cache/frame_2.pngbin144 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_20.datbin250 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_20.pngbin225 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_21.dat1
-rw-r--r--library/phpqrcode/cache/frame_21.pngbin235 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_22.dat3
-rw-r--r--library/phpqrcode/cache/frame_22.pngbin226 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_23.dat3
-rw-r--r--library/phpqrcode/cache/frame_23.pngbin220 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_24.dat1
-rw-r--r--library/phpqrcode/cache/frame_24.pngbin242 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_25.dat3
-rw-r--r--library/phpqrcode/cache/frame_25.pngbin242 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_26.dat2
-rw-r--r--library/phpqrcode/cache/frame_26.pngbin244 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_27.datbin284 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_27.pngbin237 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_28.datbin318 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_28.pngbin234 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_29.dat2
-rw-r--r--library/phpqrcode/cache/frame_29.pngbin232 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_3.dat1
-rw-r--r--library/phpqrcode/cache/frame_3.pngbin147 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_30.datbin324 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_30.pngbin255 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_31.dat1
-rw-r--r--library/phpqrcode/cache/frame_31.pngbin260 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_32.dat2
-rw-r--r--library/phpqrcode/cache/frame_32.pngbin262 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_33.dat14
-rw-r--r--library/phpqrcode/cache/frame_33.pngbin253 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_34.datbin331 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_34.pngbin256 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_35.datbin342 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_35.pngbin243 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_36.datbin370 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_36.pngbin272 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_37.datbin376 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_37.pngbin279 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_38.dat1
-rw-r--r--library/phpqrcode/cache/frame_38.pngbin279 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_39.datbin404 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_39.pngbin264 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_4.dat1
-rw-r--r--library/phpqrcode/cache/frame_4.pngbin149 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_40.dat2
-rw-r--r--library/phpqrcode/cache/frame_40.pngbin267 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_5.dat1
-rw-r--r--library/phpqrcode/cache/frame_5.pngbin150 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_6.datbin132 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_6.pngbin151 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_7.datbin196 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_7.pngbin189 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_8.datbin201 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_8.pngbin204 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_9.datbin206 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/frame_9.pngbin199 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_101_0.datbin157 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_105_0.datbin162 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_109_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_113_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_117_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_121_0.dat1
-rw-r--r--library/phpqrcode/cache/mask_0/mask_125_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_129_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_133_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_137_0.dat1
-rw-r--r--library/phpqrcode/cache/mask_0/mask_141_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_145_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_149_0.dat3
-rw-r--r--library/phpqrcode/cache/mask_0/mask_153_0.dat1
-rw-r--r--library/phpqrcode/cache/mask_0/mask_157_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_161_0.datbin241 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_165_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_169_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_173_0.dat1
-rw-r--r--library/phpqrcode/cache/mask_0/mask_177_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_21_0.datbin48 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_25_0.datbin57 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_29_0.datbin59 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_33_0.datbin62 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_37_0.datbin65 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_41_0.datbin68 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_45_0.datbin106 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_49_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_53_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_57_0.dat4
-rw-r--r--library/phpqrcode/cache/mask_0/mask_61_0.datbin119 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_65_0.datbin123 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_0/mask_69_0.dat1
-rw-r--r--library/phpqrcode/cache/mask_0/mask_73_0.dat1
-rw-r--r--library/phpqrcode/cache/mask_0/mask_77_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_81_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_85_0.dat2
-rw-r--r--library/phpqrcode/cache/mask_0/mask_89_0.dat1
-rw-r--r--library/phpqrcode/cache/mask_0/mask_93_0.dat3
-rw-r--r--library/phpqrcode/cache/mask_0/mask_97_0.datbin150 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_101_1.dat2
-rw-r--r--library/phpqrcode/cache/mask_1/mask_105_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_109_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_113_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_117_1.dat2
-rw-r--r--library/phpqrcode/cache/mask_1/mask_121_1.dat2
-rw-r--r--library/phpqrcode/cache/mask_1/mask_125_1.dat2
-rw-r--r--library/phpqrcode/cache/mask_1/mask_129_1.datbin164 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_133_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_137_1.dat3
-rw-r--r--library/phpqrcode/cache/mask_1/mask_141_1.dat2
-rw-r--r--library/phpqrcode/cache/mask_1/mask_145_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_149_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_153_1.dat2
-rw-r--r--library/phpqrcode/cache/mask_1/mask_157_1.dat2
-rw-r--r--library/phpqrcode/cache/mask_1/mask_161_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_165_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_169_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_173_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_177_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_21_1.datbin42 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_25_1.datbin48 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_29_1.datbin50 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_33_1.datbin53 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_37_1.datbin56 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_41_1.datbin58 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_45_1.datbin82 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_49_1.datbin84 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_53_1.datbin87 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_57_1.datbin92 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_61_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_65_1.datbin99 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_69_1.datbin102 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_73_1.datbin104 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_77_1.datbin110 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_81_1.datbin114 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_1/mask_85_1.dat2
-rw-r--r--library/phpqrcode/cache/mask_1/mask_89_1.dat1
-rw-r--r--library/phpqrcode/cache/mask_1/mask_93_1.dat2
-rw-r--r--library/phpqrcode/cache/mask_1/mask_97_1.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_101_2.dat3
-rw-r--r--library/phpqrcode/cache/mask_2/mask_105_2.dat1
-rw-r--r--library/phpqrcode/cache/mask_2/mask_109_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_113_2.dat1
-rw-r--r--library/phpqrcode/cache/mask_2/mask_117_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_121_2.datbin127 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_125_2.dat1
-rw-r--r--library/phpqrcode/cache/mask_2/mask_129_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_133_2.dat10
-rw-r--r--library/phpqrcode/cache/mask_2/mask_137_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_141_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_145_2.dat4
-rw-r--r--library/phpqrcode/cache/mask_2/mask_149_2.dat1
-rw-r--r--library/phpqrcode/cache/mask_2/mask_153_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_157_2.dat3
-rw-r--r--library/phpqrcode/cache/mask_2/mask_161_2.datbin190 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_165_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_169_2.datbin196 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_173_2.dat1
-rw-r--r--library/phpqrcode/cache/mask_2/mask_177_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_21_2.datbin35 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_25_2.datbin41 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_29_2.datbin45 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_33_2.datbin47 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_37_2.datbin47 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_41_2.dat1
-rw-r--r--library/phpqrcode/cache/mask_2/mask_45_2.datbin68 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_49_2.datbin70 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_53_2.datbin73 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_57_2.datbin76 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_61_2.datbin78 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_65_2.datbin89 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_69_2.datbin88 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_73_2.datbin94 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_77_2.dat1
-rw-r--r--library/phpqrcode/cache/mask_2/mask_81_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_85_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_2/mask_89_2.dat1
-rw-r--r--library/phpqrcode/cache/mask_2/mask_93_2.datbin103 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_2/mask_97_2.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_101_3.dat1
-rw-r--r--library/phpqrcode/cache/mask_3/mask_105_3.dat1
-rw-r--r--library/phpqrcode/cache/mask_3/mask_109_3.dat1
-rw-r--r--library/phpqrcode/cache/mask_3/mask_113_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_117_3.dat4
-rw-r--r--library/phpqrcode/cache/mask_3/mask_121_3.datbin212 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_125_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_129_3.dat8
-rw-r--r--library/phpqrcode/cache/mask_3/mask_133_3.datbin216 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_137_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_141_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_145_3.dat3
-rw-r--r--library/phpqrcode/cache/mask_3/mask_149_3.dat1
-rw-r--r--library/phpqrcode/cache/mask_3/mask_153_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_157_3.datbin248 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_161_3.dat3
-rw-r--r--library/phpqrcode/cache/mask_3/mask_165_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_169_3.dat1
-rw-r--r--library/phpqrcode/cache/mask_3/mask_173_3.dat1
-rw-r--r--library/phpqrcode/cache/mask_3/mask_177_3.datbin312 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_21_3.datbin60 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_25_3.datbin75 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_29_3.datbin75 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_33_3.datbin79 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_37_3.datbin83 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_41_3.datbin85 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_45_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_49_3.datbin127 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_53_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_57_3.datbin126 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_61_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_65_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_69_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_73_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_77_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_81_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_85_3.datbin160 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_3/mask_89_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_93_3.dat2
-rw-r--r--library/phpqrcode/cache/mask_3/mask_97_3.datbin175 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_101_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_105_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_109_4.datbin182 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_113_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_117_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_121_4.datbin208 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_125_4.datbin213 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_129_4.datbin220 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_133_4.dat3
-rw-r--r--library/phpqrcode/cache/mask_4/mask_137_4.datbin248 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_141_4.datbin254 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_145_4.datbin255 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_149_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_153_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_157_4.dat1
-rw-r--r--library/phpqrcode/cache/mask_4/mask_161_4.dat1
-rw-r--r--library/phpqrcode/cache/mask_4/mask_165_4.dat3
-rw-r--r--library/phpqrcode/cache/mask_4/mask_169_4.datbin297 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_173_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_177_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_21_4.datbin57 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_25_4.datbin76 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_29_4.datbin78 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_33_4.datbin89 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_37_4.datbin86 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_41_4.datbin89 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_45_4.datbin120 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_49_4.datbin124 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_53_4.datbin128 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_57_4.datbin130 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_61_4.datbin132 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_65_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_69_4.dat1
-rw-r--r--library/phpqrcode/cache/mask_4/mask_73_4.dat3
-rw-r--r--library/phpqrcode/cache/mask_4/mask_77_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_81_4.dat3
-rw-r--r--library/phpqrcode/cache/mask_4/mask_85_4.datbin154 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_4/mask_89_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_93_4.dat2
-rw-r--r--library/phpqrcode/cache/mask_4/mask_97_4.datbin176 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_101_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_105_5.datbin224 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_109_5.datbin211 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_113_5.dat9
-rw-r--r--library/phpqrcode/cache/mask_5/mask_117_5.dat1
-rw-r--r--library/phpqrcode/cache/mask_5/mask_121_5.datbin256 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_125_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_129_5.datbin259 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_133_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_137_5.dat3
-rw-r--r--library/phpqrcode/cache/mask_5/mask_141_5.datbin297 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_145_5.datbin300 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_149_5.dat3
-rw-r--r--library/phpqrcode/cache/mask_5/mask_153_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_157_5.dat1
-rw-r--r--library/phpqrcode/cache/mask_5/mask_161_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_165_5.datbin332 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_169_5.dat1
-rw-r--r--library/phpqrcode/cache/mask_5/mask_173_5.dat4
-rw-r--r--library/phpqrcode/cache/mask_5/mask_177_5.dat11
-rw-r--r--library/phpqrcode/cache/mask_5/mask_21_5.datbin74 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_25_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_29_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_33_5.datbin106 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_37_5.datbin103 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_41_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_45_5.dat1
-rw-r--r--library/phpqrcode/cache/mask_5/mask_49_5.datbin146 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_53_5.dat1
-rw-r--r--library/phpqrcode/cache/mask_5/mask_57_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_61_5.dat1
-rw-r--r--library/phpqrcode/cache/mask_5/mask_65_5.datbin163 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_69_5.datbin167 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_73_5.datbin184 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_77_5.dat1
-rw-r--r--library/phpqrcode/cache/mask_5/mask_81_5.dat3
-rw-r--r--library/phpqrcode/cache/mask_5/mask_85_5.datbin186 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_5/mask_89_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_93_5.dat2
-rw-r--r--library/phpqrcode/cache/mask_5/mask_97_5.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_101_6.dat2
-rw-r--r--library/phpqrcode/cache/mask_6/mask_105_6.dat3
-rw-r--r--library/phpqrcode/cache/mask_6/mask_109_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_113_6.dat3
-rw-r--r--library/phpqrcode/cache/mask_6/mask_117_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_121_6.datbin309 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_125_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_129_6.datbin310 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_133_6.datbin296 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_137_6.dat2
-rw-r--r--library/phpqrcode/cache/mask_6/mask_141_6.dat10
-rw-r--r--library/phpqrcode/cache/mask_6/mask_145_6.datbin357 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_149_6.dat2
-rw-r--r--library/phpqrcode/cache/mask_6/mask_153_6.datbin367 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_157_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_161_6.datbin399 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_165_6.datbin400 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_169_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_173_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_177_6.dat14
-rw-r--r--library/phpqrcode/cache/mask_6/mask_21_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_25_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_29_6.dat3
-rw-r--r--library/phpqrcode/cache/mask_6/mask_33_6.datbin124 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_37_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_41_6.datbin132 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_45_6.datbin189 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_49_6.dat2
-rw-r--r--library/phpqrcode/cache/mask_6/mask_53_6.datbin195 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_57_6.dat2
-rw-r--r--library/phpqrcode/cache/mask_6/mask_61_6.dat2
-rw-r--r--library/phpqrcode/cache/mask_6/mask_65_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_69_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_73_6.datbin230 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_77_6.dat1
-rw-r--r--library/phpqrcode/cache/mask_6/mask_81_6.dat3
-rw-r--r--library/phpqrcode/cache/mask_6/mask_85_6.datbin229 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_89_6.datbin263 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_93_6.datbin276 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_6/mask_97_6.dat2
-rw-r--r--library/phpqrcode/cache/mask_7/mask_101_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_105_7.dat2
-rw-r--r--library/phpqrcode/cache/mask_7/mask_109_7.dat2
-rw-r--r--library/phpqrcode/cache/mask_7/mask_113_7.dat11
-rw-r--r--library/phpqrcode/cache/mask_7/mask_117_7.dat2
-rw-r--r--library/phpqrcode/cache/mask_7/mask_121_7.dat2
-rw-r--r--library/phpqrcode/cache/mask_7/mask_125_7.datbin288 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_129_7.datbin282 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_133_7.datbin281 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_137_7.dat5
-rw-r--r--library/phpqrcode/cache/mask_7/mask_141_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_145_7.dat2
-rw-r--r--library/phpqrcode/cache/mask_7/mask_149_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_153_7.dat2
-rw-r--r--library/phpqrcode/cache/mask_7/mask_157_7.dat2
-rw-r--r--library/phpqrcode/cache/mask_7/mask_161_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_165_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_169_7.datbin383 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_173_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_177_7.datbin407 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_21_7.dat4
-rw-r--r--library/phpqrcode/cache/mask_7/mask_25_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_29_7.dat2
-rw-r--r--library/phpqrcode/cache/mask_7/mask_33_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_37_7.datbin122 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_41_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_45_7.datbin173 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_49_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_53_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_57_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_61_7.dat2
-rw-r--r--library/phpqrcode/cache/mask_7/mask_65_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_69_7.datbin202 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_73_7.datbin221 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_77_7.datbin226 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_81_7.dat1
-rw-r--r--library/phpqrcode/cache/mask_7/mask_85_7.datbin213 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_89_7.datbin244 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_93_7.datbin248 -> 0 bytes
-rw-r--r--library/phpqrcode/cache/mask_7/mask_97_7.dat2
-rw-r--r--library/phpqrcode/index.php94
-rw-r--r--library/phpqrcode/phpqrcode.php3312
-rw-r--r--library/phpqrcode/qrbitstream.php180
-rw-r--r--library/phpqrcode/qrconfig.php17
-rw-r--r--library/phpqrcode/qrconst.php54
-rw-r--r--library/phpqrcode/qrencode.php502
-rw-r--r--library/phpqrcode/qrimage.php95
-rw-r--r--library/phpqrcode/qrinput.php729
-rw-r--r--library/phpqrcode/qrlib.php43
-rw-r--r--library/phpqrcode/qrmask.php328
-rw-r--r--library/phpqrcode/qrrscode.php210
-rw-r--r--library/phpqrcode/qrspec.php592
-rw-r--r--library/phpqrcode/qrsplit.php311
-rw-r--r--library/phpqrcode/qrtools.php172
-rw-r--r--library/phpqrcode/tools/merge.bat2
-rw-r--r--library/phpqrcode/tools/merge.php70
-rw-r--r--library/phpqrcode/tools/merge.sh2
-rw-r--r--library/phpqrcode/tools/merged_config.php17
-rw-r--r--library/phpqrcode/tools/merged_header.php36
-rw-r--r--mod/acl.php45
-rw-r--r--mod/admin.php29
-rw-r--r--mod/attach.php2
-rw-r--r--mod/block.php8
-rw-r--r--mod/blocks.php34
-rw-r--r--mod/bookmarks.php6
-rw-r--r--mod/branchtopic.php3
-rw-r--r--mod/channel.php43
-rw-r--r--mod/chat.php24
-rw-r--r--mod/cloud.php33
-rw-r--r--mod/connections.php45
-rw-r--r--mod/connedit.php90
-rw-r--r--mod/contactgroup.php5
-rw-r--r--mod/dav.php6
-rw-r--r--mod/directory.php2
-rw-r--r--mod/dirsearch.php23
-rw-r--r--mod/display.php19
-rw-r--r--mod/editblock.php14
-rw-r--r--mod/editlayout.php2
-rw-r--r--mod/editpost.php10
-rw-r--r--mod/editwebpage.php9
-rwxr-xr-xmod/events.php125
-rw-r--r--mod/filer.php3
-rw-r--r--mod/filestorage.php20
-rw-r--r--mod/group.php18
-rw-r--r--mod/help.php143
-rw-r--r--mod/home.php2
-rw-r--r--mod/impel.php13
-rw-r--r--mod/import.php584
-rw-r--r--mod/import_items.php172
-rw-r--r--mod/item.php257
-rw-r--r--mod/layouts.php10
-rwxr-xr-xmod/like.php52
-rw-r--r--mod/linkinfo.php (renamed from mod/parse_url.php)384
-rw-r--r--mod/locs.php20
-rw-r--r--mod/mail.php5
-rw-r--r--mod/manage.php26
-rw-r--r--mod/message.php2
-rw-r--r--mod/mitem.php9
-rwxr-xr-xmod/mood.php11
-rw-r--r--mod/network.php42
-rw-r--r--mod/oexchange.php2
-rw-r--r--mod/openid.php9
-rw-r--r--mod/p.php52
-rw-r--r--mod/page.php18
-rw-r--r--mod/photo.php19
-rw-r--r--mod/photos.php208
-rw-r--r--mod/ping.php47
-rwxr-xr-xmod/poke.php11
-rw-r--r--mod/post.php34
-rw-r--r--mod/profile_photo.php107
-rw-r--r--mod/public.php20
-rw-r--r--mod/receive.php77
-rw-r--r--mod/rpost.php2
-rw-r--r--mod/search.php17
-rw-r--r--mod/settings.php72
-rwxr-xr-xmod/setup.php4
-rw-r--r--mod/siteinfo.php3
-rw-r--r--mod/starred.php8
-rwxr-xr-xmod/subthread.php32
-rw-r--r--mod/tagger.php6
-rw-r--r--mod/tasks.php107
-rw-r--r--mod/thing.php155
-rw-r--r--mod/uexport.php4
-rw-r--r--mod/update_channel.php2
-rw-r--r--mod/update_display.php2
-rw-r--r--mod/update_home.php2
-rw-r--r--mod/update_network.php2
-rw-r--r--mod/update_public.php2
-rw-r--r--mod/update_search.php2
-rw-r--r--mod/viewconnections.php21
-rw-r--r--mod/viewsrc.php6
-rw-r--r--mod/wall_attach.php45
-rw-r--r--mod/webpages.php6
-rw-r--r--mod/xrd.php2
-rw-r--r--mod/zfinger.php19
-rw-r--r--mod/zotfeed.php9
-rw-r--r--util/Doxyfile2
-rw-r--r--util/README2
-rwxr-xr-xutil/importdoc33
-rw-r--r--util/messages.po4980
-rwxr-xr-xutil/run_xgettext.sh6
-rwxr-xr-xutil/shredder/ShredOAuth.sh28
-rwxr-xr-xutil/shredder/shredder2
-rw-r--r--util/strings.php2278
-rw-r--r--util/zotsh/README.txt2
-rw-r--r--view/cs/htconfig.tpl2
-rw-r--r--view/cs/update_fail_eml.tpl2
-rw-r--r--view/css/mod_events.css2
-rw-r--r--view/css/widgets.css12
-rw-r--r--view/de/messages.po9664
-rw-r--r--view/de/strings.php2200
-rw-r--r--view/en-au/htconfig.tpl2
-rw-r--r--view/en-au/update_fail_eml.tpl2
-rw-r--r--view/en-gb/htconfig.tpl2
-rw-r--r--view/en-gb/strings.php4
-rw-r--r--view/en-gb/update_fail_eml.tpl2
-rw-r--r--view/en/cert_bad_eml.tpl4
-rw-r--r--view/en/htconfig.tpl2
-rw-r--r--view/en/update_fail_eml.tpl2
-rw-r--r--view/eo/htconfig.tpl2
-rw-r--r--view/eo/update_fail_eml.tpl2
-rw-r--r--view/es/update_fail_eml.tpl5
-rw-r--r--view/fr/messages.po48
-rw-r--r--view/fr/strings.php32
-rw-r--r--view/it/htconfig.tpl2
-rw-r--r--view/it/messages.po5984
-rw-r--r--view/it/strings.php1231
-rw-r--r--view/it/update_fail_eml.tpl2
-rw-r--r--view/js/main.js2
-rw-r--r--view/js/mod_connedit.js1
-rw-r--r--view/js/mod_settings.js8
-rw-r--r--view/nb-no/htconfig.tpl2
-rw-r--r--view/nb-no/messages.po86
-rw-r--r--view/nb-no/strings.php38
-rw-r--r--view/nb-no/update_fail_eml.tpl2
-rw-r--r--view/nl/messages.po5759
-rw-r--r--view/nl/strings.php1073
-rw-r--r--view/pdl/mod_events.pdl3
-rw-r--r--view/pdl/mod_help.pdl3
-rw-r--r--view/pdl/mod_network.pdl1
-rw-r--r--view/pt-br/htconfig.tpl2
-rw-r--r--view/pt-br/messages.po9567
-rw-r--r--view/pt-br/strings.php1864
-rw-r--r--view/pt-br/update_fail_eml.tpl2
-rw-r--r--view/ru/htconfig.tpl2
-rw-r--r--view/ru/messages.po42
-rw-r--r--view/ru/strings.php28
-rw-r--r--view/ru/update_fail_eml.tpl2
-rw-r--r--view/sv/htconfig.tpl2
-rw-r--r--view/sv/messages.po86
-rw-r--r--view/sv/strings.php38
-rw-r--r--view/sv/update_fail_eml.tpl2
-rw-r--r--view/theme/redbasic/css/style.css8
-rw-r--r--view/theme/redbasic/php/config.php2
-rw-r--r--view/theme/redbasic/php/theme.php2
-rwxr-xr-xview/tpl/admin_site.tpl1
-rwxr-xr-xview/tpl/email_notify_html.tpl2
-rwxr-xr-xview/tpl/event_form.tpl9
-rwxr-xr-xview/tpl/event_head.tpl15
-rwxr-xr-xview/tpl/head.tpl2
-rwxr-xr-xview/tpl/item_import.tpl15
-rwxr-xr-xview/tpl/jot-header.tpl4
-rwxr-xr-xview/tpl/js_strings.tpl10
-rwxr-xr-xview/tpl/msg-header.tpl4
-rwxr-xr-xview/tpl/nav.tpl2
-rwxr-xr-xview/tpl/opensearch.tpl4
-rw-r--r--view/tpl/pdledit.tpl2
-rwxr-xr-xview/tpl/photos_upload.tpl2
-rwxr-xr-xview/tpl/profile_advanced.tpl2
-rwxr-xr-xview/tpl/settings.tpl3
-rwxr-xr-xview/tpl/settings_addons.tpl23
-rw-r--r--view/tpl/show_thing.tpl8
-rw-r--r--view/tpl/thing_edit.tpl9
-rw-r--r--view/tpl/thing_input.tpl9
785 files changed, 28966 insertions, 41753 deletions
diff --git a/LICENSE b/LICENSE
index 7656d552e..40cc07bb5 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2010-2015 RedMatrix
+Copyright (c) 2010-2015 Hubzilla
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
diff --git a/README.md b/README.md
index 2deabff8b..ac62f721a 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,39 @@
-![the Red Matrix](images/rm.png)
-Note: please update your repository pointers to https://github.com/redmatrix/redmatrix .
+Hubzilla
+========
-One of the traditional problems with independent publishing on the internet has always been the fact that independent publishers often operate as isolated islands within their own website, and spend most of their resources attracting visitors. The rise of corporate providers and social networking services alleviated many of these problems; however centralisation has led to a situation where your content is no longer under your direct control. It is shared fully with corporate advertisers and governments, but ironically you are now often asked to pay money to ensure that your friends can see it. What if you could have advantages of scale and connections that centralisation typically offers whilst maintaining independent control over your own web presence?
+###Websites. Redefined.
-The RedMatrix is a super network created from a huge number of smaller independent and autonomous websites - which are linked together into a cooperative publishing and social platform. It consists of an open source webapp providing a complete multi-user **decentralised** publishing, sharing, and communications system - known as a "hub". Each hub provides communications (private messaging, chat, blogging, forums, and social networking), along with media management (photos, events, files, web pages, shareable apps) for its members; all in a feature-rich platform. These hubs automatically reach out and connect with each other and the rest of the matrix. Privacy and content ownership always remain under the direct personal control of the individual; and permission to access any item can be granted or denied to anybody in the entire matrix.
-What makes the RedMatrix unique is what we call "magic authentication" - which is based on our groundbreaking work in decentralised identity services. No other platform provides this ability. Within the matrix the boundaries between different hubs are blurred or seemingly non-existent. Identity in the matrix is considered transient and potentially nomadic. "Who you are" has nothing to do with "what computer you're connected to", and website content can adapt itself according to who is viewing it. You have the ability to "clone" your identity to other hubs; which allows you to continue to communicate with your friends seamlessly if your primary hub is ever disabled (temporarily or permanently).
+![Hubzilla](images/ghash-32.png)
-The RedMatrix is ideal for communities of any size, from private individuals and families to online forums, business websites, and organisations. It can be used by anybody who has communications or web content that they wish to share, but where they desire complete control of whom they share it with.
+**What are Hubs?**
-The Red Matrix is free and open source distributed under the MIT license.
+Hubs are independent general-purpose websites that not only connect with their associated members and viewers, but also connect together to exchange personal communications and other information with each other.
+This allows hub members on any hub to securely and privately share anything; with anybody, on any hub - anywhere; or share stuff publicly with anybody on the internet if desired.
+
+**Hubzilla** is the server software which makes this possible. It is a sophisticated and unique combination of an open source content management system and a decentralised identity, communications, and permissions framework and protocol suite, built using common webserver technology (PHP/MySQL/Apache, although Mariadb or Postgres and Nginx could also be used - we're pretty easy). The end result is a level of systems integration, privacy control, and communications features that you wouldn't think are possible in either a content management system or a decentralised communications network. It also brings a new level of cooperation and privacy to the web and introduces the concept of personally owned "single sign-on" to web services across the entire internet.
+
+Hubzilla hubs are
+
+* decentralised
+* inherently social
+* optionally inter-networked with other hubs
+* privacy-enabled (privacy exclusions work across the entire internet to any registered identity on any compatible hubs)
+
+Possible website applications include
+
+* decentralised social networking nodes
+* personal cloud storage
+* file dropboxes
+* managing organisational communications and activities
+* collaboration and community decision-making
+* small business websites
+* public and private media/file libraries
+* blogs
+* event promotion
+* feed aggregation and republishing
+* forums
+* dating websites
+* pretty much anything you can do on a traditional blog or community website, but that you could do better if you could easily connect it with other websites or privately share things across website boundaries.
-For a list of public hubs see [redmatrix.me/pubsites](https://redmatrix.me/pubsites). For installation instructions see [install/INSTALL.txt](install/INSTALL.txt)
diff --git a/app/bugreport.apd b/app/bugreport.apd
index ea1f87b34..3714f0626 100644
--- a/app/bugreport.apd
+++ b/app/bugreport.apd
@@ -1,3 +1,3 @@
-url: https://github.com/redmatrix/redmatrix/issues
+url: https://github.com/redmatrix/hubzilla/issues
name: Bug Report
photo: $baseurl/app/bugreport.png
diff --git a/assets/diamondlattice.png b/assets/diamondlattice.png
deleted file mode 100644
index f1ed7dbd0..000000000
--- a/assets/diamondlattice.png
+++ /dev/null
Binary files differ
diff --git a/assets/hashlogo-lighttext.png b/assets/hashlogo-lighttext.png
deleted file mode 100644
index 7f94ccdd9..000000000
--- a/assets/hashlogo-lighttext.png
+++ /dev/null
Binary files differ
diff --git a/assets/hashlogo.png b/assets/hashlogo.png
deleted file mode 100644
index 99ef21328..000000000
--- a/assets/hashlogo.png
+++ /dev/null
Binary files differ
diff --git a/assets/hashlogo.svg b/assets/hashlogo.svg
deleted file mode 100644
index 903a5c894..000000000
--- a/assets/hashlogo.svg
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="215.94055"
- height="50"
- id="svg3877"
- version="1.1"
- inkscape:version="0.48.4 r9939"
- sodipodi:docname="hashlogo.svg"
- inkscape:export-filename="/run/user/1000/gvfs/sftp:host=jeroenpraat.nl,port=69,user=root/var/www/redmatrix/assets/hashlogo2.png"
- inkscape:export-xdpi="156.42857"
- inkscape:export-ydpi="156.42857">
- <defs
- id="defs3" />
- <sodipodi:namedview
- inkscape:document-units="mm"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="3.7759502"
- inkscape:cx="84.10176"
- inkscape:cy="24.800256"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1533"
- inkscape:window-height="656"
- inkscape:window-x="49"
- inkscape:window-y="171"
- inkscape:window-maximized="0"
- units="px"
- fit-margin-top="4"
- fit-margin-left="4"
- fit-margin-right="4"
- fit-margin-bottom="4" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(-240.69473,-715.93361)">
- <path
- transform="matrix(0.94,0,0,0.9075862,138.86175,379.85869)"
- sodipodi:type="arc"
- id="path3028-4-5-3"
- sodipodi:cx="195.74467"
- sodipodi:cy="397.84091"
- sodipodi:rx="22.340425"
- sodipodi:ry="23.138298"
- d="m 218.0851,397.84091 c 0,12.77893 -10.00215,23.1383 -22.34043,23.1383 -12.33827,0 -22.34042,-10.35937 -22.34042,-23.1383 0,-12.77893 10.00215,-23.1383 22.34042,-23.1383 12.33828,0 22.34043,10.35937 22.34043,23.1383 z"
- style="fill:#c60032;fill-opacity:1" />
- <path
- inkscape:connector-curvature="0"
- id="path2998"
- style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3c3c3c;fill-opacity:1;stroke:none;font-family:Designosaur;-inkscape-font-specification:Designosaur"
- d="m 248.69473,755.61224 c 0.56,0 0.8,-0.24 0.8,-0.8 l 0,-12.24 c 0,-2.51999 1.32001,-3.88 3.8,-3.88 0.76,0 1.64,0.44 1.64,-0.6 l 0,-3 c 0,-0.56 -0.16,-0.6 -0.72,-0.6 -1.72,0.04 -3.72,10e-6 -5.44,2.64 l -0.08,0 -0.4,-1.52 c -0.24,-0.52 -0.24,-0.8 -0.8,-0.8 l -2,0 c -0.56,0 -0.8,0.24 -0.8,0.8 l 0,19.2 c 0,0.56 0.24,0.8 0.8,0.8 l 3.2,0" />
- <path
- inkscape:connector-curvature="0"
- id="path3000"
- style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3c3c3c;fill-opacity:1;stroke:none;font-family:Designosaur;-inkscape-font-specification:Designosaur"
- d="m 272.47473,751.81224 c -0.12,-0.16 -0.24,-0.32 -1.04,-0.08 -1.64,0.52 -3.16,1 -4.72,1 -3.51999,0 -4.72,-2.48 -5.04,-5.84 l 8.2,0 c 3.32,0 4.36,-0.92 4.36,-4 0,-5.79999 -3.72,-8.6 -8.56,-8.6 -6.47999,0 -8.88,4.96001 -8.88,11.12 0,5.6 2.00001,10.68 9.4,10.68 3.4,0 6.32,-1.08 7.08,-1.96 0.32,-0.36 0.28,-0.68 0.04,-1.04 l -0.84,-1.28 m -10.8,-8.28 c 0.24,-3.15999 1.28001,-5.88 4.2,-5.88 2.12,0 3.52,2.16001 3.52,4.52 0,1.2 -0.32,1.36 -1.56,1.36 l -6.16,0" />
- <path
- inkscape:connector-curvature="0"
- id="path3002"
- style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3c3c3c;fill-opacity:1;stroke:none;font-family:Designosaur;-inkscape-font-specification:Designosaur"
- d="m 296.25973,755.61224 c 0.56,0 0.8,-0.24 0.8,-0.8 l 0,-28 c 0,-0.56 -0.24,-0.8 -0.8,-0.8 l -3.2,0 c -0.56,0 -0.8,0.24 -0.8,0.8 l 0,10.44 -0.08,0 c -1,-1.51999 -2.76,-2.92 -6.16,-2.92 -4.63999,0 -8.6,2.64001 -8.6,10.96 0,8.24 3.92001,10.84 8.48,10.84 3.04,0 5.44,-0.92 7.08,-3 l 0.08,0 0.4,1.68 c 0.12,0.56 0.24,0.8 0.8,0.8 l 2,0 m -9.52,-2.84 c -2.91999,0 -4.52,-1.44 -4.52,-7.48 0,-6.23999 1.72001,-7.6 4.48,-7.6 3.52,0 5.56,2.16001 5.56,7.6 0,5.32 -1.96,7.48 -5.52,7.48" />
- <g
- style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3c3c3c;fill-opacity:1;stroke:none;font-family:Sans"
- id="text3016">
- <path
- d="m 375.14875,755.65222 c 0.52,0 0.76,-0.24 0.76,-0.8 l 0,-12.64 c 0,-4.99999 -3.28001,-7.84 -7.24,-7.84 -1.92,0 -4.04,1.2 -5.12,3.28 -1.28,-2.12 -3.44,-3.28 -5.92,-3.28 -1.72,0 -3.72,1.04 -4.52,2.92 l -0.08,0 -0.4,-1.64 c -0.12,-0.56 -0.24,-0.8 -0.8,-0.8 l -2,0 c -0.56,0 -0.8,0.24 -0.8,0.8 l 0,19.2 c 0,0.56 0.24,0.8 0.8,0.8 l 3.2,0 c 0.56,0 0.8,-0.24 0.8,-0.8 l 0,-10.88 c 0,-4.11999 1.12,-6.24 3.4,-6.24 2.12,0 2.84,2.76 2.84,5.84 l 0,11.28 c 0,0.56 0.24,0.8 0.76,0.8 l 3.28,0 c 0.52,0 0.76,-0.24 0.76,-0.8 l 0,-11.16 c 0.04,-3.91999 1.2,-5.96 3.4,-5.96 2.12,0 2.84,2.76 2.84,5.84 l 0,11.28 c 0,0.56 0.24,0.8 0.76,0.8 l 3.28,0"
- style="font-variant:normal;font-stretch:normal;fill:#3c3c3c;font-family:Designosaur;-inkscape-font-specification:Designosaur"
- id="path3011"
- inkscape:connector-curvature="0" />
- <path
- d="m 396.04812,755.65222 c 0.56,0 0.8,-0.24 0.8,-0.8 l 0,-9.84 c 0,-5.71999 -1.76,-10.68 -8.68,-10.68 -3.19999,0 -6.12,1.08 -6.92,1.96 -0.32,0.36 -0.28,0.68 -0.04,1.04 l 0.84,1.28 c 0.12,0.16 0.28,0.32 1.04,0.08 1.8,-0.56 3.24,-1 4.52,-1 3.32,0 4.16,3 4.36,4.68 l -4.12,0 c -4.55999,0 -8.36,1.36001 -8.36,6.52 0,4.92 3.48001,7.24 7.52,7.24 2.68,0 4.72,-1 5.76,-2.92 l 0.08,0 0.4,1.64 c 0.12,0.56 0.24,0.8 0.8,0.8 l 2,0 m -4,-8.76 c 0,4.08 -1.48,5.88 -3.92,5.88 -2.83999,0 -3.8,-2.4 -3.8,-4 0,-1.92 1.4,-3.04 3.52,-3.04 l 4.2,0 0,1.16"
- style="font-variant:normal;font-stretch:normal;fill:#3c3c3c;font-family:Designosaur;-inkscape-font-specification:Designosaur"
- id="path3013"
- inkscape:connector-curvature="0" />
- <path
- d="m 408.715,755.65222 c 0.56,0 0.8,-0.24 0.8,-0.8 l 0,-1.76 c 0,-0.56 -0.24,-0.8 -0.8,-0.8 l -0.28,0 c -0.92,0 -1.92,-0.8 -1.92,-2.76 l 0,-11.52 2.52,0 c 0.56,0 0.8,-0.24 0.8,-0.8 l 0,-1.56 c 0,-0.56 -0.24,-0.8 -0.8,-0.8 l -2.52,0 0,-4.28 c 0,-0.56 -0.28,-1 -0.8,-0.8 l -3.2,1.2 c -0.52,0.2 -0.8,0.24 -0.8,0.8 l 0,3.08 -2.08,0 c -0.56,0 -0.8,0.24 -0.8,0.8 l 0,1.56 c 0,0.56 0.24,0.8 0.8,0.8 l 2.08,0 0,11.4 c 0,4.2 1.92,6.24 5.52,6.24 l 1.48,0"
- style="font-variant:normal;font-stretch:normal;fill:#3c3c3c;font-family:Designosaur;-inkscape-font-specification:Designosaur"
- id="path3015"
- inkscape:connector-curvature="0" />
- <path
- d="m 417.01312,755.65222 c 0.56,0 0.8,-0.24 0.8,-0.8 l 0,-12.24 c 0,-2.52 1.32001,-3.88 3.8,-3.88 0.76,0 1.64,0.44 1.64,-0.6 l 0,-3 c 0,-0.56 -0.16,-0.6 -0.72,-0.6 -1.72,0.04 -3.72,0 -5.44,2.64 l -0.08,0 -0.4,-1.52 c -0.24,-0.52 -0.24,-0.8 -0.8,-0.8 l -2,0 c -0.56,0 -0.8,0.24 -0.8,0.8 l 0,19.2 c 0,0.56 0.24,0.8 0.8,0.8 l 3.2,0"
- style="font-variant:normal;font-stretch:normal;fill:#3c3c3c;font-family:Designosaur;-inkscape-font-specification:Designosaur"
- id="path3017"
- inkscape:connector-curvature="0" />
- <path
- d="m 430.06,730.85222 c 0.56,0 0.8,-0.24 0.8,-0.8 l 0,-3.2 c 0,-0.56 -0.24,-0.8 -0.8,-0.8 l -3.2,0 c -0.56,0 -0.8,0.24 -0.8,0.8 l 0,3.2 c 0,0.56 0.24,0.8 0.8,0.8 l 3.2,0 m 0,24.8 c 0.56,0 0.8,-0.24 0.8,-0.8 l 0,-19.2 c 0,-0.56 -0.24,-0.8 -0.8,-0.8 l -3.2,0 c -0.56,0 -0.8,0.24 -0.8,0.8 l 0,19.2 c 0,0.56 0.24,0.8 0.8,0.8 l 3.2,0"
- style="font-variant:normal;font-stretch:normal;fill:#3c3c3c;font-family:Designosaur;-inkscape-font-specification:Designosaur"
- id="path3019"
- inkscape:connector-curvature="0" />
- <path
- d="m 452.12812,755.65222 c 0.56,0 0.64,-0.2 0.32,-0.64 l -6.72,-10 6.4,-9.52 c 0.32,-0.44 0.32,-0.64 -0.32,-0.64 l -4.16,0 c -0.52,0 -0.96,0.2 -1.24,0.68 l -3.44,6.8 -3.24,-6.8 c -0.28,-0.48 -0.64,-0.68 -1.2,-0.68 l -4.4,0 c -0.56,0 -0.64,0.2 -0.32,0.64 l 6.4,9.52 -6.72,10 c -0.32,0.44 -0.16,0.64 0.32,0.64 l 4.16,0 c 0.52,0 0.96,-0.2 1.24,-0.68 l 3.76,-7.08 3.56,7.08 c 0.28,0.48 0.64,0.68 1.2,0.68 l 4.4,0"
- style="font-variant:normal;font-stretch:normal;fill:#3c3c3c;font-family:Designosaur;-inkscape-font-specification:Designosaur"
- id="path3021"
- inkscape:connector-curvature="0" />
- </g>
- <g
- style="font-size:46px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"
- id="text3003-0-4-0">
- <path
- d="m 322.85053,756.03406 4.7355,0 1.3079,-7.9827 4.8708,0 0,-4.4649 -4.1492,0 1.0373,-6.4944 4.9159,0 0,-4.4649 -4.1492,0 1.1275,-7.0356 -4.7355,0 -1.1275,7.0356 -5.1865,0 1.1275,-7.0356 -4.7355,0 -1.1275,7.0356 -5.0963,0 0,4.4649 4.3296,0 -1.0373,6.4944 -5.0963,0 0,4.4649 4.3747,0 -1.3079,7.9827 4.7355,0 1.3079,-7.9827 5.1865,0 -1.3079,7.9827 m 2.0295,-12.4476 -5.1865,0 1.0373,-6.4944 5.1865,0 -1.0373,6.4944"
- style="font-size:45.09999847px;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#ffffff;font-family:generic;-inkscape-font-specification:generic Bold"
- id="path3008"
- inkscape:connector-curvature="0" />
- </g>
- </g>
-</svg>
diff --git a/assets/hashlogo.xcf b/assets/hashlogo.xcf
deleted file mode 100644
index b7aaa63f8..000000000
--- a/assets/hashlogo.xcf
+++ /dev/null
Binary files differ
diff --git a/assets/home.html b/assets/home.html
deleted file mode 100644
index 036f9bcc9..000000000
--- a/assets/home.html
+++ /dev/null
@@ -1,400 +0,0 @@
-<style>
-section { position: relative; margin-left: 15px;}
-nav { z-index: 9999; position: fixed; width: 100%; top: 0; left: 0; }
-header { z-index: 10000; }
-
-.tr {
- clear: both;
-}
-.tab {
- float: left;
- width: 25px;
-}
-.td {
- float: left;
- width: 200px;
- font-size: 1.8em;
- margin-bottom: 5px;
- margin-right: 25px;
- color: #808080;
-
-}
-
-body::after {
- content: '';
- background-position: 50% 50%;
- background-repeat: no-repeat;
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
- position: absolute;
- opacity: 0.5;
- z-index: -1;
-}
-
-</style>
-
-<script>
-var terms = new Array("Internet-scale Privacy",
- "Social Networking",
- "Single Sign-On",
- "Photo Albums",
- "Decentralised",
- "Cloud Storage",
- "Own Your Content",
- "Blogging",
- "End-to-end Encryption",
- "Chatrooms",
- "Shareable Apps",
- "Cross-Site Access Control",
- "Unsend Private Mail",
- "Webpage Creation",
- "Content Management",
- "Message Expiration",
- "Games and Utilities",
- "Unincorporated",
- "Forums",
- "Like + Dislike",
- "Share Anything Digital",
- "Communications",
- "Identity-Aware Content",
- "Pseudonyms",
- "Multiple Identities",
- "No Advertising",
- "Rich Text Post/Comment",
- "Event Calendar",
- "Bookmarking",
- "Community Tagging",
- "Mirrored Directory",
- "Nomadic Identity",
- "Derivative Channels",
- "Customised Encryption",
- "Multiple Profiles",
- "Privacy Groups",
- "File Sharing",
- "MIT license",
- "Autonomy",
- "Affinity Filtering",
- "Friend Suggestions",
- "Cross-Site Auth",
- "Themes",
- "Plugins",
- "External API",
- "3rd Party Apps",
- "Open Source",
- null);
-var r = 0;
-var g = 0;
-var b = 0;
-
-var speed = 3;
-var delay = 450;
-
-var timer = null;
-var holdid = 0;
-var element = 'word-flasher';
-var custom = '';
-var seq = 0;
-var nindex = 0;
-var firstTime = 1;
-var curr = null;
-
-function fadeout() {
-
- var id = document.getElementById(element);
- r = (((r + speed) < 255) ? r + speed : 255);
- g = (((g + speed) < 255) ? g + speed : 255);
- b = (((b + speed) < 255) ? b + speed : 255);
-
- if((r != 255) && (g != 255) && (b != 255)) {
- timer = setTimeout('fadeout();',5);
- }
- else {
- update_element();
- }
-
- id.style.color = "rgb(" + r + "," + g + "," + b + ")";
-}
-
-function fadein() {
- var id = document.getElementById(element);
- r = (((r - speed) > 0) ? r - speed : 0);
- g = (((g - speed) > 0) ? g - speed : 0);
- b = (((b - speed) > 0) ? b - speed : 0);
-
- if(r && g && b) {
- timer = setTimeout('fadein();',5);
- }
- else {
- timer = setTimeout('fadeout();',delay);
- }
-
- id.style.color = "rgb(" + r + "," + g + "," + b + ")";
-}
-
-
-$(document).ready(function() {
- timer = setTimeout('update_element();',2000);
- var known = {
- en: true, // ENGLISH
- fr: true, // FRENCH
- nl: true, // NETHERLANDS
- sv: true // SWEDISH
- // ADD YOUR LANGUAGE HERE.
- };
- // Figure out the language, default to English because that's
- // what I speak.
- var lang = (navigator.language || navigator.userLanguage || 'en').substr(0, 2);
- if(!known[lang])
- lang = 'en';
- if(lang=="fr") // FRENCH TRANSLATIONS
- terms = new Array("R&eacute;seau social",
- "Authentification unique",
- "Albums Photos",
- "Decentralis&eacute;e",
- "Entreposage dans le nuage",
- "Vous avez le contr&ocirc;le sur vos partages",
- "Blogue",
- "Encryption des donn&eacute;es",
- "Salle de clavardage",
- "Partage d&rsquo;applications",
- "Permissions actives sur toute la matrice",
- "Reprise de courrier",
- "Cr&eacute;ation de pages web",
- "Gestion du contenu",
- "Expiration des messages",
- "Jeux et Utilitaires",
- "Non-Incorpor&eacute;",
- "Forums",
- "J&rsquo;aime + Je D&eacute;teste",
- "Partagez tous types de fichiers",
- "Plateforme de communications",
- "Le contenu s&rsquo;ajuste aux individus",
- "Pseudonymes",
- "Identit&eacute;s multiples",
- "Aucune publicit&eacute;",
- "&Eacute;diteur de texte enrichi (partages/commentaires)",
- "Calendrier d&rsquo;&eacute;v&eacute;nements",
- "Favoris",
- "Suivre des personnes/communaut&eacute;s",
- "R&eacute;pertoire d&rsquo;utilisateurs synchronis&eacute;",
- "Identit&eacute; nomade",
- "Canaux d&rsquo;int&eacute;r&ecirc;ts",
- "Encryption du traffic (SSL)",
- "Profils multiples",
- "Groupes priv&eacute;s",
- "Partage de fichiers",
- "License MIT",
- "Autonomie",
- "Filtre selon les affinit&eacute;s",
- "Suggestions d&rsquo;amis potentiel",
- "Authentification sur tous les HUBs de la matrice",
- "Th&egrave;mes",
- "Plugins",
- "API externe",
- "Application Tierce Partie",
- "Code Source Ouvert",
- "Gratuit",
- null);
- else if (lang == "sv") // SWEDISH TRANSLATIONS
- terms = new Array("Sekretess skalad f&ouml;r Internet",
- "Socialt n&auml;tverkande",
- "Single Sign-On",
- "Fotoalbum",
- "Decentraliserat",
- "Molnlagring",
- "Ditt eget inneh&aring;ll",
- "Blogg",
- "End-to-end-kryptering",
- "Chattrum",
- "Delbara till&auml;ggsprogram",
- "Kontrollera beh&ouml;righet mellan webbplatser",
- "&Aring;ngra privata meddelanden",
- "Skapa webbsidor",
- "Inneh&aring;llshantering",
- "Tidsbegr&auml;nsade meddelanden",
- "Spel och verktyg",
- "Inte styrt av f&ouml;retag",
- "Forum",
- "Gilla + Ogilla",
- "Dela allt som &auml;r digitalt",
- "Kommunikation",
- "Identitetsmedvetet inneh&aring;ll",
- "Pseudonymer",
- "Multipla identiteter",
- "Reklamfritt",
- "Rich Text-inl&auml;gg/-kommentarer",
- "Kalender",
- "Bokm&auml;rken",
- "Gemensam taggning",
- "Speglad katalog",
- "Nomadisk identitet",
- "Avknoppade kanaler",
- "Anpassad kryptering",
- "Multipla profiler",
- "Sekretessgrupper",
- "Fildelning",
- "MIT-licens",
- "Sj&auml;lvst&auml;ndighet",
- "Samh&ouml;righetsfiltrering",
- "V&auml;nf&ouml;rslag",
- "Fj&auml;rrinloggning",
- "Teman",
- "Till&auml;gg",
- "Externt API",
- "Tredjepartsappar",
- "&Ouml;ppen k&auml;llkod",
- null);
-
- // Find all <div>s with a class of "wrapper" and lang attribute equal
- // to `lang` and make them visibile.
- $('div.wrapper[lang=' + lang + ']').show();
-
- // Find all <div>s with a class of "wrapper" and lang attribute not
- // equal to `lang` and make them invisibile.
- $('div.wrapper[lang!=' + lang + ']').hide();
-});
-
-function update_element() {
-
- if(firstTime) {
- firstTime = 0;
- fadeout();
- return;
- }
- curr = terms[nindex];
- nindex ++;
- if(terms[nindex] == null)
- nindex = 0;
-
- var id = document.getElementById(element);
- id.innerHTML = curr;
- timer = setTimeout('fadein();',3);
-}
-
-
-</script>
-
-<div style="margin-top: 50px;"></div>
-
-<center>
-
-<img style="width: 330px; margin-top: 30px; margin-bottom: 30px;" src="assets/hashlogo.png" >
-<div id="word-flasher" style="font-size: 2.5em; font-weight: bold; margin-bottom: 30px;">&quot;The Network&quot;</div>
-
-<!-- TRANSLATIONS START HERE - REMEMBER TO ADD YOUR LANGUAGE IN THE FUNCTION ABOVE($(document).ready(function() ...)
-
-<!-- ENGLISH FRONTPAGE TRANSLATION STARTS HERE -->
-
-<div lang="en" class="wrapper">
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-One of the traditional problems with independent publishing on the internet has always been the fact that independent publishers often operate as isolated islands within their own website, and spend most of their resources attracting visitors. The rise of corporate providers and social networking services alleviated many of these problems; however centralisation has led to a situation where your content is no longer under your direct control. It is shared fully with corporate advertisers and governments, but ironically you are now often asked to pay money to ensure that your friends can see it. What if you could have advantages of scale and connections that centralisation typically offers whilst maintaining independent control over your own web presence?
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-The RedMatrix is a super network created from a huge number of smaller independent and autonomous websites - which are linked together into a cooperative publishing and social platform. It consists of an open source webapp providing a complete multi-user <strong>decentralised</strong> publishing, sharing, and communications system - known as a "hub". Each hub provides communications (private messaging, chat, blogging, forums, and social networking), along with media management (photos, events, files, web pages, shareable apps) for its members; all in a feature-rich platform. These hubs automatically reach out and connect with each other and the rest of the matrix. Privacy and content ownership always remain under the direct personal control of the individual; and permission to access any item can be granted or denied to anybody in the entire matrix.
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-What makes the RedMatrix unique is what we call "magic authentication" - which is based on our groundbreaking work in decentralised identity services. No other platform provides this ability. Within the matrix the boundaries between different hubs are blurred or seemingly non-existent. Identity in the matrix is considered transient and potentially nomadic. "Who you are" has nothing to do with "what computer you're connected to", and website content can adapt itself according to who is viewing it. You have the ability to "clone" your identity to other hubs; which allows you to continue to communicate with your friends seamlessly if your primary hub is ever disabled (temporarily or permanently).
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-The RedMatrix is ideal for communities of any size, from private individuals and families to online forums, business websites, and organisations. It can be used by anybody who has communications or web content that they wish to share, but where they desire complete control of whom they share it with.<br />
-</div>
-<br />
-<div style="margin-bottom: 15px; color: #808080; font-size: 1.8em;"><strong>RedMatrix - &quot;The Network&quot;</strong></div>
-<div style="font-size: 1.4em;">
-<a href="register" style="color: white; padding:10px; background-color: #c60032; border-radius: 10px;">Sign up now!</a>
-<a href="donate" style="color: white; padding:10px; background-color: #c60032; border-radius: 10px;">Donate / Sponsor</a>
-</div>
-<div style="margin-top: 15px; margin-bottom: 15px;"><a href="pubsites">Public Sites</a> | <a href="https://redmatrix.me">Project Home</a> | <a href="https://github.com/friendica/red">Code</a> | <a href="https://zothub.com/channel/one">Developers</a></div>
-</div>
-
-<!-- FRENCH FRONTPAGE TRANSLATION STARTS HERE -->
-
-<div lang="fr" class="wrapper" style="display: none;">
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-La Matrice <span style="color: #c60032;">Rouge</span> &laquo; <span style="color: #c60032;">Red</span>Matrix &raquo; est une <strong>application web d&eacute;centralis&eacute;e</strong>. La centralisation des donn&eacute;es sur des serveurs corporatifs met en jeux votre vie priv&eacute;e et vous assujettit &agrave; la volont&eacute; d&#039;un tiers. Ainsi vos messages, fichiers, photos ne sont plus sous votre contr&ocirc;le et sont partag&eacute;s avec les agences de marketing ainsi que les gouvernements. La Matrice <span style="color: #c60032;">Rouge</span>, c&#039;est un moyen de prot&eacute;ger votre identit&eacute; ainsi que votre vie priv&eacute;e tout en conservant le plein contr&ocirc;le sur le partage de vos donn&eacute;es avec le monde.
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-La Matrice <span style="color: #c60032;">Rouge</span> est un r&eacute;seau constitu&eacute; de serveurs autonomes et ind&eacute;pendants. Ces serveurs, appel&eacute;s &laquo; hubs &raquo;, assurent la r&eacute;silience de vos donn&eacute;es sur le r&eacute;seau. Chacun de ces &laquo; hubs &raquo; garantit des fonctions de communications (Messages priv&eacute;s, clavardage, blogue, forums et toutes les fonctions des r&eacute;seaux sociaux) ainsi que des fonctions de gestions (photos, calendrier, partage de fichiers, cr&eacute;ation de pages web, cr&eacute;ation d&#039;applications) &agrave; ses membres. En tout temps, votre vie priv&eacute;e et le choix du partage de votre contenu sont sous votre contr&ocirc;le exclusif.
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-La Matrice <span style="color: #c60032;">Rouge</span> est unique; elle transporte votre identit&eacute; &agrave; l&#039;aide d'une m&eacute;thode d&#039;authentification innovatrice appel&eacute;e &laquo; authentification magique &raquo; - laquelle est le r&eacute;sultat de la recherche et du d&eacute;veloppement appliqu&eacute;e au service d&#039;<strong>identit&eacute; d&eacute;centralis&eacute;e</strong>. Aucune autre plateforme n&#039;offre ce type d&#039;identit&eacute; &laquo; nomade &raquo;. Ainsi, une fois authentifi&eacute;, vous avez le loisir de vous &laquo; promener &raquo; d&#039;un serveur &agrave; l&#039;autre sans avoir &agrave; reconfirmer votre identit&eacute;. De plus, la Matrice <span style="color: #c60032;">Rouge</span> vous permet de &laquo; cloner &raquo; votre identit&eacute; et de la porter sur un &laquo; hub &raquo; diff&eacute;rent de celui ou vous vous &ecirc;tes inscrit. Voil&agrave; encore un moyen de vous d&eacute;fendre contre toutes formes de censure pour pr&eacute;server votre identit&eacute;, vos listes d&#039;amis, vos publications, photos et fichiers advenant le cas ou votre &laquo; hub &raquo; pr&eacute;f&eacute;r&eacute; serait mis hors ligne. (temporairement ou permanemment).
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-La Matrice <span style="color: #c60032;">Rouge</span> est un outil id&eacute;al pour toutes les communaut&eacute;s en passant par les particuliers et les familles tout en incluant les forums, sites-web d'affaires ainsi que les organisations. C&#039;est une solution de remplacement, non n&eacute;gligeable, aux r&eacute;seaux sociaux actuels rendue accessible &agrave; tous ceux qui sont soucieux de leur vie priv&eacute;e et qui souhaitent conserver le contr&ocirc;le de leur pr&eacute;sence sur internet.<br />
-</div>
-<br />
-<div style="margin-bottom: 15px; color: #808080; font-size: 1.8em;"><strong>RedMatrix - &quot;The Network&quot;</strong></div>
-<div style="font-size: 1.4em;">
-<a href="register" style="color: white; padding:10px; background-color: #c60032; border-radius: 10px;">M'inscrire!</a>
-<a href="donate" style="color: white; padding:10px; background-color: #c60032; border-radius: 10px;">Dons / Sponsors</a>
-</div>
-<div style="margin-top: 15px; margin-bottom: 15px;"><a href="pubsites">Hubs public</a> | <a href="https://redmatrix.me">Le Projet</a> | <a href="https://github.com/friendica/red">Source</a> | <a href="https://zothub.com/channel/one">Developpeurs</a></div>
-</div>
-
-<!-- NETHERLANDS TRANSLATIONS STARTS HERE -->
-
-<div lang="nl" class="wrapper" style="display: none;">
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-Een van de traditionele problemen met onafhankelijke internetpublicaties is dat onafhankelijke publicisten met hun eigen website op een geïsoleerd eilandje zitten. Mede hierdoor zijn ze veel tijd en geld kwijt aan het lokken van bezoekers. De opkomst van grote commerciële internetdiensten en sociale netwerken hebben veel van deze problemen verzacht. Het gecentraliseerde karakter van deze diensten heeft er echter voor gezorgd dat jouw publicaties en overige gegevens niet meer direct door jou beheerd worden. Dit wordt allemaal op grote schaal met online advertentiebedrijven en overheden gedeeld, maar ironisch genoeg moet er tegenwoordig wel betaald worden om jouw vrienden en volgers jouw werk te kunnen laten vinden. Wat nou als je de voordelen van gecentraliseerde diensten, zoals de schaal en het grote bereik, kunt combineren met het behoud van eigen beheer over jouw aanwezigheid op internet?
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-De RedMatrix is een supernetwerk bestaande uit een enorme hoeveelheid kleinere onafhankelijke en autonome websites, die aan elkaar gekoppeld een co&ouml;peratief publicatie en sociaal platform vormen. Het bestaat uit een opensource webapplicatie die een compleet <strong>gedecentraliseerd</strong> multi-user publicatie-, communicatie- en social media-systeem biedt, een “hub” geheten. Elke hub verzorgt de communicatie (privéberichten, chatten, bloggen, forums en een sociaal netwerk) en het mediabeheer (foto's, agenda, webpagina's en apps) voor zijn leden; alles in een functie-rijke omgeving. Deze hubs maken automatisch contact met elkaar en de rest van de matrix. Het individu blijft altijd directe controle houden over zijn/haar privacy en eigendom; en aan elk item in de gehele matrix kan aan wie dan ook toegang verleend of geweigerd worden.
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-Wat de Red Matrix uniek maakt is de zogenaamde “magische authenticatie”. Gebaseerd op ons baanbrekende werk in gedecentraliseerde identificatie. Geen enkel ander platform biedt deze mogelijkheid. Binnen de matrix zijn de grenzen tussen verschillende websites vervaagd of lijken ze niet meer te bestaan. Een identiteit is binnen de matrix niet statisch en kan zelfs een nomadenbestaan leiden. “Wie je bent” heeft niets te maken met “welke computerserver je verbonden bent” en de inhoud van webpagina's kan zich hierdoor aanpassen aan wie er naar kijkt. Je hebt de mogelijkheid om jouw “identiteit” naar andere hubs te klonen; waardoor je zonder onderbrekingen kan blijven communiceren met je vrienden, wanneer jouw primaire hub is uitgeschakeld (tijdelijk of permanent).
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-De RedMatrix is ideaal voor groepen mensen van welke omvang dan ook, van kleine groepen vrienden en families, tot online forums, zakenwebsites, en organisaties. Het kan door iedereen gebruikt worden die wil communiceren of internetpublicaties wil delen, maar de volledige controle wenst met wie zij willen communiceren en delen.<br />
-</div>
-<br />
-<div style="margin-bottom: 15px; color: #808080; font-size: 1.8em;"><strong>RedMatrix - &quot;The Network&quot;</strong></div>
-<div style="font-size: 1.4em;">
-<a href="register" style="color: white; padding:10px; background-color: #c60032; border-radius: 10px;">Meld je nu aan!</a>
-<a href="donate" style="color: white; padding:10px; background-color: #c60032; border-radius: 10px;">schenking</a>
-</div>
-<div style="margin-top: 15px; margin-bottom: 15px;"><a href="pubsites">Andere openbare hubs</a> | <a href="https://redmatrix.me">Projectwebsite</a> | <a href="https://github.com/friendica/red">Broncode</a> | <a href="https://zothub.com/channel/one">Ontwikkelaars</a></div>
-</div>
-
-<!-- SWEDISH FRONTPAGE TRANSLATION STARTS HERE -->
-
-<div lang="sv" class="wrapper" style="display: none;">
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-Ett av de vanliga problemen med oberoende publicering p&aring; n&auml;tet har alltid varit det faktum att oberoende f&ouml;rfattare ofta &auml;r isolerade fr&aring;n varandra p&aring; sin egen webbplats och l&auml;gger det mesta av energin p&aring; att locka och attrahera bes&ouml;kare. Uppkomsten av vinstdrivande tj&auml;nster och s&aring; kallade sociala n&auml;tverk erbj&ouml;d en l&ouml;sning till m&aring;nga av dessa problem. Centraliseringen som p&aring;g&aring;tt har dock lett till att ditt inneh&aring;ll inte l&auml;ngre &auml;r under din direkta kontroll. Det &auml;r delat fullt ut med vinstdrivande annons&ouml;rer och myndigheter, men ironiskt nog uppmanas du ofta att betala pengar f&ouml;r att s&auml;kerst&auml;lla att dina v&auml;nner kan se ditt inneh&aring;ll. F&ouml;rest&auml;ll dig en situation d&auml;r du har f&ouml;rdelarna av den skalbarhet, kontakt och spridning som centraliseringen typiskt erbjuder, samtidigt som du inte ger avkall p&aring; kontroll &ouml;ver din egen n&auml;rvaro p&aring; Internet.
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-RedMatrix &auml;r ett n&auml;tverk sammansatt av ett stort antal mindre, oberoende och sj&auml;lvst&auml;ndiga webbplatser, sammankopplade till en samverkande publicerings- och kommunikationsplattform. Mjukvaran best&aring;r av en webbapplikation sl&auml;ppt som &ouml;ppen k&auml;llkod, som tillhandah&aring;ller ett <strong>decentraliserat</strong> fleranv&auml;ndarsystem f&ouml;r kommunikation, publicering och delning, och n&auml;r den k&ouml;rs utg&ouml;r en nod i n&auml;tverket. Varje nod erbjuder s&aring;v&auml;l kommunikationsverktyg (privata meddelanden, chatt, blogg, forum och traditionellt socialt n&auml;tverkande) som filhantering (foton, kalenderh&auml;ndelser, filer, webbsidor, delbara till&auml;ggsprogram) f&ouml;r alla medlemmar; alltihop i en sammanh&aring;llen plattform. Dessa noder tar automatiskt kontakt med varandra och resten av n&auml;tverket. Sekretess och inneh&aring;llsstyrning &auml;r alltid under din direkta personliga kontroll, och beh&ouml;righet till inl&auml;gg eller filer kan ges eller nekas vem som helst i n&auml;tverket.
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-Det som g&ouml;r RedMatrix unikt &auml;r vad vi kallar "magisk fj&auml;rrinloggning" som &auml;r baserad p&aring; v&aring;rt banbrytande arbete med en decentraliserad identitetshantering. Ingen annan plattform vi k&auml;nner till erbjuder i dagsl&auml;get n&aring;got liknande. Inom n&auml;tverket &auml;r gr&auml;nserna mellan de olika noderna utsuddade eller till synes icke-existerande. En identitet i n&auml;tverket kan vara &ouml;verg&aring;ende och potentiellt nomadisk. "Vem du &auml;r" har inget att g&ouml;ra med "vilken dator du ansluter till inom n&auml;tverket" och webbsidornas inneh&aring;ll kan skapas s&aring; att det anpassar sig utifr&aring;n vem som tittar p&aring; det. Du har m&ouml;jlighet att "klona" din identitet till andra noder, vilket l&aring;ter dig forts&auml;tta att kommunicera med dina v&auml;nner utan avbrott om din prim&auml;ra nod skulle bli otillg&auml;nglig (tillf&auml;lligt eller permanent).
-</div>
-<br />
-<div class="tr" style="font-size: 1.4em; color: #666; margin-left: 75px; margin-right: 75px;">
-RedMatrix passar f&ouml;r grupper av alla storlekar - alltifr&aring;n privatpersoner och familjer till n&auml;tforum, f&ouml;retagswebbplatser och organisationer. Det kan anv&auml;ndas av alla som har inneh&aring;ll de &ouml;nskar dela med sig av och samtidigt ha full kontroll &ouml;ver vem de delar det med.
-</div>
-<br />
-<div style="margin-bottom: 15px; color: #808080; font-size: 1.8em;"><strong>RedMatrix - "N&auml;tverket"</strong></div>
-<div style="font-size: 1.4em;">
-<a href="register" style="color: white; padding:10px; background-color: #c60032; border-radius: 10px;">Registrera dig nu!</a>
-<a href="donate" style="color: white; padding:10px; background-color: #c60032; border-radius: 10px;">Ge ett bidrag / Sponsra</a>
-</div>
-<div style="margin-top: 15px; margin-bottom: 15px;"><a href="pubsites">Offentliga noder</a> | <a href="https://redmatrix.me">Projektets hemsida</a> | <a href="https://github.com/friendica/red">Kod</a> | <a href="https://zothub.com/channel/one">Utvecklare</a></div>
-</div>
-<!-- INSERT NEW TRANSLATIONS HERE -->
-
-<!-- DO NOT REMOVE THE 2 LINES BELOW -->
-</div>
-</center>
-
diff --git a/assets/logo_simplifiedap.png b/assets/logo_simplifiedap.png
deleted file mode 100644
index a49a9c12a..000000000
--- a/assets/logo_simplifiedap.png
+++ /dev/null
Binary files differ
diff --git a/assets/narrow.css b/assets/narrow.css
deleted file mode 100644
index dc47c6984..000000000
--- a/assets/narrow.css
+++ /dev/null
@@ -1,218 +0,0 @@
-body {
- font-family: 'Ubuntu',Tahoma,Helvetica,Arial,sans-serif;
- color: #111111;
- text-align: center;
- padding:0 0 22px 0;
-}
-
- div#header{
- position:absolute;
- z-index: 100;
- top:0;
- left:0;
- width:100%;
- height: 55px;
- background: rgba(100, 0, 0, 0.8);
- background-size:3000px 55px;
- color: #fff;
- display:none;
- }
-
- @media screen{
- body>div#header{
- position: fixed;
- }
- body>div#footer{
- position:fixed;
- }
-
- }
-
-
- div#footer{
- position:absolute;
- bottom:0;
- left:0;
- width:100%;
- height:22px;
- background: #AD002C;
- color: #fff;
-}
-
-#intro-text {
-color:#c60032;font-size:1.2em;width:70%;margin-right:auto;margin-left:auto;text-align:justify;
-}
-div.section-text {
-color:#c60032;font-size:1.2em;width:80%;margin-right:auto;margin-left:auto;text-align:justify;
-}
-
-#tagline {
- color: #c60032;
- width:80%;
- margin-top:0px;
- margin-bottom:20px;
- margin-left: auto;
- margin-right: auto;
-}
-
-div.red-button {
- width:150px;
- margin-left: auto;
- margin-right: auto;
- font-weight: 500;
- font-size: larger;
- background-color: #c60032;
- border: 2px solid lightgray;
- border-radius: 5px;
- padding: 12px;
-}
-div.red-button a {
- text-decoration: none;
- color:#FFFFFF;
-}
-div.red-button a:hover {
- text-decoration: none;
- font-weight:600;
-
-}
-
-#footer {
- font-size: 12px;
- color:#fff;
- padding-top: 4px;
-}
-
-#footer a {
- text-decoration: none;
- color:#fff;
-}
-.bg {
- display:none;
-}
-.bg2 {
- display:none;
-}
-.bg-mask {
- display:none;
-}
-
-#bg-narrow {
- background: url('diamondlattice.png') center center no-repeat ;
- opacity: 0.05;
- position:absolute;
- top:0;
- left:0;
- z-index: -1;
- width:100%;
- height:300%;
- display:none;
-}
-
-div.summary-nodes-container {
- display:none;
-}
-div.summary-menu-container {
- display:block;
-}
-a.summary-menu-item {
- display: block;
- width:70%;
- margin-left:auto;margin-right:auto;
- border-radius:10px;
- color:#FFFFFF;
- font-size:1.2em;
- text-align:center;
- background:#c60032;
- margin-bottom:5px;
-}
-a.summary-menu-item:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-
-
-div#menubutton1 {
- position: fixed;
- top:10px;
- left:200px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#c60032;
- display: none;
- z-index:200;
-}
-div#menubutton1:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton2 {
- position: fixed;
- top:10px;
- left:350px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#c60032;
- display: none;
- z-index:200;
-}
-div#menubutton2:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton3 {
- position: fixed;
- top:10px;
- right:350px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#c60032;
- display: none;
- z-index:200;
-}
-div#menubutton3:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton4 {
- position: fixed;
- top:10px;
- right:200px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#c60032;
- display: none;
- z-index:200;
-}
-div#menubutton4:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.section-heading {
- font-size:2.0em;
- color:#c60032;
-}
-div.section-subtitle {
- font-size:1.5em;
- color:#c60032;
-} \ No newline at end of file
diff --git a/assets/nb-no/diamondlattice.png b/assets/nb-no/diamondlattice.png
deleted file mode 100644
index f1ed7dbd0..000000000
--- a/assets/nb-no/diamondlattice.png
+++ /dev/null
Binary files differ
diff --git a/assets/nb-no/logo_simplifiedap.png b/assets/nb-no/logo_simplifiedap.png
deleted file mode 100644
index a49a9c12a..000000000
--- a/assets/nb-no/logo_simplifiedap.png
+++ /dev/null
Binary files differ
diff --git a/assets/nb-no/narrow.css b/assets/nb-no/narrow.css
deleted file mode 100644
index dc47c6984..000000000
--- a/assets/nb-no/narrow.css
+++ /dev/null
@@ -1,218 +0,0 @@
-body {
- font-family: 'Ubuntu',Tahoma,Helvetica,Arial,sans-serif;
- color: #111111;
- text-align: center;
- padding:0 0 22px 0;
-}
-
- div#header{
- position:absolute;
- z-index: 100;
- top:0;
- left:0;
- width:100%;
- height: 55px;
- background: rgba(100, 0, 0, 0.8);
- background-size:3000px 55px;
- color: #fff;
- display:none;
- }
-
- @media screen{
- body>div#header{
- position: fixed;
- }
- body>div#footer{
- position:fixed;
- }
-
- }
-
-
- div#footer{
- position:absolute;
- bottom:0;
- left:0;
- width:100%;
- height:22px;
- background: #AD002C;
- color: #fff;
-}
-
-#intro-text {
-color:#c60032;font-size:1.2em;width:70%;margin-right:auto;margin-left:auto;text-align:justify;
-}
-div.section-text {
-color:#c60032;font-size:1.2em;width:80%;margin-right:auto;margin-left:auto;text-align:justify;
-}
-
-#tagline {
- color: #c60032;
- width:80%;
- margin-top:0px;
- margin-bottom:20px;
- margin-left: auto;
- margin-right: auto;
-}
-
-div.red-button {
- width:150px;
- margin-left: auto;
- margin-right: auto;
- font-weight: 500;
- font-size: larger;
- background-color: #c60032;
- border: 2px solid lightgray;
- border-radius: 5px;
- padding: 12px;
-}
-div.red-button a {
- text-decoration: none;
- color:#FFFFFF;
-}
-div.red-button a:hover {
- text-decoration: none;
- font-weight:600;
-
-}
-
-#footer {
- font-size: 12px;
- color:#fff;
- padding-top: 4px;
-}
-
-#footer a {
- text-decoration: none;
- color:#fff;
-}
-.bg {
- display:none;
-}
-.bg2 {
- display:none;
-}
-.bg-mask {
- display:none;
-}
-
-#bg-narrow {
- background: url('diamondlattice.png') center center no-repeat ;
- opacity: 0.05;
- position:absolute;
- top:0;
- left:0;
- z-index: -1;
- width:100%;
- height:300%;
- display:none;
-}
-
-div.summary-nodes-container {
- display:none;
-}
-div.summary-menu-container {
- display:block;
-}
-a.summary-menu-item {
- display: block;
- width:70%;
- margin-left:auto;margin-right:auto;
- border-radius:10px;
- color:#FFFFFF;
- font-size:1.2em;
- text-align:center;
- background:#c60032;
- margin-bottom:5px;
-}
-a.summary-menu-item:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-
-
-div#menubutton1 {
- position: fixed;
- top:10px;
- left:200px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#c60032;
- display: none;
- z-index:200;
-}
-div#menubutton1:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton2 {
- position: fixed;
- top:10px;
- left:350px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#c60032;
- display: none;
- z-index:200;
-}
-div#menubutton2:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton3 {
- position: fixed;
- top:10px;
- right:350px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#c60032;
- display: none;
- z-index:200;
-}
-div#menubutton3:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton4 {
- position: fixed;
- top:10px;
- right:200px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#c60032;
- display: none;
- z-index:200;
-}
-div#menubutton4:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.section-heading {
- font-size:2.0em;
- color:#c60032;
-}
-div.section-subtitle {
- font-size:1.5em;
- color:#c60032;
-} \ No newline at end of file
diff --git a/assets/nb-no/theRedMatrix.pptx b/assets/nb-no/theRedMatrix.pptx
deleted file mode 100644
index b6b6a2680..000000000
--- a/assets/nb-no/theRedMatrix.pptx
+++ /dev/null
Binary files differ
diff --git a/assets/nb-no/uluru2.jpg b/assets/nb-no/uluru2.jpg
deleted file mode 100644
index d58fca390..000000000
--- a/assets/nb-no/uluru2.jpg
+++ /dev/null
Binary files differ
diff --git a/assets/nb-no/wide.css b/assets/nb-no/wide.css
deleted file mode 100644
index 77b7370a3..000000000
--- a/assets/nb-no/wide.css
+++ /dev/null
@@ -1,396 +0,0 @@
-body {
- font-family: 'Ubuntu',Tahoma,Helvetica,Arial,sans-serif;
- color: #111111;
- /*color: rgba(0,0,0,0.0); */
- text-align: center;
- /* background-image: url("redmatrixbkgd.jpg"); */
- /*background: #ececec;*/
- padding:0 0 22px 0;
- /* background: url(redmatrixbkgd.jpg) no-repeat center center scroll; */
- /*
- -webkit-background-size: cover;
- -moz-background-size: cover;
- -o-background-size: cover;
- background-size: cover;
- */
-}
-
-#intro-textl, #intro-textr {
-text-align: left; color:#444444;font-size:1.3em;
-}
-div.section-text {
-color:#C60032;font-size:1.2em;width:700px;margin-right:auto;margin-left:auto;text-align:justify;
-}
-
-
- div#header{
- display:none;
- position:absolute;
- z-index: 100;
- top:0;
- left:0;
- width:100%;
- height: 55px;
- /* background-image: url("redmatrixbkgd.jpg"); */
- background: rgba(198, 0, 50, 0.8);
- background-size:3000px 55px;
- /* background: #afafaf;*/
- color: #fff;
- }
- @media screen{
- body>div#header{
- position: fixed;
- }
- body>div#footer{
- position:fixed;
- }
-
- }
-
- div#footer{
- position:absolute;
- bottom:0;
- left:0;
- width:100%;
- height:22px;
- background: #AD002C;
- color: #fff;
- }
-
-
-
-#tagline {
- color: #880000;
-/* width:600px;
- margin-top:0px;
- margin-bottom:20px;
- margin-left: auto;
- margin-right: auto; */
-}
-
-
-.clear {
- clear: both;
-}
-
-div.red-button {
- width:150px;
- margin-left: auto;
- margin-right: auto;
- font-weight: 500;
- font-size: larger;
- background-color: #C60032;
- border: 2px solid lightgray;
- border-radius: 5px;
- padding: 12px;
-}
-div.red-button a {
- text-decoration: none;
- color:#FFFFFF;
-}
-div.red-button a:hover {
- text-decoration: none;
- font-weight:600;
-}
-
-#footer {
- font-size: 12px;
- color:#fff;
- padding-top: 4px;
-}
-
-#footer a {
- text-decoration: none;
- color:#fff;
-}
-
-.bg {
- background: url('diamondlattice.png') center center no-repeat ;
- position: fixed;
- width: 100%;
- height: 1350px;
-
- top:0px;
- left:0px;
- opacity: 1.0;
- z-index: -1;
-}
-.bg2 {
- background: url('diamondlattice.png') center center no-repeat;
- position: fixed;
-
- width: 100%;
- height: 1350px;
- top:0px;
- left:0px;
- opacity: 1.0;
- z-index: -1;
-}
-.bg-mask {
- background: rgba(255, 255, 255, 0.95) center center no-repeat;
- position: fixed;
- width: 100%;
- height: 1350px;
- top:0;
- left:0px;
- z-index: -1;
-
-}
-.bg-narrow {
- display:none;
-}
-div.summary-menu-container {
- display:none;
-}
-div.summary-node {
- position: fixed;
- width: 50px;
- text-align: center ;
- font-size:1.2em;
-
-
-}
-div.summary-node-header {
- font-size: 1.2em;
- color:#FFFFFF;
- font-weight:bold;
-}
-div.summary-node-1 {
- position: absolute;
- top:0px;
- left:0px;
- width:200px;
- height:200px;
- border-radius:100px;
- color:#CCCCCC;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-1:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-1-text {
- margin-top:25%;
- width: 150px;
- margin-left:auto;
- margin-right:auto;
-}
-div.summary-node-2 {
- position: absolute;
- top:50px;
- left:170px;
- width:220px;
- height:220px;
- border-radius:200px;
- color:#CCCCCC;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-2:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-2-text {
- margin-top:30%;
- width: 150px;
- margin-left:auto;
- margin-right:auto;
-}
-div.summary-node-3 {
- position: absolute;
- top:0px;
- right:20px;
- width:250px;
- height:250px;
- border-radius:200px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-3:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-3-text {
- margin-top:25%;
- width: 200px;
- margin-left:auto;
- margin-right:auto;
-}
-
-div.summary-node-4 {
- position: absolute;
- top:200px;
- right:180px;
- width:200px;
- height:200px;
- border-radius:200px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-4:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-4-text {
- margin-top:25%;
- width: 150px;
- margin-left:auto;
- margin-right:auto;
-}
-div.summary-node-5 {
- position: absolute;
- top:250px;
- left:120px;
- width:150px;
- height:150px;
- border-radius:150px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-5:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-5-text {
- margin-top:55px;
- width: 150px;
- margin-left:auto;
- margin-right:auto;
- font-size:2.0em;
-
-}
-div.summary-node-6 {
- position: absolute;
- top:20px;
- right:270px;
- width:150px;
- height:150px;
- border-radius:150px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-6:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-6-text {
- margin-top:30px;
- width: 100px;
- margin-left:auto;
- margin-right:auto;
-}
-div.summary-nodes-container {
- position: relative;
- margin-left: auto ;
- margin-right: auto ;
- margin-top:30px;
- margin-bottom:30px;
- width: 800px;
- height: 400px;
- text-align: center ;
-}
-div#menubutton1 {
- position: fixed;
- top:10px;
- left:200px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
- display: none;
- z-index:200;
-}
-div#menubutton1:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton2 {
- position: fixed;
- top:10px;
- left:350px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
- display: none;
- z-index:200;
-}
-div#menubutton2:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton3 {
- position: fixed;
- top:10px;
- right:350px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
- display: none;
- z-index:200;
-}
-div#menubutton3:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton4 {
- position: fixed;
- top:10px;
- right:200px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
- display: none;
- z-index:200;
-}
-div#menubutton4:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.section-heading {
- font-size:2.0em;
- color:#C60032;
- width:700px;
- margin-bottom: 1em;
- margin-left:auto;
- margin-right:auto;
-}
-div.section-subtitle {
- font-size:1.5em;
- color:#BB0000;
-} \ No newline at end of file
diff --git a/assets/theRedMatrix.pptx b/assets/theRedMatrix.pptx
deleted file mode 100644
index b6b6a2680..000000000
--- a/assets/theRedMatrix.pptx
+++ /dev/null
Binary files differ
diff --git a/assets/uluru2.jpg b/assets/uluru2.jpg
deleted file mode 100644
index d58fca390..000000000
--- a/assets/uluru2.jpg
+++ /dev/null
Binary files differ
diff --git a/assets/wide.css b/assets/wide.css
deleted file mode 100644
index 77b7370a3..000000000
--- a/assets/wide.css
+++ /dev/null
@@ -1,396 +0,0 @@
-body {
- font-family: 'Ubuntu',Tahoma,Helvetica,Arial,sans-serif;
- color: #111111;
- /*color: rgba(0,0,0,0.0); */
- text-align: center;
- /* background-image: url("redmatrixbkgd.jpg"); */
- /*background: #ececec;*/
- padding:0 0 22px 0;
- /* background: url(redmatrixbkgd.jpg) no-repeat center center scroll; */
- /*
- -webkit-background-size: cover;
- -moz-background-size: cover;
- -o-background-size: cover;
- background-size: cover;
- */
-}
-
-#intro-textl, #intro-textr {
-text-align: left; color:#444444;font-size:1.3em;
-}
-div.section-text {
-color:#C60032;font-size:1.2em;width:700px;margin-right:auto;margin-left:auto;text-align:justify;
-}
-
-
- div#header{
- display:none;
- position:absolute;
- z-index: 100;
- top:0;
- left:0;
- width:100%;
- height: 55px;
- /* background-image: url("redmatrixbkgd.jpg"); */
- background: rgba(198, 0, 50, 0.8);
- background-size:3000px 55px;
- /* background: #afafaf;*/
- color: #fff;
- }
- @media screen{
- body>div#header{
- position: fixed;
- }
- body>div#footer{
- position:fixed;
- }
-
- }
-
- div#footer{
- position:absolute;
- bottom:0;
- left:0;
- width:100%;
- height:22px;
- background: #AD002C;
- color: #fff;
- }
-
-
-
-#tagline {
- color: #880000;
-/* width:600px;
- margin-top:0px;
- margin-bottom:20px;
- margin-left: auto;
- margin-right: auto; */
-}
-
-
-.clear {
- clear: both;
-}
-
-div.red-button {
- width:150px;
- margin-left: auto;
- margin-right: auto;
- font-weight: 500;
- font-size: larger;
- background-color: #C60032;
- border: 2px solid lightgray;
- border-radius: 5px;
- padding: 12px;
-}
-div.red-button a {
- text-decoration: none;
- color:#FFFFFF;
-}
-div.red-button a:hover {
- text-decoration: none;
- font-weight:600;
-}
-
-#footer {
- font-size: 12px;
- color:#fff;
- padding-top: 4px;
-}
-
-#footer a {
- text-decoration: none;
- color:#fff;
-}
-
-.bg {
- background: url('diamondlattice.png') center center no-repeat ;
- position: fixed;
- width: 100%;
- height: 1350px;
-
- top:0px;
- left:0px;
- opacity: 1.0;
- z-index: -1;
-}
-.bg2 {
- background: url('diamondlattice.png') center center no-repeat;
- position: fixed;
-
- width: 100%;
- height: 1350px;
- top:0px;
- left:0px;
- opacity: 1.0;
- z-index: -1;
-}
-.bg-mask {
- background: rgba(255, 255, 255, 0.95) center center no-repeat;
- position: fixed;
- width: 100%;
- height: 1350px;
- top:0;
- left:0px;
- z-index: -1;
-
-}
-.bg-narrow {
- display:none;
-}
-div.summary-menu-container {
- display:none;
-}
-div.summary-node {
- position: fixed;
- width: 50px;
- text-align: center ;
- font-size:1.2em;
-
-
-}
-div.summary-node-header {
- font-size: 1.2em;
- color:#FFFFFF;
- font-weight:bold;
-}
-div.summary-node-1 {
- position: absolute;
- top:0px;
- left:0px;
- width:200px;
- height:200px;
- border-radius:100px;
- color:#CCCCCC;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-1:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-1-text {
- margin-top:25%;
- width: 150px;
- margin-left:auto;
- margin-right:auto;
-}
-div.summary-node-2 {
- position: absolute;
- top:50px;
- left:170px;
- width:220px;
- height:220px;
- border-radius:200px;
- color:#CCCCCC;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-2:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-2-text {
- margin-top:30%;
- width: 150px;
- margin-left:auto;
- margin-right:auto;
-}
-div.summary-node-3 {
- position: absolute;
- top:0px;
- right:20px;
- width:250px;
- height:250px;
- border-radius:200px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-3:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-3-text {
- margin-top:25%;
- width: 200px;
- margin-left:auto;
- margin-right:auto;
-}
-
-div.summary-node-4 {
- position: absolute;
- top:200px;
- right:180px;
- width:200px;
- height:200px;
- border-radius:200px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-4:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-4-text {
- margin-top:25%;
- width: 150px;
- margin-left:auto;
- margin-right:auto;
-}
-div.summary-node-5 {
- position: absolute;
- top:250px;
- left:120px;
- width:150px;
- height:150px;
- border-radius:150px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-5:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-5-text {
- margin-top:55px;
- width: 150px;
- margin-left:auto;
- margin-right:auto;
- font-size:2.0em;
-
-}
-div.summary-node-6 {
- position: absolute;
- top:20px;
- right:270px;
- width:150px;
- height:150px;
- border-radius:150px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
-}
-div.summary-node-6:hover{
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.summary-node-6-text {
- margin-top:30px;
- width: 100px;
- margin-left:auto;
- margin-right:auto;
-}
-div.summary-nodes-container {
- position: relative;
- margin-left: auto ;
- margin-right: auto ;
- margin-top:30px;
- margin-bottom:30px;
- width: 800px;
- height: 400px;
- text-align: center ;
-}
-div#menubutton1 {
- position: fixed;
- top:10px;
- left:200px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
- display: none;
- z-index:200;
-}
-div#menubutton1:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton2 {
- position: fixed;
- top:10px;
- left:350px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
- display: none;
- z-index:200;
-}
-div#menubutton2:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton3 {
- position: fixed;
- top:10px;
- right:350px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
- display: none;
- z-index:200;
-}
-div#menubutton3:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div#menubutton4 {
- position: fixed;
- top:10px;
- right:200px;
- width:150px;
- height:30px;
- border-radius:10px;
- color:#FFFFFF;
- /* line-height:100px; */
- text-align:center;
- background:#C60032;
- display: none;
- z-index:200;
-}
-div#menubutton4:hover {
- color:#FFFFFF;
- text-decoration:none;
- background:#550000
-}
-div.section-heading {
- font-size:2.0em;
- color:#C60032;
- width:700px;
- margin-bottom: 1em;
- margin-left:auto;
- margin-right:auto;
-}
-div.section-subtitle {
- font-size:1.5em;
- color:#BB0000;
-} \ No newline at end of file
diff --git a/boot.php b/boot.php
index 3423ef85c..e7ed7dcee 100755
--- a/boot.php
+++ b/boot.php
@@ -5,14 +5,14 @@
*/
/**
- * Red Matrix.
+ * Hubzilla.
*
- * The Red Matrix (aka "Red") is an open source decentralised communications
+ * Hubzilla is an open source decentralised communications
* platform combined with a decentralised identity/authentication framework
* wrapped in an extensible content management system, providing website designers
* the ability to embed fully decentralised communications and social tools
* into many traditional website designs (blogs, forums, small business
- * websites, charitable organisations, etc.). Red also provides DNS mobility
+ * websites, charitable organisations, etc.). Hubzilla also provides DNS mobility
* and internet scale privacy/access control.
*
* This allows any individual website to participate in a matrix of linked
@@ -43,10 +43,11 @@ require_once('include/taxonomy.php');
require_once('include/identity.php');
require_once('include/Contact.php');
require_once('include/account.php');
+require_once('include/AccessList.php');
-define ( 'PLATFORM_NAME', 'redmatrix' );
-define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R');
+define ( 'PLATFORM_NAME', 'hubzilla' );
+define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'H');
define ( 'ZOT_REVISION', 1 );
define ( 'DB_UPDATE_VERSION', 1151 );
@@ -229,15 +230,16 @@ define ( 'PAGE_REMOVED', 0x8000 );
/**
- * Photo types
+ * Photo usage types
*/
define ( 'PHOTO_NORMAL', 0x0000 );
define ( 'PHOTO_PROFILE', 0x0001 );
define ( 'PHOTO_XCHAN', 0x0002 );
define ( 'PHOTO_THING', 0x0004 );
-define ( 'PHOTO_ADULT', 0x0008 );
+define ( 'PHOTO_COVER', 0x0010 );
+define ( 'PHOTO_ADULT', 0x0008 );
define ( 'PHOTO_FLAG_OS', 0x4000 );
/**
@@ -398,36 +400,6 @@ define ( 'VNOTIFY_INTRO', 0x0200 );
define ( 'VNOTIFY_REGISTER', 0x0400 );
-// We need a flag to designate that a site is a
-// global directory mirror, but probably doesn't
-// belong in hubloc.
-// This indicates a need for an 'xsite' table
-// which contains only sites and not people.
-// Then we might have to revisit hubloc as a
-// linked structure between xchan and xsite
-
-define ( 'HUBLOC_FLAGS_PRIMARY', 0x0001);
-define ( 'HUBLOC_FLAGS_UNVERIFIED', 0x0002);
-define ( 'HUBLOC_FLAGS_ORPHANCHECK', 0x0004);
-define ( 'HUBLOC_FLAGS_DELETED', 0x1000);
-
-define ( 'XCHAN_FLAGS_NORMAL', 0x0000);
-define ( 'XCHAN_FLAGS_HIDDEN', 0x0001);
-define ( 'XCHAN_FLAGS_ORPHAN', 0x0002);
-define ( 'XCHAN_FLAGS_CENSORED', 0x0004);
-define ( 'XCHAN_FLAGS_SELFCENSORED', 0x0008);
-define ( 'XCHAN_FLAGS_SYSTEM', 0x0010);
-define ( 'XCHAN_FLAGS_PUBFORUM', 0x0020);
-define ( 'XCHAN_FLAGS_DELETED', 0x1000);
-/*
- * Traficlights for Administration of HubLoc
- * to detect problems in inter server communication
- */
-define ('HUBLOC_NOTUSED', 0x0000);
-define ('HUBLOC_SEND_ERROR', 0x0001);
-define ('HUBLOC_RECEIVE_ERROR', 0x0002);
-define ('HUBLOC_WORKS', 0x0004);
-define ('HUBLOC_OFFLINE', 0x0008);
/**
* Tag/term types
@@ -442,6 +414,7 @@ define ( 'TERM_FILE', 5 );
define ( 'TERM_SAVEDSEARCH', 6 );
define ( 'TERM_THING', 7 );
define ( 'TERM_BOOKMARK', 8 );
+define ( 'TERM_HIERARCHY', 9 );
define ( 'TERM_OBJ_POST', 1 );
define ( 'TERM_OBJ_PHOTO', 2 );
@@ -451,6 +424,7 @@ define ( 'TERM_OBJ_OBJECT', 5 );
define ( 'TERM_OBJ_THING', 6 );
define ( 'TERM_OBJ_APP', 7 );
+
/**
* various namespaces we may need to parse
*/
@@ -549,41 +523,26 @@ define ( 'ACCOUNT_ROLE_ADMIN', 0x1000 );
*/
define ( 'ITEM_VISIBLE', 0x0000);
-define ( 'ITEM_HIDDEN', 0x0001);
+//define ( 'ITEM_HIDDEN', 0x0001);
define ( 'ITEM_BLOCKED', 0x0002);
define ( 'ITEM_MODERATED', 0x0004);
define ( 'ITEM_SPAM', 0x0008);
-define ( 'ITEM_DELETED', 0x0010);
+//define ( 'ITEM_DELETED', 0x0010);
define ( 'ITEM_UNPUBLISHED', 0x0020);
-define ( 'ITEM_WEBPAGE', 0x0040); // is a static web page, not a conversational item
+//define ( 'ITEM_WEBPAGE', 0x0040); // is a static web page, not a conversational item
define ( 'ITEM_DELAYED_PUBLISH', 0x0080);
define ( 'ITEM_BUILDBLOCK', 0x0100); // Named thusly to make sure nobody confuses this with ITEM_BLOCKED
-define ( 'ITEM_PDL', 0x0200); // Page Description Language - e.g. Comanche
+//define ( 'ITEM_PDL', 0x0200); // Page Description Language - e.g. Comanche
define ( 'ITEM_BUG', 0x0400); // Is a bug, can be used by the internal bug tracker
define ( 'ITEM_PENDING_REMOVE', 0x0800); // deleted, notification period has lapsed
define ( 'ITEM_DOC', 0x1000); // hubzilla only, define here so that item import does the right thing
-/**
- * Item Flags
- */
-
-define ( 'ITEM_ORIGIN', 0x0001);
-define ( 'ITEM_UNSEEN', 0x0002);
-define ( 'ITEM_STARRED', 0x0004);
-define ( 'ITEM_UPLINK', 0x0008);
-define ( 'ITEM_CONSENSUS', 0x0010); // an item which may present agree/disagree/abstain options
-define ( 'ITEM_WALL', 0x0020);
-define ( 'ITEM_THREAD_TOP', 0x0040);
-define ( 'ITEM_NOTSHOWN', 0x0080); // technically visible but not normally shown (e.g. like/dislike)
-define ( 'ITEM_NSFW', 0x0100);
-define ( 'ITEM_RELAY', 0x0200); // used only in the communication layers, not stored
-define ( 'ITEM_MENTIONSME', 0x0400);
-define ( 'ITEM_NOCOMMENT', 0x0800); // commenting/followups are disabled
-define ( 'ITEM_OBSCURED', 0x1000); // bit-mangled to protect from casual browsing by site admin
-define ( 'ITEM_VERIFIED', 0x2000); // Signature verification was successful
-define ( 'ITEM_RETAINED', 0x4000); // We looked at this item once to decide whether or not to expire it, and decided not to.
-define ( 'ITEM_RSS', 0x8000); // Item comes from a feed. Use this to decide whether to link the title
- // Don't make us evaluate this same item again.
+define ( 'ITEM_TYPE_POST', 0 );
+define ( 'ITEM_TYPE_BLOCK', 1 );
+define ( 'ITEM_TYPE_PDL', 2 );
+define ( 'ITEM_TYPE_WEBPAGE', 3 );
+define ( 'ITEM_TYPE_BUG', 4 );
+define ( 'ITEM_TYPE_DOC', 5 );
define ( 'DBTYPE_MYSQL', 0 );
define ( 'DBTYPE_POSTGRES', 1 );
@@ -758,7 +717,6 @@ class App {
set_include_path(
'include' . PATH_SEPARATOR
. 'library' . PATH_SEPARATOR
- . 'library/phpsec' . PATH_SEPARATOR
. 'library/langdet' . PATH_SEPARATOR
. '.' );
@@ -842,7 +800,7 @@ class App {
$this->is_mobile = $mobile_detect->isMobile();
$this->is_tablet = $mobile_detect->isTablet();
- $this->head_set_icon('/images/rm-32.png');
+ $this->head_set_icon('/images/hz-32.png');
BaseObject::set_app($this);
@@ -1097,18 +1055,7 @@ class App {
}
function set_template_engine($engine = 'smarty3') {
-
$this->theme['template_engine'] = $engine;
-
- /*if ($engine) {
- case 'smarty3':
- if(!is_writable(TEMPLATE_BUILD_PATH))
- echo "<b>ERROR</b> folder <tt>" . TEMPLATE_BUILD_PATH . "</tt> must be writable by webserver."; killme();
-
- break;
- default:
- break;
- }*/
}
function get_template_ldelim($engine = 'smarty3') {
@@ -1522,7 +1469,7 @@ function login($register = false, $form_id = 'main-login', $hiddens=false) {
$reglink = 'register';
$reg = array(
- 'title' => t('Create an account to access services and applications within the Red Matrix'),
+ 'title' => t('Create an account to access services and applications within the Hubzilla'),
'desc' => t('Register'),
'link' => (($register) ? $reglink : 'pubsites')
);
@@ -2043,6 +1990,11 @@ function load_pdl(&$a) {
require_once('include/comanche.php');
if (! count($a->layout)) {
+
+ $arr = array('module' => $a->module, 'layout' => '');
+ call_hooks('load_pdl',$arr);
+ $s = $arr['layout'];
+
$n = 'mod_' . $a->module . '.pdl' ;
$u = comanche_get_channel_id();
if($u)
@@ -2055,6 +2007,7 @@ function load_pdl(&$a) {
$a->pdl = $s;
}
}
+
}
@@ -2190,7 +2143,7 @@ function construct_page(&$a) {
}
/**
- * @brief Returns RedMatrix's root directory.
+ * @brief Returns Hubzilla's root directory.
*
* @return string
*/
@@ -2298,7 +2251,7 @@ function z_check_cert() {
/**
* @brief Send email to admin if server has an invalid certificate.
*
- * If a RedMatrix hub is available over https it must have a publicly valid
+ * If a Hubzilla hub is available over https it must have a publicly valid
* certificate.
*/
function cert_bad_email() {
@@ -2312,7 +2265,7 @@ function cert_bad_email() {
'$error' => t('Website SSL certificate is not valid. Please correct.')
));
- $subject = email_header_encode(sprintf(t('[red] Website SSL error for %s'), $a->get_hostname()));
+ $subject = email_header_encode(sprintf(t('[hubzilla] Website SSL error for %s'), $a->get_hostname()));
mail($a->config['system']['admin_email'], $subject, $email_msg,
'From: Administrator' . '@' . $a->get_hostname() . "\n"
. 'Content-type: text/plain; charset=UTF-8' . "\n"
@@ -2353,7 +2306,7 @@ function check_cron_broken() {
'$lastdate' => (($d)? $d : t('never'))
));
- $subject = email_header_encode(sprintf(t('[red] Cron tasks not running on %s'), $a->get_hostname()));
+ $subject = email_header_encode(sprintf(t('[hubzilla] Cron tasks not running on %s'), $a->get_hostname()));
mail($a->config['system']['admin_email'], $subject, $email_msg,
'From: Administrator' . '@' . $a->get_hostname() . "\n"
. 'Content-type: text/plain; charset=UTF-8' . "\n"
diff --git a/doc/Comparison-of-activity-stream-networks.md b/doc/Comparison-of-activity-stream-networks.md
index 9d8972d7c..d76ae1006 100644
--- a/doc/Comparison-of-activity-stream-networks.md
+++ b/doc/Comparison-of-activity-stream-networks.md
@@ -4,7 +4,7 @@ The goal of this table was to provide an overview of the security and privacy pr
| project | license | distributed | supports node isolation | server-to-server encryption | 1-click E2EE* | database encryption sceme | supports cloning[^5] | encryption of private messages | PFS chat | wall-to-wall interaction | supports post editing and unsend private message | other |
|-----------+---------------+-------------+-------------------------+-------------------------------------------+------------------------------------------+-----------------------------------------------------+-------------------------+-------------------------------------------------------------------------------------------------+-----------------------------------------------+--------------------------------------------------------------+--------------------------------------------------+------------------------------------------------------------------------------|
-| redmatrix | ISC aka MIT | yes | yes | Zot (PKI) + TLS | yes (via JavaScript, AES-256) | content obfuscation, private keys hidden in the DB. | yes, partly implemented | impossible to message privately in plaintext | no | yes, multiple separated channels possible within one account | yes | privacy built in, run your own @ home, nodes are called hubs |
+| hubzilla | ISC aka MIT | yes | yes | Zot (PKI) + TLS | yes (via JavaScript, AES-256) | content obfuscation, private keys hidden in the DB. | yes, partly implemented | impossible to message privately in plaintext | no | yes, multiple separated channels possible within one account | yes | privacy built in, run your own @ home, nodes are called hubs |
| diaspora | AGPLv3orlater | yes | no[^1] | PKI + SSL/TLS[^1] | no[^2] | mostly plaintext | no | ? | no | yes, no naming policy | no | nodes are called pods |
| facebook | proprietary | no | no | planned, probably not implemented yet[^3] | implemented but not offered to users[^4] | unknown | no, walled garden | no, 3-d party plugin Cryptocat and pidgin is availiable but the user is not informed about this | no, with Cryptocat: yes, with pidgin+OTR: yes | only one wall allowed | only post editing | "real name"-policy enforced, advertising-driven, for profit company US-based |
| twitter | proprietary | no | no | unknown | no | unknown, probably none | no, walled garden | no | no | yes | only post editing | advertising-driven, for profit company US-based |
@@ -20,4 +20,4 @@ This table was edited with emacs using org-mode.
[^4]: http://www.computerworld.com/article/2488773/cybercrime-hacking/facebook-holds-back-on-end-to-end-encryption.html
-[^5]: see the redmatrix help files for details about this feature.
+[^5]: see the hubzilla help files for details about this feature.
diff --git a/doc/Developers.md b/doc/Developers.md
index e6f113bca..b19b4fc2f 100644
--- a/doc/Developers.md
+++ b/doc/Developers.md
@@ -1,4 +1,4 @@
-Red Developer Guide
+Developer Guide
===================
**Here is how you can join us.**
@@ -8,7 +8,7 @@ doing development.
Create your own github account.
-You may fork/clone the Red repository from [https://github.com/redmatrix/redmatrix.git](https://github.com/redmatrix/redmatrix.git).
+You may fork/clone the Red repository from [https://github.com/redmatrix/hubzilla.git](https://github.com/redmatrix/hubzilla.git).
Follow the instructions provided here: [http://help.github.com/fork-a-repo/](http://help.github.com/fork-a-repo/)
to create and use your own tracking fork on github
diff --git a/doc/Plugins.md b/doc/Plugins.md
index f92f4c3f2..90ff0fb7d 100644
--- a/doc/Plugins.md
+++ b/doc/Plugins.md
@@ -1,3 +1,4 @@
+
Creating Plugins/Addons for the $Projectname
==========================================
@@ -7,6 +8,7 @@ So you want to make the $Projectname do something it doesn't already do. There a
In your $Projectname folder/directory, you will probably see a sub-directory called 'addon'. If you don't have one already, go ahead and create it.
+
mkdir addon
Then figure out a name for your addon. You probably have at least a vague idea of what you want it to do. For our example I'm going to create a plugin called 'randplace' that provides a somewhat random location for each of your posts. The name of your plugin is used to find the functions we need to access and is part of the function names, so to be safe, use only simple text characters.
@@ -99,8 +101,8 @@ Let's go ahead and add some code to implement our post_local hook handler.
if(local_channel() != $item['uid']) /* Does this person own the post? */
return;
- if(($item['parent']) || ($item['item_restrict'])) {
- /* If the item has a parent, or item_restrict is non-zero, this is a comment or something else, not a status post. */
+ if(($item['parent']) || (! is_item_normal($item))) {
+ /* If the item has a parent, or isn't "normal", this is a comment or something else, not a status post. */
return;
}
diff --git a/doc/Primary-Directory b/doc/Primary-Directory.md
index 37b0c0431..37b0c0431 100644
--- a/doc/Primary-Directory
+++ b/doc/Primary-Directory.md
diff --git a/doc/Privacy.md b/doc/Privacy.md
index fd6df6315..ff5eac181 100644
--- a/doc/Privacy.md
+++ b/doc/Privacy.md
@@ -1,25 +1,28 @@
-#Privacy Policy
+Privacy Policy
+==============
+
+
+##Summary##
-##Summary
Q: Who can see my content?
-A: By default ANYBODY on the internet, UNLESS you restrict it. The $Projectname allows you to choose the privacy level you desire. Restricted content will NOT be visible to spy networks and their advertisers. It will be protected against eavesdropping by outsiders - to the best of our ability. Hub administrators with sufficient skills and patience MAY be able to eavesdrop on some private communications but they must expend effort to do so. Privacy modes exist within the $Projectname which are even resistant to eavesdropping by skilled and determined hub administrators.
+A: By default ANYBODY on the internet, UNLESS you restrict it. $Projectname allows you to choose the privacy level you desire. Restricted content will NOT be visible to "spy networks" and advertisers. It will be protected against eavesdropping by outsiders - to the best of our ability. Hub administrators with sufficient skills and patience MAY be able to eavesdrop on some private communications but they must expend effort to do so. Privacy modes exist within $Projectname which are even resistant to eavesdropping by skilled and determined hub administrators.
Q: Can my content be censored?
-A: The $Projectname (the network) CANNOT censor your content. Server and hub administrators are subject to local laws and MAY remove objectionable content from their site/hub. Anybody MAY become a hub administrator, including you; and therefore publish content which might otherwise be censored. You still MAY be subject to local laws.
+A: $Projectname (the network) CANNOT censor your content. Server and hub administrators are subject to local laws and MAY remove objectionable content from their site/hub. Anybody MAY become a hub administrator, including you; and therefore publish content which might otherwise be censored. You still MAY be subject to local laws.
##Definitions
**$Projectname**
-Otherwise referred to as "the network", the $Projectname is a collection of individual computers/servers (aka **hubs**) which connect together to form a larger cooperative network.
+Otherwise referred to as "the network", $Projectname is a collection of individual computers/servers (aka **hubs**) which connect together to form a larger cooperative network.
**hub**
-An individual computer or server connected to the $Projectname. These are provided by a **hub administrator** and may be public or private, paid or free.
+An individual computer or server connected to $Projectname. These are provided by a **hub administrator** and may be public or private, paid or free.
**hub administrator**
@@ -29,7 +32,7 @@ The system operator of an individual hub.
**Public Information**
-Any information or anything posted by you within the $Projectname MAY be public or visible to anybody on the internet. To the extent possible, the $Projectname allows you to protect content and restrict who can view it.
+Any information or anything posted by you within $Projectname MAY be public or visible to anybody on the internet. To the extent possible, $Projectname allows you to protect content and restrict who can view it.
Your profile photo, your channel name, and the location (URL or network address) of your channel are visible to anybody on the internet and privacy controls will not affect the display of these items.
@@ -37,7 +40,7 @@ You MAY additionally provide other profile information. Any information which yo
**Content**
-Content you provide (status posts, photos, files, etc.) belongs to you. The $Projectname default is to publish content openly and visible to anybody on the internet (PUBLIC). You MAY control this in your channel settings and restrict the default permissions or you MAY restrict the visibility of any single published item separately (PRIVATE). The $Projectname developers will ensure that restricted content is ONLY visible to those in the restriction list - to the best of their ability.
+Content you provide (status posts, photos, files, etc.) belongs to you. The $Projectname default is to publish content openly and visible to anybody on the internet (PUBLIC). You MAY control this in your channel settings and restrict the default permissions or you MAY restrict the visibility of any single published item separately (PRIVATE). $Projectname developers will ensure that restricted content is ONLY visible to those in the restriction list - to the best of their ability.
Content (especially status posts) that you share with other networks or that you have made visible to anybody on the internet (PUBLIC) cannot easily be taken back once it has been published. It MAY be shared with other networks and made available through RSS/Atom feeds. It may also be syndicated on other $Projectname sites. It MAY appear on spy networks and internet searches. If you do not wish this default behaviour please adjust your channel settings and restrict who can see your content.
@@ -48,25 +51,27 @@ Comments to posts that were created by others and posts which are designated as
**Private Information**
-$Projectname developers will ensure that any content you provide which is designated as PRIVATE will be protected against eavesdropping - to the best of their ability. Private content is generally hidden or obscured even from hub administrators. It is also stripped from email notifications. It is difficult but NOT impossible for this content to be seen by a hub administrator. This is a side effect of the physical laws of the universe. Unfortunately, if a database needs to decrypt a post at display time, it must have the means to decrypt the post! End to end encryption is also provided and this CANNOT be seen, even by a determined administrator.
+$Projectname developers will ensure that any content you provide which is designated as PRIVATE will be protected against eavesdropping - to the best of their ability. Private content is generally hidden or obscured even from hub administrators. It is also stripped from email notifications. It is difficult but NOT impossible for this content to be seen by a hub administrator. End to end encryption is provided as an optional feature and this CANNOT be seen, even by a determined administrator.
##Identity Privacy
-Privacy for your identity is another aspect. Because you have a decentralized identity in the $Projectname, your privacy extends beyond your home hub. If you want to have complete control of your privacy and security you should run your own hub on a dedicated server. For many people, this is complicated and may stretch their technical abilities. So let's list a few precautions you can make to assure your privacy as much as possible.
+Privacy for your identity is another aspect. Because you have a decentralized identity in $Projectname, your privacy extends beyond your home hub. If you want to have complete control of your privacy and security you should run your own hub on a dedicated server. For many people, this is complicated and may stretch their technical abilities. So let's list a few precautions you can make to assure your privacy as much as possible.
A decentralized identity has a lot of advantages and gives you al lot of interesting features, but you should be aware of the fact that your identity is known by other hubs in the $Projectname network. One of those advantages is that other channels can serve you customized content and allow you to see private things (such as private photos which others wish to share with you). Because of this those channels need to know who you are. But we understand that sometimes those other channels know more from you than you might desire. For instance the plug-in Visage that can tell a channel owner the last time you visit their profile. You can easily OPT-OUT of this low level and we think, harmless tracking.
-* You can enable [Do Not Track (DNT)](http://donottrack.us/) in your web browser. We respect this new privacy policy proposal. All modern browsers support DNT. You will find it in the privacy settings of your browsers or else you can consult the web browser's manual. This will not affect the functionality of the $Projectname. This setting is probably enough for most people.
+* You can enable [Do Not Track (DNT)](http://donottrack.us/) in your web browser. We respect this new privacy policy proposal. All modern browsers support DNT. You will find it in the privacy settings of your browsers or else you can consult the web browser's manual. This will not affect the functionality of $Projectname. This setting is probably enough for most people.
+
*You can [disable publication](settings) of your channel in our channel directory. If you want people to find your channel, you should give your channel address directly to them. We think this is a good indication that you prefer extra privacy and automatically enable "Do Not Track" if this is the case.
+
* You can have a blocked hub. That means that all channels and content on that hub is not public, and not visible to the outside world. This is something only your hub administrator can do. We also respect this and automatically enable "Do Not Track" if it is set.
###Censorship
-The $Projectname is a global network which is inclusive of all religions and cultures. This does not imply that every member of the network feels the same way you do on contentious issues, and some people may be STRONGLY opposed to the content you post. In general, if you wish to post something that you know may nor be universally acceptable, the best approach is to restrict the audience using privacy controls to a small circle of friends.
+$Projectname is a global network which is inclusive of all religions and cultures. This does not imply that every member of the network feels the same way you do on contentious issues, and some people may be STRONGLY opposed to the content you post. In general, if you wish to post something that you know may nor be universally acceptable, the best approach is to restrict the audience using privacy controls to a small circle of friends.
-The $Projectname as a network provider is unable to censor content. However, hub administrators MAY censor any content which appears on their hub to comply with local laws or even personal judgement. Their decision is final. If you have issues with any hub administrator, you may move your account and postings to another site which is more in line with your expectations. Please check (periodically) the [Terms of Service](help/TermsOfService) of your hub to learn about any rules or guidelines. If your content consists of material which is illegal or may cause issues, you are STRONGLY encouraged to host your own (become a hub administrator). You may still find that your content is blocked on some hubs, but the $Projectname as a network cannot block it from being posted.
+$Projectname as a network provider is unable to censor content. However, hub administrators MAY censor any content which appears on their hub to comply with local laws or even personal judgement. Their decision is final. If you have issues with any hub administrator, you may move your account and postings to another site which is more in line with your expectations. Please check (periodically) the [Terms of Service](help/TermsOfService) of your hub to learn about any rules or guidelines. If your content consists of material which is illegal or may cause issues, you are STRONGLY encouraged to host your own (become a hub administrator). You may still find that your content is blocked on some hubs, but $Projectname as a network cannot block it from being posted.
-The $Projectname RECOMMENDS that hub administrators provide a grace period of 1-2 days between warning an account holder of content that needs to be removed and physically removing or disabling the account. This will give the content owner an opportunity to export their channel meta-data and import it to another site. In rare cases the content may be of such a nature to justify the immediate termination of the account. This is a hub decision, not a $Projectname decision.
+$Projectname RECOMMENDS that hub administrators provide a grace period of 1-2 days between warning an account holder of content that needs to be removed and physically removing or disabling the account. This will give the content owner an opportunity to export their channel meta-data and import it to another site. In rare cases the content may be of such a nature to justify the immediate termination of the account. This is a hub decision, not a $Projectname decision.
If you typically and regularly post content of an adult or offensive nature, you are STRONGLY encouraged to mark your account "NSFW" (Not Safe For Work). This will prevent the display of your profile photo in the directory except to viewers that have chosen to disable "safe mode". If your profile photo is found by directory administrators to be adult or offensive, the directory administrator MAY flag your profile photo as NSFW. There is currently no official mechanism to contest or reverse this decision, which is why you SHOULD mark your own account NSFW if it is likely to be inappropriate for general audiences.
diff --git a/doc/README.md b/doc/README.md
index 68183577e..90585a906 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -1,11 +1,42 @@
-![the $Projectname](images/rm-480x115.png)
-The $Projectname (aka "red") is an open source webapp platform providing a complete **decentralised** publishing, sharing, and communications system. It combines communications (private messaging, chat and social networking), and media management (photos, events, files, web pages, app distribution) with enough features to make your head spin.
+Hubzilla
+========
-What makes the $Projectname unique is what we call "magic authentication" - which is based on our groundbreaking work in decentralised identity services. This ties all $Projectname sites and channels together into a single super-network where the boundaries between different websites are blurred or seemingly non-existent; where "who you are" has nothing to do with "what computer you're connected to", and where website content can adapt itself according to who is viewing it.
+###Websites. Redefined.
-Warning: After experiencing magic authentication and nomadic identity, you may find it disconcerting and a bit "primitive" to go back to the old internet. You shouldn't need hundreds of different passwords to use the web ... or be totally isolated from your friends and family because a server or router in another country is having "*issues*".
-For the average person, the biggest advantage of decentralised identity is that you decide who you want to share your stuff with, and if somebody isn't on your list, they're not going to see it. It's all under your control (we're big on privacy). Use the $Projectname as a social network or a business website or for personal cloud storage or media publishing - or any number of other uses; limited only by your imagination.
-
-The $Projectname is free and open source distributed under the MIT license.
+![Hubzilla](images/ghash-32.png)
+
+**What are Hubs?**
+
+Hubs are independent general-purpose websites that not only connect with their associated members and viewers, but also connect together to exchange personal communications and other information with each other.
+This allows hub members on any hub to securely and privately share anything; with anybody, on any hub - anywhere; or share stuff publicly with anybody on the internet if desired.
+
+**Hubzilla** is the server software which makes this possible. It is a sophisticated and unique combination of an open source content management system and a decentralised identity, communications, and permissions framework and protocol suite, built using common webserver technology (PHP/MySQL/Apache, although Mariadb or Postgres and Nginx could also be used - we're pretty easy). The end result is a level of systems integration, privacy control, and communications features that you wouldn't think are possible in either a content management system or a decentralised communications network. It also brings a new level of cooperation and privacy to the web and introduces the concept of personally owned "single sign-on" to web services across the entire internet.
+
+Hubzilla hubs are
+
+* decentralised
+* inherently social
+* optionally inter-networked with other hubs
+* privacy-enabled (privacy exclusions work across the entire internet to any registered identity on any compatible hubs)
+
+Possible website applications include
+
+* decentralised social networking nodes
+* personal cloud storage
+* file dropboxes
+* managing organisational communications and activities
+* collaboration and community decision-making
+* small business websites
+* public and private media/file libraries
+* blogs
+* event promotion
+* feed aggregation and republishing
+* forums
+* dating websites
+* pretty much anything you can do on a traditional blog or community website, but that you could do better if you could easily connect it with other websites or privately share things across website boundaries.
+
+
+
+This project is under development and is not yet available for general use. \ No newline at end of file
diff --git a/doc/Remove-Account.md b/doc/Remove-Account.md
index e846f0366..a8ef733a6 100644
--- a/doc/Remove-Account.md
+++ b/doc/Remove-Account.md
@@ -14,6 +14,7 @@ Visit the URL
https://yoursite/removeme
(replace 'yoursite' with the domain name of your $Projectname site).
+
You will need to confirm your password and the channel you are currently logged into will be removed.
This is irreversible.
diff --git a/doc/Widgets.md b/doc/Widgets.md
index d9df66eee..a225f5ef3 100644
--- a/doc/Widgets.md
+++ b/doc/Widgets.md
@@ -99,6 +99,14 @@ Some/many of these widgets have restrictions which may restrict the type of page
* channel_id - if not your own
<br />&nbsp;<br />
+* tasklist - provide a task or to-do list for the currently logged-in channel.
+ * args:
+ * all - display completed tasks if all is non-zero.
+<br />&nbsp;<br />
+
+* forums - provide a list of connected public forums with unseen counts for the current logged-in channel.
+<br />&nbsp;<br />
+
Creating New Widgets
====================
diff --git a/doc/addons.bb b/doc/addons.bb
index 120f668ae..1be88150d 100644
--- a/doc/addons.bb
+++ b/doc/addons.bb
@@ -61,7 +61,7 @@
[h3]Addon Repositories[/h3]
-[url=https://github.com/redmatrix/redmatrix-addons]https://github.com/redmatrix/redmatrix-addons[/url] Main project addon repository
+[url=https://github.com/redmatrix/hubzilla-addons]https://github.com/redmatrix/hubzilla-addons[/url] Main project addon repository
[url=https://github.com/23n/red-addons]https://github.com/23n/red-addons[/url] Oliver's repository (mayan_places and flip)
diff --git a/doc/addons_gnusocial.bb b/doc/addons_gnusocial.bb
index ff3aefe45..dfdce5f6a 100644
--- a/doc/addons_gnusocial.bb
+++ b/doc/addons_gnusocial.bb
@@ -10,13 +10,14 @@ Next, click the link to Register a new application. That brings up the new appli
Icon. I uploaded the $Projectname icon located at this link, after saving it to my computer:
-https://github.com/redmatrix/redmatrix/blob/master/images/rm-32.png
+https://github.com/redmatrix/hubzilla/blob/master/images/rm-32.png
-Name. Give the application an appropriate name. I called mine redmatrix. You might prefer r2g.
+Name. Give the application an appropriate name. I called mine hubzilla. You might prefer r2g.
Description. Use this field to describe the purpose of the application. I put something to the effect of use for crossposting from $Projectname to GNUsocial.
-Source URL. Put the main domain name of the Red site you're using. Don't forget to put the "s" in https://yourredmatrixsite.com. If your Red installation is a subdomain, that would probably be called for.
+
+Source URL. Put the main domain name of the Red site you're using. Don't forget to put the "s" in https://yourhubzillasite.com. If your Red installation is a subdomain, that would probably be called for.
Organization. Since $Projectname is unorganized, I put that. If you use your installation for a group or business, that might be a good option.
diff --git a/doc/admins.bb b/doc/admins.bb
new file mode 100644
index 000000000..d4e90c8a3
--- /dev/null
+++ b/doc/admins.bb
@@ -0,0 +1,12 @@
+[h2]Documentation for Hub Administrators[/h2]
+
+[h3]Administrators[/h3]
+
+[zrl=[baseurl]/help/install]Install[/zrl]
+[zrl=[baseurl]/help/red2pi]Installing $Projectname on the Raspberry Pi[/zrl]
+[zrl=[baseurl]/help/troubleshooting]Troubleshooting Tips[/zrl]
+[zrl=[baseurl]/help/hidden_configs]Tweaking $Projectname's Hidden Configurations[/zrl]
+[zrl=[baseurl]/help/faq_admins]FAQ For Admins[/zrl]
+[zrl=[baseurl]/help/service_classes]Service Classes[/zrl]
+
+
diff --git a/doc/campaign.bb b/doc/campaign.bb
index 68a2ac63d..48f28f0c0 100644
--- a/doc/campaign.bb
+++ b/doc/campaign.bb
@@ -153,7 +153,7 @@ Each contributor at this level gets their own $Projectname virtual private serve
We're a handful of volunteers, and we understand that not everyone can contribute by donating money. There are many other ways you can in getting the Matrix to version 1.0!
-First, you can checkout our source code on github: https://github.com/redmatrix/redmatrix
+First, you can checkout our source code on github: https://github.com/redmatrix/hubzilla
Maybe you can dive in and help us out with some development.
diff --git a/doc/classRedmatrix_1_1Import_1_1Import-members.html b/doc/classRedmatrix_1_1Import_1_1Import-members.html
new file mode 100644
index 000000000..d5e2f9277
--- /dev/null
+++ b/doc/classRedmatrix_1_1Import_1_1Import-members.html
@@ -0,0 +1,131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Hubzilla: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Hubzilla
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classHubzilla_1_1Import_1_1Import.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="headertitle">
+<div class="title">Hubzilla\Import\Import Member List</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a>, including all inherited members.</p>
+<table class="directory">
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f">$credentials</a></td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc">$itemlist</a></td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c">$items</a></td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6">$src_items</a></td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a">convert_child</a>($child)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218">convert_item</a>($item_ident)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6">convert_taxonomy</a>($item_ident)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8">get_children</a>($item_ident)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">get_credentials</a>()</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2">get_item</a>($item_ident)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059">get_item_ident</a>($item)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">get_itemlist</a>()</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c">get_taxonomy</a>($item_ident)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">run</a>()</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc">store</a>($item, $update=false)</td><td class="entry"><a class="el" href="classHubzilla_1_1Import_1_1Import.html">Hubzilla\Import\Import</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content --> \ No newline at end of file
diff --git a/doc/classRedmatrix_1_1Import_1_1Import.html b/doc/classRedmatrix_1_1Import_1_1Import.html
new file mode 100644
index 000000000..9a7128d65
--- /dev/null
+++ b/doc/classRedmatrix_1_1Import_1_1Import.html
@@ -0,0 +1,446 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>The Hubzilla: Hubzilla\Import\Import Class Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td id="projectlogo"><img alt="Logo" src="rm-64.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">The Hubzilla
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('classHubzilla_1_1Import_1_1Import.html','');});
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pro-attribs">Protected Attributes</a> &#124;
+<a href="#pri-attribs">Private Attributes</a> &#124;
+<a href="classHubzilla_1_1Import_1_1Import-members.html">List of all members</a> </div>
+ <div class="headertitle">
+<div class="title">Hubzilla\Import\Import Class Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:a24134929d9a8a682da2036a0bf326367"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">get_credentials</a> ()</td></tr>
+<tr class="separator:a24134929d9a8a682da2036a0bf326367"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a855cd5a79b95d269ae8737fae774e3bc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">get_itemlist</a> ()</td></tr>
+<tr class="separator:a855cd5a79b95d269ae8737fae774e3bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a772c28edf36aaf8e66007a95004c4059"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a772c28edf36aaf8e66007a95004c4059">get_item_ident</a> ($item)</td></tr>
+<tr class="separator:a772c28edf36aaf8e66007a95004c4059"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27987a41cb703a796f1821baeb4774a2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a27987a41cb703a796f1821baeb4774a2">get_item</a> ($item_ident)</td></tr>
+<tr class="separator:a27987a41cb703a796f1821baeb4774a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae3c6472bea1a44025bc2e152604eb20c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#ae3c6472bea1a44025bc2e152604eb20c">get_taxonomy</a> ($item_ident)</td></tr>
+<tr class="separator:ae3c6472bea1a44025bc2e152604eb20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a57561904b0f127e0d9a3e2c33688daf8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a57561904b0f127e0d9a3e2c33688daf8">get_children</a> ($item_ident)</td></tr>
+<tr class="separator:a57561904b0f127e0d9a3e2c33688daf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a107703a43a1b0ceb2af7ae470cb3f218"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a107703a43a1b0ceb2af7ae470cb3f218">convert_item</a> ($item_ident)</td></tr>
+<tr class="separator:a107703a43a1b0ceb2af7ae470cb3f218"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:addf6e53dacd971eaab49be4b17a767d6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#addf6e53dacd971eaab49be4b17a767d6">convert_taxonomy</a> ($item_ident)</td></tr>
+<tr class="separator:addf6e53dacd971eaab49be4b17a767d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5434325afb2c633c52540127d717800a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a5434325afb2c633c52540127d717800a">convert_child</a> ($child)</td></tr>
+<tr class="separator:a5434325afb2c633c52540127d717800a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a33ed595de044c0ec1cd84cca719e31dc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a33ed595de044c0ec1cd84cca719e31dc">store</a> ($item, $update=false)</td></tr>
+<tr class="separator:a33ed595de044c0ec1cd84cca719e31dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8d138a9a7d4f79b81d3446ca216a602c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">run</a> ()</td></tr>
+<tr class="separator:a8d138a9a7d4f79b81d3446ca216a602c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
+Protected Attributes</h2></td></tr>
+<tr class="memitem:ad0d2bdc3b388220479063915b4f5c2fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#ad0d2bdc3b388220479063915b4f5c2fc">$itemlist</a> = null</td></tr>
+<tr class="separator:ad0d2bdc3b388220479063915b4f5c2fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a88c2eeba8d0cba3e7c12a2c45ba0fbc6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a88c2eeba8d0cba3e7c12a2c45ba0fbc6">$src_items</a> = null</td></tr>
+<tr class="separator:a88c2eeba8d0cba3e7c12a2c45ba0fbc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a05dac405ccc5b617b7b7b3c8ed783c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a0a05dac405ccc5b617b7b7b3c8ed783c">$items</a> = null</td></tr>
+<tr class="separator:a0a05dac405ccc5b617b7b7b3c8ed783c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr class="memitem:a864aac9fadb4846f5d9f840e8e0f440f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHubzilla_1_1Import_1_1Import.html#a864aac9fadb4846f5d9f840e8e0f440f">$credentials</a> = null</td></tr>
+<tr class="separator:a864aac9fadb4846f5d9f840e8e0f440f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a class="anchor" id="a5434325afb2c633c52540127d717800a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::convert_child </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$child</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a107703a43a1b0ceb2af7ae470cb3f218"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::convert_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="addf6e53dacd971eaab49be4b17a767d6"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::convert_taxonomy </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a57561904b0f127e0d9a3e2c33688daf8"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_children </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a24134929d9a8a682da2036a0bf326367"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_credentials </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27987a41cb703a796f1821baeb4774a2"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_item </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a772c28edf36aaf8e66007a95004c4059"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_item_ident </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a855cd5a79b95d269ae8737fae774e3bc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_itemlist </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae3c6472bea1a44025bc2e152604eb20c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::get_taxonomy </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item_ident</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a8d138a9a7d4f79b81d3446ca216a602c">Hubzilla\Import\Import\run()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8d138a9a7d4f79b81d3446ca216a602c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::run </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a33ed595de044c0ec1cd84cca719e31dc"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::store </td>
+ <td>(</td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$item</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">&#160;</td>
+ <td class="paramname"><em>$update</em> = <code>false</code>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<h2 class="groupheader">Member Data Documentation</h2>
+<a class="anchor" id="a864aac9fadb4846f5d9f840e8e0f440f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::$credentials = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">private</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a24134929d9a8a682da2036a0bf326367">Hubzilla\Import\Import\get_credentials()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad0d2bdc3b388220479063915b4f5c2fc"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::$itemlist = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Referenced by <a class="el" href="classHubzilla_1_1Import_1_1Import.html#a855cd5a79b95d269ae8737fae774e3bc">Hubzilla\Import\Import\get_itemlist()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0a05dac405ccc5b617b7b7b3c8ed783c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::$items = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a88c2eeba8d0cba3e7c12a2c45ba0fbc6"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">Hubzilla\Import\Import::$src_items = null</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">protected</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li>include/Import/<a class="el" href="Importer_8php.html">Importer.php</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content --> \ No newline at end of file
diff --git a/doc/database.bb b/doc/database.bb
index 7be6735c9..fe193cf7f 100644
--- a/doc/database.bb
+++ b/doc/database.bb
@@ -1,66 +1,66 @@
[h2]Database Tables[/h2]
[table]
[tr][th]Table[/th][th]Description[/th][/tr]
-[tr][td][zrl=[baseurl]/help/db_abook]abook[/zrl][/td][td]connections of local channels[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_account]account[/zrl][/td][td]service provider account[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_addon]addon[/zrl][/td][td]registered plugins[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_app]app[/zrl][/td][td]personal app data[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_attach]attach[/zrl][/td][td]file attachments[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_auth_codes]auth_codes[/zrl][/td][td]OAuth usage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_cache]cache[/zrl][/td][td]OEmbed cache[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_channel]channel[/zrl][/td][td]local channels[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_chat]chat[/zrl][/td][td]chat room content[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_chatpresence]chatpresence[/zrl][/td][td]channel presence information for chat[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_chatroom]chatroom[/zrl][/td][td]data for the actual chat room[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_clients]clients[/zrl][/td][td]OAuth usage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_config]config[/zrl][/td][td]main configuration storage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_conv]conv[/zrl][/td][td]Diaspora private messages meta conversation structure[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_event]event[/zrl][/td][td]Events[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_fcontact]fcontact[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_ffinder]ffinder[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_fserver]fserver[/zrl][/td][td]obsolete[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_fsuggest]fsuggest[/zrl][/td][td]friend suggestion stuff (unused)[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_group_member]group_member[/zrl][/td][td]privacy groups (collections), group info[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_groups]groups[/zrl][/td][td]privacy groups (collections), member info[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_hook]hook[/zrl][/td][td]plugin hook registry[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_hubloc]hubloc[/zrl][/td][td]Red location storage, ties a hub location to an xchan[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_issue]issue[/zrl][/td][td]future bug/issue database[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_item]item[/zrl][/td][td]all posts and webpages[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_item_id]item_id[/zrl][/td][td]other identifiers on other services for posts[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_likes]likes[/zrl][/td][td]likes of 'things'[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_mail]mail[/zrl][/td][td]private messages[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_manage]manage[/zrl][/td][td]may be unused in Red, table of accounts that can "su" each other[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_menu]menu[/zrl][/td][td]webpage menu data[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_menu_item]menu_item[/zrl][/td][td]entries for webpage menus[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_notify]notify[/zrl][/td][td]notifications[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_obj]obj[/zrl][/td][td]object data for things (x has y)[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_outq]outq[/zrl][/td][td]Red output queue[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_pconfig]pconfig[/zrl][/td][td]personal (per channel) configuration storage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_photo]photo[/zrl][/td][td]photo storage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_poll]poll[/zrl][/td][td]data for polls[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_poll_elm]poll_elm[/zrl][/td][td]data for poll elements[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_profdef]profdef[/zrl][/td][td]custom profile field definitions[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_profext]profext[/zrl][/td][td]custom profile field data[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_profile]profile[/zrl][/td][td]channel profiles[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_profile_check]profile_check[/zrl][/td][td]DFRN remote auth use, may be obsolete[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_register]register[/zrl][/td][td]registrations requiring admin approval[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_session]session[/zrl][/td][td]web session storage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_shares]shares[/zrl][/td][td]shared item information[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_sign]sign[/zrl][/td][td]Diaspora signatures. To be phased out.[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_site]site[/zrl][/td][td]site table to find directory peers[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_source]source[/zrl][/td][td]channel sources data[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_spam]spam[/zrl][/td][td]unfinished[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_sys_perms]sys_perms[/zrl][/td][td]extensible permissions for OAuth[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_term]term[/zrl][/td][td]item taxonomy (categories, tags, etc.) table[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_tokens]tokens[/zrl][/td][td]OAuth usage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_updates]updates[/zrl][/td][td]directory sync updates[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_verify]verify[/zrl][/td][td]general purpose verification structure[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_vote]vote[/zrl][/td][td]vote data for polls[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xchan]xchan[/zrl][/td][td]list of known channels in the universe[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xchat]xchat[/zrl][/td][td]bookmarked chat rooms[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xconfig]xconfig[/zrl][/td][td]as pconfig but for channels with no local account[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xign]xign[/zrl][/td][td]channels ignored by friend suggestions[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xlink]xlink[/zrl][/td][td]"friends of friends" linkages derived from poco, also ratings storage[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xprof]xprof[/zrl][/td][td]if this hub is a directory server, contains basic public profile info of everybody in the network[/td][/tr]
-[tr][td][zrl=[baseurl]/help/db_xtag]xtag[/zrl][/td][td]if this hub is a directory server, contains tags or interests of everybody in the network[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_abook]abook[/zrl][/td][td]connections of local channels[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_account]account[/zrl][/td][td]service provider account[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_addon]addon[/zrl][/td][td]registered plugins[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_app]app[/zrl][/td][td]personal app data[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_attach]attach[/zrl][/td][td]file attachments[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_auth_codes]auth_codes[/zrl][/td][td]OAuth usage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_cache]cache[/zrl][/td][td]OEmbed cache[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_channel]channel[/zrl][/td][td]local channels[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_chat]chat[/zrl][/td][td]chat room content[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_chatpresence]chatpresence[/zrl][/td][td]channel presence information for chat[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_chatroom]chatroom[/zrl][/td][td]data for the actual chat room[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_clients]clients[/zrl][/td][td]OAuth usage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_config]config[/zrl][/td][td]main configuration storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_conv]conv[/zrl][/td][td]Diaspora private messages meta conversation structure[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_event]event[/zrl][/td][td]Events[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_fcontact]fcontact[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_ffinder]ffinder[/zrl][/td][td]friend suggestion stuff (obsolete)[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_fserver]fserver[/zrl][/td][td]obsolete[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_fsuggest]fsuggest[/zrl][/td][td]friend suggestion stuff (unused)[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_group_member]group_member[/zrl][/td][td]privacy groups (collections), group info[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_groups]groups[/zrl][/td][td]privacy groups (collections), member info[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_hook]hook[/zrl][/td][td]plugin hook registry[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_hubloc]hubloc[/zrl][/td][td]Red location storage, ties a hub location to an xchan[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_issue]issue[/zrl][/td][td]future bug/issue database[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_item]item[/zrl][/td][td]all posts and webpages[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_item_id]item_id[/zrl][/td][td]other identifiers on other services for posts[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_likes]likes[/zrl][/td][td]likes of 'things'[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_mail]mail[/zrl][/td][td]private messages[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_manage]manage[/zrl][/td][td]may be unused in Red, table of accounts that can "su" each other[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_menu]menu[/zrl][/td][td]webpage menu data[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_menu_item]menu_item[/zrl][/td][td]entries for webpage menus[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_notify]notify[/zrl][/td][td]notifications[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_obj]obj[/zrl][/td][td]object data for things (x has y)[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_outq]outq[/zrl][/td][td]Red output queue[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_pconfig]pconfig[/zrl][/td][td]personal (per channel) configuration storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_photo]photo[/zrl][/td][td]photo storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_poll]poll[/zrl][/td][td]data for polls[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_poll_elm]poll_elm[/zrl][/td][td]data for poll elements[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_profdef]profdef[/zrl][/td][td]custom profile field definitions[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_profext]profext[/zrl][/td][td]custom profile field data[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_profile]profile[/zrl][/td][td]channel profiles[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_profile_check]profile_check[/zrl][/td][td]DFRN remote auth use, may be obsolete[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_register]register[/zrl][/td][td]registrations requiring admin approval[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_session]session[/zrl][/td][td]web session storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_shares]shares[/zrl][/td][td]shared item information[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_sign]sign[/zrl][/td][td]Diaspora signatures. To be phased out.[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_site]site[/zrl][/td][td]site table to find directory peers[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_source]source[/zrl][/td][td]channel sources data[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_spam]spam[/zrl][/td][td]unfinished[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_sys_perms]sys_perms[/zrl][/td][td]extensible permissions for OAuth[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_term]term[/zrl][/td][td]item taxonomy (categories, tags, etc.) table[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_tokens]tokens[/zrl][/td][td]OAuth usage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_updates]updates[/zrl][/td][td]directory sync updates[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_verify]verify[/zrl][/td][td]general purpose verification structure[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_vote]vote[/zrl][/td][td]vote data for polls[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xchan]xchan[/zrl][/td][td]list of known channels in the universe[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xchat]xchat[/zrl][/td][td]bookmarked chat rooms[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xconfig]xconfig[/zrl][/td][td]as pconfig but for channels with no local account[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xign]xign[/zrl][/td][td]channels ignored by friend suggestions[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xlink]xlink[/zrl][/td][td]"friends of friends" linkages derived from poco, also ratings storage[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xprof]xprof[/zrl][/td][td]if this hub is a directory server, contains basic public profile info of everybody in the network[/td][/tr]
+[tr][td][zrl=[baseurl]/help/database/db_xtag]xtag[/zrl][/td][td]if this hub is a directory server, contains tags or interests of everybody in the network[/td][/tr]
[/table]
diff --git a/doc/db_abook.bb b/doc/database/db_abook.bb
index a34e51996..a34e51996 100644
--- a/doc/db_abook.bb
+++ b/doc/database/db_abook.bb
diff --git a/doc/db_account.bb b/doc/database/db_account.bb
index 354f2d3a8..354f2d3a8 100644
--- a/doc/db_account.bb
+++ b/doc/database/db_account.bb
diff --git a/doc/db_addon.bb b/doc/database/db_addon.bb
index afa06d56c..afa06d56c 100644
--- a/doc/db_addon.bb
+++ b/doc/database/db_addon.bb
diff --git a/doc/db_app.bb b/doc/database/db_app.bb
index 7076bffdd..7076bffdd 100644
--- a/doc/db_app.bb
+++ b/doc/database/db_app.bb
diff --git a/doc/db_attach.bb b/doc/database/db_attach.bb
index 4514c87f8..4514c87f8 100644
--- a/doc/db_attach.bb
+++ b/doc/database/db_attach.bb
diff --git a/doc/db_auth_codes.bb b/doc/database/db_auth_codes.bb
index c60f064a4..c60f064a4 100644
--- a/doc/db_auth_codes.bb
+++ b/doc/database/db_auth_codes.bb
diff --git a/doc/db_cache.bb b/doc/database/db_cache.bb
index 02c292f20..02c292f20 100644
--- a/doc/db_cache.bb
+++ b/doc/database/db_cache.bb
diff --git a/doc/db_channel.bb b/doc/database/db_channel.bb
index 215db3fb7..215db3fb7 100644
--- a/doc/db_channel.bb
+++ b/doc/database/db_channel.bb
diff --git a/doc/db_chat.bb b/doc/database/db_chat.bb
index 6221f36e2..6221f36e2 100644
--- a/doc/db_chat.bb
+++ b/doc/database/db_chat.bb
diff --git a/doc/db_chatpresence.bb b/doc/database/db_chatpresence.bb
index cdc948a60..cdc948a60 100644
--- a/doc/db_chatpresence.bb
+++ b/doc/database/db_chatpresence.bb
diff --git a/doc/db_chatroom.bb b/doc/database/db_chatroom.bb
index b2da762cf..b2da762cf 100644
--- a/doc/db_chatroom.bb
+++ b/doc/database/db_chatroom.bb
diff --git a/doc/db_clients.bb b/doc/database/db_clients.bb
index d342b529f..d342b529f 100644
--- a/doc/db_clients.bb
+++ b/doc/database/db_clients.bb
diff --git a/doc/db_config.bb b/doc/database/db_config.bb
index f32d3c259..f32d3c259 100644
--- a/doc/db_config.bb
+++ b/doc/database/db_config.bb
diff --git a/doc/db_conv.bb b/doc/database/db_conv.bb
index ba1ba7f01..ba1ba7f01 100644
--- a/doc/db_conv.bb
+++ b/doc/database/db_conv.bb
diff --git a/doc/db_event.bb b/doc/database/db_event.bb
index 7c31d7fde..7c31d7fde 100644
--- a/doc/db_event.bb
+++ b/doc/database/db_event.bb
diff --git a/doc/db_fcontact.bb b/doc/database/db_fcontact.bb
index 9bd8c20fe..9bd8c20fe 100644
--- a/doc/db_fcontact.bb
+++ b/doc/database/db_fcontact.bb
diff --git a/doc/db_ffinder.bb b/doc/database/db_ffinder.bb
index c20158d56..c20158d56 100644
--- a/doc/db_ffinder.bb
+++ b/doc/database/db_ffinder.bb
diff --git a/doc/db_fserver.bb b/doc/database/db_fserver.bb
index 4c4b0b530..4c4b0b530 100644
--- a/doc/db_fserver.bb
+++ b/doc/database/db_fserver.bb
diff --git a/doc/db_fsuggest.bb b/doc/database/db_fsuggest.bb
index 9da1f2f6d..9da1f2f6d 100644
--- a/doc/db_fsuggest.bb
+++ b/doc/database/db_fsuggest.bb
diff --git a/doc/db_group_member.bb b/doc/database/db_group_member.bb
index d31fa1edb..d31fa1edb 100644
--- a/doc/db_group_member.bb
+++ b/doc/database/db_group_member.bb
diff --git a/doc/db_groups.bb b/doc/database/db_groups.bb
index 03e4fe2d7..03e4fe2d7 100644
--- a/doc/db_groups.bb
+++ b/doc/database/db_groups.bb
diff --git a/doc/db_hook.bb b/doc/database/db_hook.bb
index 6e8e907a1..6e8e907a1 100644
--- a/doc/db_hook.bb
+++ b/doc/database/db_hook.bb
diff --git a/doc/db_hubloc.bb b/doc/database/db_hubloc.bb
index e4ab7159d..e4ab7159d 100644
--- a/doc/db_hubloc.bb
+++ b/doc/database/db_hubloc.bb
diff --git a/doc/db_issue.bb b/doc/database/db_issue.bb
index 0a6f2912b..0a6f2912b 100644
--- a/doc/db_issue.bb
+++ b/doc/database/db_issue.bb
diff --git a/doc/db_item.bb b/doc/database/db_item.bb
index b31823d6c..b31823d6c 100644
--- a/doc/db_item.bb
+++ b/doc/database/db_item.bb
diff --git a/doc/db_item_id.bb b/doc/database/db_item_id.bb
index b77ae2d1a..b77ae2d1a 100644
--- a/doc/db_item_id.bb
+++ b/doc/database/db_item_id.bb
diff --git a/doc/db_likes.bb b/doc/database/db_likes.bb
index 118c9a87e..118c9a87e 100644
--- a/doc/db_likes.bb
+++ b/doc/database/db_likes.bb
diff --git a/doc/db_mail.bb b/doc/database/db_mail.bb
index 0628584ae..0628584ae 100644
--- a/doc/db_mail.bb
+++ b/doc/database/db_mail.bb
diff --git a/doc/db_manage.bb b/doc/database/db_manage.bb
index a0fdf5aa6..a0fdf5aa6 100644
--- a/doc/db_manage.bb
+++ b/doc/database/db_manage.bb
diff --git a/doc/db_menu.bb b/doc/database/db_menu.bb
index 5b478115d..5b478115d 100644
--- a/doc/db_menu.bb
+++ b/doc/database/db_menu.bb
diff --git a/doc/db_menu_item.bb b/doc/database/db_menu_item.bb
index b14aac5e4..b14aac5e4 100644
--- a/doc/db_menu_item.bb
+++ b/doc/database/db_menu_item.bb
diff --git a/doc/db_notify.bb b/doc/database/db_notify.bb
index 42f9350e5..42f9350e5 100644
--- a/doc/db_notify.bb
+++ b/doc/database/db_notify.bb
diff --git a/doc/db_obj.bb b/doc/database/db_obj.bb
index cc5e75598..cc5e75598 100644
--- a/doc/db_obj.bb
+++ b/doc/database/db_obj.bb
diff --git a/doc/db_outq.bb b/doc/database/db_outq.bb
index 970f99de5..970f99de5 100644
--- a/doc/db_outq.bb
+++ b/doc/database/db_outq.bb
diff --git a/doc/db_pconfig.bb b/doc/database/db_pconfig.bb
index 2ac36e61a..2ac36e61a 100644
--- a/doc/db_pconfig.bb
+++ b/doc/database/db_pconfig.bb
diff --git a/doc/db_photo.bb b/doc/database/db_photo.bb
index 6a0cdf362..6a0cdf362 100644
--- a/doc/db_photo.bb
+++ b/doc/database/db_photo.bb
diff --git a/doc/db_poll.bb b/doc/database/db_poll.bb
index 57d808b71..57d808b71 100644
--- a/doc/db_poll.bb
+++ b/doc/database/db_poll.bb
diff --git a/doc/db_poll_elm.bb b/doc/database/db_poll_elm.bb
index fd649d5a6..fd649d5a6 100644
--- a/doc/db_poll_elm.bb
+++ b/doc/database/db_poll_elm.bb
diff --git a/doc/db_profdef.bb b/doc/database/db_profdef.bb
index a0904fd79..a0904fd79 100644
--- a/doc/db_profdef.bb
+++ b/doc/database/db_profdef.bb
diff --git a/doc/db_profext.bb b/doc/database/db_profext.bb
index ada9dce2a..ada9dce2a 100644
--- a/doc/db_profext.bb
+++ b/doc/database/db_profext.bb
diff --git a/doc/db_profile.bb b/doc/database/db_profile.bb
index 83db75713..83db75713 100644
--- a/doc/db_profile.bb
+++ b/doc/database/db_profile.bb
diff --git a/doc/db_profile_check.bb b/doc/database/db_profile_check.bb
index 3be64c5da..3be64c5da 100644
--- a/doc/db_profile_check.bb
+++ b/doc/database/db_profile_check.bb
diff --git a/doc/db_register.bb b/doc/database/db_register.bb
index 50672b5e1..50672b5e1 100644
--- a/doc/db_register.bb
+++ b/doc/database/db_register.bb
diff --git a/doc/db_session.bb b/doc/database/db_session.bb
index d7ff0482d..d7ff0482d 100644
--- a/doc/db_session.bb
+++ b/doc/database/db_session.bb
diff --git a/doc/db_shares.bb b/doc/database/db_shares.bb
index be5255c03..be5255c03 100644
--- a/doc/db_shares.bb
+++ b/doc/database/db_shares.bb
diff --git a/doc/db_sign.bb b/doc/database/db_sign.bb
index e80ea7ef3..e80ea7ef3 100644
--- a/doc/db_sign.bb
+++ b/doc/database/db_sign.bb
diff --git a/doc/db_site.bb b/doc/database/db_site.bb
index 8dea4dae6..8dea4dae6 100644
--- a/doc/db_site.bb
+++ b/doc/database/db_site.bb
diff --git a/doc/db_source.bb b/doc/database/db_source.bb
index 92850a82e..92850a82e 100644
--- a/doc/db_source.bb
+++ b/doc/database/db_source.bb
diff --git a/doc/db_spam.bb b/doc/database/db_spam.bb
index b75e1edd3..b75e1edd3 100644
--- a/doc/db_spam.bb
+++ b/doc/database/db_spam.bb
diff --git a/doc/db_sys_perms.bb b/doc/database/db_sys_perms.bb
index 04416a26b..04416a26b 100644
--- a/doc/db_sys_perms.bb
+++ b/doc/database/db_sys_perms.bb
diff --git a/doc/db_term.bb b/doc/database/db_term.bb
index c0546cc6a..c0546cc6a 100644
--- a/doc/db_term.bb
+++ b/doc/database/db_term.bb
diff --git a/doc/db_tokens.bb b/doc/database/db_tokens.bb
index 35da2458c..35da2458c 100644
--- a/doc/db_tokens.bb
+++ b/doc/database/db_tokens.bb
diff --git a/doc/db_updates.bb b/doc/database/db_updates.bb
index f2e25d84c..f2e25d84c 100644
--- a/doc/db_updates.bb
+++ b/doc/database/db_updates.bb
diff --git a/doc/db_verify.bb b/doc/database/db_verify.bb
index 9d01181c5..9d01181c5 100644
--- a/doc/db_verify.bb
+++ b/doc/database/db_verify.bb
diff --git a/doc/db_vote.bb b/doc/database/db_vote.bb
index 0b9a423eb..0b9a423eb 100644
--- a/doc/db_vote.bb
+++ b/doc/database/db_vote.bb
diff --git a/doc/db_xchan.bb b/doc/database/db_xchan.bb
index fd1d68296..fd1d68296 100644
--- a/doc/db_xchan.bb
+++ b/doc/database/db_xchan.bb
diff --git a/doc/db_xchat.bb b/doc/database/db_xchat.bb
index 0897408d1..0897408d1 100644
--- a/doc/db_xchat.bb
+++ b/doc/database/db_xchat.bb
diff --git a/doc/db_xconfig.bb b/doc/database/db_xconfig.bb
index 111d1ce3a..111d1ce3a 100644
--- a/doc/db_xconfig.bb
+++ b/doc/database/db_xconfig.bb
diff --git a/doc/db_xign.bb b/doc/database/db_xign.bb
index e216e11cc..e216e11cc 100644
--- a/doc/db_xign.bb
+++ b/doc/database/db_xign.bb
diff --git a/doc/db_xlink.bb b/doc/database/db_xlink.bb
index 2eefec14a..2eefec14a 100644
--- a/doc/db_xlink.bb
+++ b/doc/database/db_xlink.bb
diff --git a/doc/db_xprof.bb b/doc/database/db_xprof.bb
index d98fb3f17..d98fb3f17 100644
--- a/doc/db_xprof.bb
+++ b/doc/database/db_xprof.bb
diff --git a/doc/db_xtag.bb b/doc/database/db_xtag.bb
index 1e6fb9961..1e6fb9961 100644
--- a/doc/db_xtag.bb
+++ b/doc/database/db_xtag.bb
diff --git a/doc/de/features.bb b/doc/de/features.bb
index 3e882b7b4..6bee360eb 100644
--- a/doc/de/features.bb
+++ b/doc/de/features.bb
@@ -1,34 +1,23 @@
-[h1][b]$Projectname-Features[/b][/h1]
+[size=large][b]Features der $Projectname[/b][/size]
-[h1]$Projectname kurz zusammengefasst[/h1]
+Die $Projectname ist ein Allzweck-Kommunikationsnetzwerk mit einigen einzigartigen Features. Sie wurde für eine große Bandbreite von Nutzern entwickelt, von Nutzern sozialer Netzwerke über technisch nicht interessierte Blogger bis hin zu PHP-Experten und erfahrenen Systemadministratoren.
-tl;dr
-
-$Projectname stellt verteiltes Web-Publishing und soziale Kommunikation mit [b]dezentraler Rechteverwaltung[/b] zur Verfügung.
-
-Aber was genau ist eine dezentrale Rechteverwaltung? Sie gibt mir die Möglichkeit, etwas auf einem Website (Fotos, Medien, Dateien, Webseiten etc.) mit bestimmten Personen auf anderen Websites zu teilen – aber nicht unbedingt mit [i]allen[/i] auf diesen Websites. Und: Sie brauchen kein Konto auf meiner Website und müssen sich auf meiner Website nicht extra einloggen, um sich die Dinge anzusehen, die ich mit ihnen geteilt habe. Sie haben ein Konto auf ihrer Heimat-Website, und „Magic Authentication“ zwischen den Websites besorgt den Rest. Da das Netzwerk dezentral aufgebaut ist, gibt es auch keinen einzelnen Betreiber des Netzwerks, der an der Rechteverwaltung vorbei alles sehen kann.
-
-$Projectname kombiniert viele Features von tradionellen Blogs, sozialen Netzwerken und Medien, Content-Management-Systemen und persönlichem Cloud-Speicher auf einer einfach zu nutzenden Plattform. Jeder Hub (Web-Server) in der Matrix kann isoliert operieren oder sich mit anderen Hubs zu einem Super-Netzwerk vereinen. Die Kontrolle über die Privatsphäre hat immer derjenige, der die Inhalte veröffentlicht.
-
-$Projectname ist ein Open-Source Webserver-Applikation, geschrieben ursprünglich für PHP/MySQL. Mit minimaler Erfahrung als Admin ist sie leicht zu installieren. Sie kann auch durch Plugins und Themes und weitere Angebote von Drittanbietern erweitert werden.
-
-[h1][b]$Projectname-Features[/b][/h1]
-
-$Projectname ist ein Allzweck-Web-Publishing- und Kommunikationsnetzwerk mit einigen einzigartigen Features. Sie wurde für eine große Bandbreite von Nutzern entwickelt, von Nutzern sozialer Netzwerke über technisch nicht interessierte Blogger bis hin zu PHP-Experten und erfahrenen Systemadministratoren.
-
-Diese Seite listet einige der Kern-Features von $Projectname auf, die in der offiziellen Distribution enthalten sind. Wie immer bei freier Open-Source-Software sind den Möglichkeiten keine Grenzen gesetzt. Beliebige Erweiterungen, Addons, Themes und Konfigurationen sind möglich.
+Diese Seite listet einige der Kern-Features von Red auf, die in der offiziellen Distribution enthalten sind. Wie immer bei freier Open-Source-Software sind den Möglichkeiten keine Grenzen gesetzt. Beliebige Erweiterungen, Addons, Themes und Konfigurationen sind möglich.
[h2]Entwickelt für Privatsphäre und Freiheit[/h2]
-Eines der Design-Ziele von $Projectname ist einfache Kommunikations über das Web, ohne die Privatsphäre zu vernachlässigen, wenn die Nutzer das wünschen. Um dieses Ziel zu erreichen, verfügt $Projectname über einige Features, die beliebige Stufen des Privatsphäre-Schutzes ermöglichen:
+Eines der Design-Ziele von Red ist einfache Kommunikations über das Web, ohne die Privatsphäre zu vernachlässigen, wenn die Nutzer das Wünschen. Um dieses Ziel zu erreichen, verfügt Red über einige Features, die beliebige Stufen des Privatsphäre-Schutzes ermöglichen:
[b]Beziehungs-Tool[/b]
Wenn Du in der $Projectname einen Kontakt hinzufügst (und das Beziehungs-Tool aktiviert hast), hast Du die Möglichkeit, einen „Grad der Freundschaft“ zu bestimmen. Bespiel: Wenn Du ein Blog eines Bekannten hinzufügst, könntest Du ihm den Freundschaftsgrad „Bekannte“ (Acquaintances) geben.
+
+[img]https://friendicared.net/photo/b07b0262e3146325508b81a9d1ae4a1e-0.png[/img]
+
Wenn Du aber den privaten Kanal eines Freundes hinzufügst, wäre der Freundschaftsgrad „Freunde“ vermutlich passender.
-Wenn Du allen Kontakten solche Freundschaftsgrade zugeordnet hast, kannst Du mit dem Beziehungs-Tool, das (sofern aktiviert) oben auf Deiner Matrix-Seite erscheint, bestimmen, welche Inhalte Du sehen willst. Indem Du die Schieberegler einstellst, legst Du fest, was angezeigt wird – nur Kanäle mit einem Freundschaftsgrad innerhalb des eingestellten Bereichs werden angezeigt
+Wenn Du allen Kontakten solche Freundschaftsgrade zugeordnet hast, kannst Du mit dem Beziehungs-Tool, das (sofern aktiviert) oben auf Deiner Matrix-Seite erscheint, bestimmen, welche Inhalte Du sehen willst. Indem Du die Schieberegler so einstellst, dass der linke auf „Ich“ und der rechte auf „Freunde“ steht, kannst Du dafür sorgen, dass nur Inhalte von Kontakten angezeigt werden, deren Freundschaftsgrad sich irgendwo im Bereich zwischen „Ich“, „Beste Freunde“ und „Freunde“ bewegt. Alle anderen Kontakte, zum Beispiel solche mit einem Freundschaftsgrad in der Nähe von „Bekannte“, werden nicht angezeigt.
Das Beziehungs-Tool erlaubt blitzschnelles Filtern von großen Mengen Inhalt, gruppiert nach Freundschaftsgrad.
@@ -42,7 +31,7 @@ Solche Zugriffsrechte gibt es bei Beiträgen, Fotos, Terminen, Webseiten, Chat-R
[b]Ein Passwort für alle $Projectname-Server (Single Sign-on)[/b]
-Zugriffsrechte funktionieren in der gesamten Matrix mit allen Kanälen. Die meisten Links, die innerhalb von $Projectname verlinken, enthalten Deine Identität (zid), so dass der Zielserver Dich direkt anmelden kann. Du kannst Dich aber auch so auf jedem $Projectname-Server mit Deiner $Projectname-Identität anmelden und erhältst dann Zugriff auf die Inhalte, die für Dich freigegeben sind.
+Zugriffsrechte funktionieren in der gesamten $Projectname mit allen Kanälen. Die meisten Links, die innerhalb der $Projectname verlinken, enthalten deine Identität (zid), so dass der Zielserver Dich direkt anmelden kann. Du kannst Dich aber auch so auf jedem $Projectname-Server mit Deinem $Projectname-Identität anmelden und erhältst dann Zugriff auf die Inhalte, die für Dich freigegeben sind.
Du loggst Dich nur einmal auf Deinem Heimatserver ein. Ab dann funktioniert die Authentifizierung gegenüber anderen $Projectname-Servern „magisch“ von selbst.
@@ -56,7 +45,7 @@ Stelle Deine Fotos online in Alben zur Verfügung. Auch hier kann der Zugriff ü
[b]Terminkalender[/b]
-Im eingebauten Terminkalender kannst Du Termine erstellen und verwalten. Auch hier greifen die Zugriffsrechte für andere. Termine können im vcalendar/iCal-Format exportiert und mit anderen geteilt werden. Wenn Deine Kontakte ihren Geburtstag in ihr Profil eingetragen haben, werden diese Geburtstage automatisch zu Deinem Kalender hinzugefügt – mit entsprechender Anpassung der Zeitzone, so dass Du nie zu früh oder zu spät gratulierst. Termine werden normalerweise mit Teilnehmerzählern erstellt, so dass Deine Freunde und Verbindungen sofort zu- oder absagen können.
+Im eingebauten Terminkalender kannst Du Termine erstellen und verwalten. Auch hier greifen die Zugriffsrechte für andere. Termine können im vcalendar/iCal-Format exportiert und mit anderen geteilt werden. Wenn Deine Kontakte ihren Geburtstag in ihr Profil eingetragen haben, werden diese Geburtstage automatisch zu Deinem Kalender hinzugefügt – mit entsprechender Anpassung der Zeitzone, so dass Du nie zu früh oder zu spät gratulierst.
[b]Chat-Räume[/b]
@@ -64,7 +53,7 @@ Du kannst Chaträume erstellen und über die Zugriffsrechte nur bestimmten Nutze
[b]Erstellen von Webseiten[/b]
-In $Projectname gibt es Werkzeuge für „Content Management“, mit denen Du einfache Webseiten erstellen kannst, aber auch komplexe Layouts, Menüs, Blöcke und Widgets. Auch hier greifen die Zugriffsrechte, so dass die entstandenen Seiten nur von denen betrachtet werden können, denen Du das Recht dazu eingeräumt hast.
+In der $Projectname gibt es Werkzeuge für „Content Management“, mit denen Du einfache Webseiten erstellen kannst, aber auch komplexe Layouts, Menüs, Blöcke und Widgets. Auch hier greifen die Zugriffsrechte, so dass die entstandenen Seiten nur von denen betrachtet werden können, denen Du das Recht dazu eingeräumt hast.
[b]Apps[/b]
@@ -72,7 +61,7 @@ $Projectname-Mitglieder könnnen Apps erstellen und verteilen. Anders als bei an
[b]Layout[/b]
-Das Seiten-Layout basiert auf eine Beschreibungssprache namens Comanche. $Projectname ist selbst in Comanche-Layouts verfasst, die man verändern kann. Dadurch ist eine sehr starke Anpassung an die eigenen Bedürfnisse möglich, wie man sie so in Multi-User-Umgebungen normalerweise nicht findet.
+Das Seiten-Layout basiert auf eine Beschreibungssprache namens Comanche. Die $Projectname ist selbst in Comanche-Layouts verfasst, die man verändern kann. Dadurch ist eine sehr starke Anpassung an die eigenen Bedürfnisse möglich, wie man sie so in Multi-User-Umgebungen normalerweise nicht findet.
[b]Lesezeichen[/b]
@@ -80,9 +69,9 @@ Du kannst Lesezeichen teilen, speichern und verwalten, direkt aus den Unterhaltu
[b]Verschlüsselung privater Nachrichten[/b]
-Nachrichten mit eingeschränktem Empfängerkreis werden mit einem symmetrischen 256-bit-AES-CBC-Schlüssel verschlüsselt, der seinerseits mit Public-Key-Kryptografie auf Basis von 4096-bittigen RSA-Schlüsseln geschützt (nochmal verschlüsselt) wird, die mit dem sendenden Kanal verbunden sind. Diese Nachrichten werden auch auf anderen $Pojectname-Servern verschlüsselt gespeichert.
+Nachrichten mit eingeschränktem Empfängerkreis werden mit einem symmetrischen 256-bit-AES-CBC-Schlüssel verschlüsselt, der seinerseits mit Public-Key-Kryptografie auf Basis von 4096-bittigen RSA-Schlüsseln geschützt (nochmal verschlüsselt) wird, die mit dem sendenden Kanal verbunden sind. Diese Nachrichten werden auch auf anderen Red-Servern verschlüsselt gespeichert.
-Jeder $Projectname-Kanal hat seinen eigenes 4096-bit-RSA-Schlüsselpaar, das erzeugt wird, wenn der Kanal erstellt wird.
+Jeder Red-Kanal hat seinen eigenes 4096-bit-RSA-Schlüsselpaar, das erzeugt wird, wenn der Kanal erstellt wird.
Zusätzlich können Nachrichten mit Ende-zu-Ende-Verschlüsselung versehen werden, so dass weder $Projectname-Server-Administratoren noch ISPs irgendetwas mitlesen können, solange sie nicht über das Passwort verfügen.
@@ -94,15 +83,15 @@ Alle Nachrichten können mit einem „Verfallsdatum“ versehen werden. Zu diese
[b]Verbindung zu anderen Diensten[/b]
-Neben Plugins, die das „crossposten“ zu diversen anderen Netzwerk erlauben, wird der Import von RSS/Atom-Feeds nativ unterstützt, auch, um mit diesen Inhalten spezielle Kanäle zu erstellen. Außerdem kann über das Diaspora-Protokoll mit Kontakten in den Netzwerken Friendica und Diaspora kommuniziert werden. Diese Unterstützung ist als experimentell eingestuft, da diese Netzwerke nicht die gleichen Möglichkeiten wie $Projectname in Sachen Privatsphäre und Verschlüsselung bieten, so dass Kommunikation mit ihnen zu Privatsphäreproblemen führen könnte.
+Neben Plugins, die das „crossposten“ zu diversen anderen Netzwerk erlauben, wird der Import von RSS/Atom-Feeds nativ unterstützt, auch, um mit diesen Inhalten spezielle Kanäle zu erstellen. Außerdem kann über das Diaspora-Protokoll mit Kontakten in den Netzwerken Friendica und Diaspora kommuniziert werden. Diese Unterstützung ist als experimentell eingestuft, da diese Netzwerke nicht die gleichen Möglichkeiten wie die $Projectname in Sachen Privatsphäre und Verschlüsselung bieten, so dass Kommunikation mit ihnen zu Privatsphäreproblemen führen könnte.
-Weiterhin wird OpenID auf experimenteller Ebene unterstützt und kann bei den Zugriffsrechten genutzt werden, um Inhalte für per OpenID authentifizierte Nutzer freizugeben. An dieser Funktion wird noch gearbeitet. Jeder $Projectname-Hub kann außerdem als OpenID-Provider dienen.
+Weiterhin wird OpenID auf experimenteller Ebene unterstützt und kann bei den Zugriffsrechten genutzt werden, um Inhalte für per OpenID authentifizierte Nutzer freizugeben. An dieser Funktion wird noch gearbeitet.
Die Inhalte von Kanälen können als Quellen für andere Kanäle dienen (wenn der Kanalinhaber das erlaubt), so dass Themen-Kanäle mit den Inhalten von zwei oder mehr Kanälen erstellt werden können.
[b]Sammlungen[/b]
-„Sammlungen“ sind unsere Implementierung von Privatsphäregruppen, ähnlich den „Kreisen“ bei Google+ und den „Aspekten“ bei Diaspora. Sammlungen können zur Filterung der angezeigten Nachrichten genutzt werden (nur Threads anzeigen, die von einem Mitglied dieser Sammlung gestartet wurden), aber auch zum Setzen von Zugriffsrechten (bevor der Beitrag abgeschickt wird).
+„Sammlungen“ sind unsere Implementation von Privatsphäregruppen, ähnlich den „Kreisen“ bei Google+ und den „Aspekten“ bei Diaspora. Sammlungen können zur Filterung der angezeigten Nachrichten genutzt werden (nur Threads anzeigen, die von einem Mitglied dieser Sammlung gestartet wurden), aber auch zum Setzen von Zugriffsrechten.
[b]Verzeichnisdienste[/b]
@@ -110,7 +99,7 @@ Wir stellen einfachen Zugriff auf ein Mitgliederverzeichnis zur Verfügung, samt
[b]TLS/SSL[/b]
-$Projectname-Server, die TLS/SSL benutzen, verschlüsseln ihre Kommunikation vom Server zum Nutzer mit SSL. Nach den aktuellen Enthüllungen über das Umgehen von Verschlüsselung durch NSA, GHCQ und andere Dienste, sollte man jedoch nicht mehr davon ausgehen, dass diese Verbindungen nicht mitgelesen werden können. Private Kommunikation (nicht komplett öffentliche Beiträge) wird darüberhinaus zusätzlich verschlüsselt, bevor sie von einem Server zum anderen geschickt wird.
+Red-Server, die TLS/SSL benutzen, verschlüsseln ihre Kommunikation vom Server zum Nutzer mit SSL. Nach den aktuellen Enthüllungen über das Umgehen von Verschlüsselung durch NSA, GHCQ und andere Dienste, sollte man jedoch nicht mehr davon ausgehen, dass diese Verbindungen nicht mitgelesen werden können.
[b]Kanal-Einstellungen[/b]
@@ -118,13 +107,15 @@ Wenn ein Kanal erstellt wird, muss eine bestimmte Zugriffsrechte-Kategorie (z.B.
Wenn Du die Experten-Kategorie wählst, kannst Du detaillierte Zugriffseinstellungen für verschiedenste Aspekte der Kommunikation festlegen. Unter den „Sicherheits- und Privatsphäre-Einstellungen“ kann für jeden Punkt auf der linken Seite eine von 7-8 möglichen Optionen aus dem Menü gewählt werden. Daneben gibt es diverse weitere Einstellmöglichkeiten zum Thema Privatsphäre.
+[img]https://friendicared.net/photo/0f5be8da282858edd645b0a1a6626491.png[/img]
+
Die Optionen für die einzelnen Punkte (z.B., wer Deine normalen Beiträge sehen kann) sind:
[ul][*]Niemand außer Du selbst
[*]Nur die, denen Du es explizit erlaubst
[*]Angenommene Verbindungen
[*]Beliebige Verbindungen
[*]Jeder auf diesem Website
-[*]Alle $Projectname-Nutzer
+[*]Alle Red-Nutzer
[*]Jeder authentifizierte
[*]Jeder im Internet[/ul]
@@ -134,19 +125,19 @@ Foren sind Kanäle, in denen mehrere Nutzer als Autoren fungieren können; eine
[b]Klone[/b]
-Konten in der $Projectname werden auch als [i]nomadische Identitäten[/i] bezeichnet. Nomadisch, weil bei anderen Diensten die Identität eines Nutzers an den Server oder die Plattform gebunden ist, auf der er ursprünglich erstellt wurde. Ein Facebook- oder Gmail-Konto ist and diese Dienste gekettet. Er funktioniert nicht ohne Facebook.com bzw. Gmail.com.
+Konten in der $Projectname werden auch als [i]nomadische Identitäten[/i] bezeichnet (eine ausführliche Erklärung dazu gibt es unter [url=[baseurl]/help/what_is_zot]What is Zot?[/url]). Nomadisch, weil bei anderen Diensten die Identität eines Nutzers an den Server oder die Plattform gebunden ist, auf der er ursprünglich erstellt wurde. Ein Facebook- oder Gmail-Konto ist and diese Dienste gekettet. Er funktioniert nicht ohne Facebook.com bzw. Gmail.com.
-Bei $Projectname ist das anders. Sagen wir, Du hast eine $Projectname-Indentität namens tina@$projectnamehub.com. Die kannst Du auf einen anderen Server klonen, mit dem gleichen oder einem anderen Namen, zum Beispiel lebtEwig@matrixserver.info.
+Bei Red ist das anders. Sagen wir, Du hast eine Red-Indentität namens tina@redhub.com. Die kannst Du auf einen anderen Server klonen, mit dem gleichen oder einem anderen Namen, zum Beispiel lebtEwig@matrixserver.info.
Beide Kanäle sind jetzt miteinander synchronisiert, das heißt, dass alle Kontakte und Einstellungen auf dem Klon immer die gleichen sind wie auf dem ursprünglichen Kanal. Es ist egal, ob Du eine Nachricht von dort aus oder vom Klon aus schickst. Alle Nachrichten sind in beiden Klonen vorhanden.
Das ist ein ziemlich revolutionäres Feature, wenn man sich einige Szenarien dazu ansieht:
-[ul][*]Was passiert, wenn ein Server, auf dem sich Deine Identität befindet, plötzlich offline ist (sicher haben viele von Euch den Twitter-„Fail Whale“ gesehen und verflucht)? Ohne Klone ist der Nutzer nicht in der Lage zu kommunizieren, bis der Server wieder online ist. Mit Klonen loggst Du Dich einfach bei Deinem geklonten Kanal ein und lebst glücklich bis an Dein Ende.
-[*]Der Administrator Deines $Projectname-Hubs kann es sich nicht länger leisten, seinen für alle kostenlosen Server zu bezahlen. Er gibt bekannt, dass der Server in zwei Wochen vom Netz gehen wird. Zeit genug, um Deine $Projectname-Kanäle auf andere Server zu klonen und somit Verbindungen und Freunde zu behalten.
-[*]Was, wenn Dein Kanal staatlicher Zensur unterliegt? Dein Server-Admin könnte gezwungen werden, Dein Konto und alle damit verbundenen Kanäle und Daten zu löschen. Durch Klone bietet $Projectname Zensur-Resistenz. Wenn Du willst, kannst Du hunderte von Klonen haben, alle mit unterschiedlichen Namen und auf unterschiedlichen Servern überall im Internet.[/ul]
+[ul][*]Was passiert, wenn ein Server, auf dem sich Deine Identität befindet, plötzlich offline ist? Ohne Klone ist der Nutzer nicht in der Lage zu kommunzieren, bis der Server wieder online ist. Mit Klonen loggst Du Dich einfach bei Deinem geklonten Kanal ein und lebst glücklich bis an Dein Ende.
+[*]Der Administrator Deines Red-Servers kann es sich nicht länger leisten, seinen für alle kostenlosen Server zu bezahlen. Er gibt bekannt, dass der Server in zwei Wochen vom Netz gehen wird. Zeit genug, um Deine Red-Kanäle auf andere Server zu klonen und somit Verbindungen und Freunde zu behalten.
+[*]Was, wenn Dein Kanal staatlicher Zensur unterliegt? Dein Server-Admin wird gezwungen, Dein Konto und alle damit verbundenen Kanäle und Daten zu löschen. Durch Klone bietet die $Projectname Zensur-Resistenz. Wenn Du willst, kannst Du hunderte von Klonen haben, alle mit unterschiedlichen Namen und auf unterschiedlichen Servern überall im Internet.[/ul]
-$Projectname bietet interessante, neue Möglichkeiten in Bezug auf die Privatsphäre. Mehr dazu unter „Tipps und Tricks zur privaten Kommunikation“.
+Red bietet interessante, neue Möglichkeiten in Bezug auf die Privatsphäre. Mehr dazu unter „Tipps und Tricks zur privaten Kommunikation“.
Klone unterliegen einigen Restriktionen. Eine vollständige Erklärung zum Klonen von Identitäten gibt es unter „Klone“.
@@ -156,7 +147,7 @@ Jeder Kanal kann beliebig viele Profile mit unterschiedlichen Informationen defi
[b]Kanal-Backups[/b]
-In $Projectname gibt es ein einfaches Ein-Klick-Backup, mit dem Du ein komplettes Backup Deiner Kanal-Einstellungen und Verbindungen herunterladen kannst.
+In Red gibt es ein einfaches Ein-Klick-Backup, mit dem Du ein komplettes Backup Deiner Kanal-Einstellungen und Verbindungen herunterladen kannst.
Solche Backups sind ein Weg, um Klone zu erstellen, und können genutzt werden, um einen Kanal wiederherzustellen.
@@ -168,26 +159,22 @@ Konten und Kanäle können sofort gelöscht werden, indem Du einfach auf einen L
[b]Beiträge schreiben[/b]
-$Projectname unterstützt diverse verschiedene Wege, um Inhalte mit Auszeichnung (z.B. fett, kursiv, farbig etc.) zu erstellen. Voreinstellung ist die $Projectname-Variante von BBCode (wie in vielen Web-Foren) mit einigen Ergänzungen, die nur hier funktionieren. Du kannst auch Markdown benutzen, wenn Dir das leichter fällt. Bis vor kurzem konnte auch ein grafischer Editor eingesetzt werden, der jedoch große Probleme aufwies und deshalb entfernt wurde. Wir suchen gerade nach einer Alternative.
+Red unterstützt diverse verschiedene Wege, um Inhalte mit Auszeichnung (z.B. fett, kursiv, farbig etc.) zu erstellen. Voreinstellung ist die $Projectname-Variante von BBCode (wie in vielen Web-Foren) mit einigen Ergänzungen, die nur hier funktionieren. Du kannst auch Markdown benutzen, wenn Dir das leichter fällt. Bis vor kurzem konnte auch ein grafischer Editor eingesetzt werden, der jedoch große Probleme aufwies und deshalb entfernt wurde. Wir suchen gerade nach einer Alternative.
Webseiten können neben BBCode und Markdown auch in HTML und Plain Text erstellt werden.
[b]Inhalte löschen[/b]
-Alle Inhalte in der $Projectname bleiben unter der Kontrolle des Mitglieds (bzw. Kanals), der sie ursprünglich erstellt hat. Alle Beiträge können jederzeit gelöscht werden, egal, ob sie auf dem Heimat-Server des Nutzers oder auf einem anderen Server erstellt wurden, an dem der Nutzer via Zot (Kommuikations- und Authentifizierungsprotokoll von $Projectname) angemeldet war.
+Alle Inhalte in der $Projectname bleiben unter der Kontrolle des Mitglieds (bzw. Kanals), der sie ursprünglich erstellt hat. Alle Beiträge können jederzeit gelöscht werden, egal, ob sie auf dem Heimat-Server des Nutzers oder auf einem anderen Server erstellt wurden, an dem der Nutzer via Zot angemeldet war.
[b]Medien[/b]
-Genau wie jedes andere Blog-System, soziale Netzwerk oder Mikro-Blogging-Dienst unterstützt $Projectname das Hochladen von Dateien, das Einbetten von Bildern und Videos und das Verlinken von Seiten.
+Genau wie jedes andere Blog-System, soziale Netzwerk oder Mikro-Blogging-Dienst unterstützt Red das Hochladen von Dateien, das Einbetten von Bildern und Videos und das Verlinken von Seiten.
[b]Vorschau/Editieren[/b]
Vor dem Absenden kann eine Vorschau von Beiträgen betrachtet werden. Außerdem können Beiträge auch nach dem Absenden noch verändert werden.
-[b]Umfragen[/b]
-
-Beiträge können als Umfragen gestaltet werden – die Leser können dann mittels entsprechender Buttons zustimmen, ablehnen oder sich enthalten, was ähnlich wie „Likes“ am Beitrag sichtbar wird. Dadurch kannst Du abschätzen, wie gut neue Ideen ankommen, oder informelle Umfragen starten.
-
[b]$Projectname erweitern[/b]
Die $Projectname kann auf vielerlei Art erweitert werden: Durch Server-Anpassung, persönliche Anpassung, setzen von Optionen, Themes und Addons/Plugins.
diff --git a/doc/de/main.bb b/doc/de/main.bb
index 1bfac634b..f310d0ab5 100644
--- a/doc/de/main.bb
+++ b/doc/de/main.bb
@@ -78,7 +78,6 @@ Zot ist das großartige neue Kommunikationsprotokoll, das extra für die RedMatr
[url=https://zothub.com/channel/one]Entwickler-Kanal[/url]
[url=https://federated.social/channel/postgres]Postgres-spezifischer Admin-Support-Kanal[/url]
-
[url=[baseurl]/help/credits]$Projectname Credits[/url]
[h3]Über diesen Red-Server[/h3]
diff --git a/doc/dev_beginner.bb b/doc/dev_beginner.bb
index 33b0edc95..729625713 100644
--- a/doc/dev_beginner.bb
+++ b/doc/dev_beginner.bb
@@ -174,8 +174,8 @@ It is a good idea to read the whole manual! Git is different to other version co
Now you should
[list]
[*] create an account at github.com
-[*] fork https://github.com/redmatrix/redmatrix
-[*] fork https://github.com/redmatrix/redmatrix-addons
+[*] fork https://github.com/redmatrix/hubzilla
+[*] fork https://github.com/redmatrix/hubzilla-addons
[/list]
If you not want to use GIT from the command line - there is a usefull Eclipse plugin named ""Eclipse Mylyn to GitHub connector".
@@ -362,7 +362,7 @@ surfer@debian:/var/www$ git checkout -b dev_beginning
Make sure your local repository is up-to-date with the main project.
Add the original repository as a remote named “upstream” if not done yet
[code]
-surfer@debian:/var/www$ git remote add upstream https://github.com/redmatrix/redmatrix
+surfer@debian:/var/www$ git remote add upstream https://github.com/redmatrix/hubzilla
[/code]
Fetch the newest work from that remote
diff --git a/doc/develop.bb b/doc/develop.bb
new file mode 100644
index 000000000..c46447cce
--- /dev/null
+++ b/doc/develop.bb
@@ -0,0 +1,34 @@
+[h2]Documentation for Developers[/h2]
+
+[h3]Technical Documentation[/h3]
+[zrl=[baseurl]/help/Zot---A-High-Level-Overview]A high level overview of Zot[/zrl]
+[zrl=[baseurl]/help/zot]An introduction to Zot[/zrl]
+[zrl=[baseurl]/help/zot_structures]Zot Stuctures[/zrl]
+[zrl=[baseurl]/help/comanche]Comanche Page Descriptions[/zrl]
+[zrl=[baseurl]/help/Creating-Templates]Creating Comanche Templates[/zrl]
+[zrl=[baseurl]/help/Widgets]Widgets[/zrl]
+[zrl=[baseurl]/help/plugins]Plugins[/zrl]
+[zrl=[baseurl]/help/doco]Contributing Documentation[/zrl]
+[zrl=[baseurl]/help/DerivedTheme1]Creating Derivative Themes[/zrl]
+[zrl=[baseurl]/help/schema_development]Schemas[/zrl]
+[zrl=[baseurl]/help/Translations]Translations[/zrl]
+[zrl=[baseurl]/help/developers]Developers[/zrl]
+[zrl=[baseurl]/help/intro_for_developers]Intro for Developers[/zrl]
+[zrl=[baseurl]/help/database]Database schema documantation[/zrl]
+[zrl=[baseurl]/help/api_functions]API functions[/zrl]
+[zrl=[baseurl]/help/api_posting]Posting to the red# using the API[/zrl]
+[zrl=[baseurl]/help/developer_function_primer]Red Functions 101[/zrl]
+[zrl=[baseurl]/doc/html/]Code Reference (Doxygen generated - sets cookies)[/zrl]
+[zrl=[baseurl]/help/to_do_doco]To-Do list for the Red Documentation Project[/zrl]
+[zrl=[baseurl]/help/to_do_code]To-Do list for Developers[/zrl]
+[zrl=[baseurl]/help/roadmap]Version 3 roadmap[/zrl]
+[zrl=[baseurl]/help/git_for_non_developers]Git for Non-Developers[/zrl]
+[zrl=[baseurl]/help/dev_beginner]Step-for-step manual for beginning developers[/zrl]
+
+[h3]Frequently Asked Questions For Developers[/h3]
+[zrl=[baseurl]/help/faq_developers]FAQ For Developers[/zrl]
+
+[h3]External Resources[/h3]
+
+[url=https://zothub.com/channel/one]Development Channel[/url]
+[url=https://federated.social/channel/postgres]Postgres-specific $Projectname Admin Support Channel[/url]
diff --git a/doc/developers.bb b/doc/developers.bb
index bec9914c8..e9dddc695 100644
--- a/doc/developers.bb
+++ b/doc/developers.bb
@@ -9,7 +9,7 @@ doing development.
Create your own github account.
-You may fork/clone the Red repository from [url=https://github.com/redmatrix/redmatrix.git]https://github.com/redmatrix/redmatrix.git[/url]
+You may fork/clone the Red repository from [url=https://github.com/redmatrix/hubzilla.git]https://github.com/redmatrix/hubzilla.git[/url]
Follow the instructions provided here: [url=http://help.github.com/fork-a-repo/]http://help.github.com/fork-a-repo/[/url]
to create and use your own tracking fork on github
diff --git a/doc/diaspora_compat.md b/doc/diaspora_compat.md
index eb7ec656d..255b565a2 100644
--- a/doc/diaspora_compat.md
+++ b/doc/diaspora_compat.md
@@ -1,12 +1,12 @@
##Diaspora Compatibility
-Diaspora protocol compatibility is presently considered an ***experimental*** feature. It may not be available on all sites and presents some serious compatibility issues with redmatrix. At the moment these compatibility issues will be shared with "Friendica-over-Diaspora" protocol communications.
+Diaspora protocol compatibility is presently considered an ***experimental*** feature. It may not be available on all sites and presents some serious compatibility issues with hubzilla. At the moment these compatibility issues will be shared with "Friendica-over-Diaspora" protocol communications.
Private mail retraction (unsend) will not be possible on Diaspora.
Private posts and their associated comments are sent in plaintext email notifications in Diaspora and Friendica. This is a major privacy issue and affects any private communications you have where *any* member of the conversation is on another network. Be aware of it.
-Access control only works on posts and comments. Diaspora members will get permission denied trying to access any other access controlled redmatrix objects such as files, photos, webpages, chatrooms, etc. In the case of private photos that are linked to posts, they will see a "prohibited sign" instead of the photo. Diaspora has no concept of private media. There is no workaround except to make your media resources public (to everybody on the internet).
+Access control only works on posts and comments. Diaspora members will get permission denied trying to access any other access controlled hubzilla objects such as files, photos, webpages, chatrooms, etc. In the case of private photos that are linked to posts, they will see a "prohibited sign" instead of the photo. Diaspora has no concept of private media. There is no workaround except to make your media resources public (to everybody on the internet).
Edited posts will not be delivered. Diaspora members will see the original post/comment without edits. There is no mechanism in the protocol to update an existing post. We cannot delete it and submit another invisibly because the message-id will change and we need to keep the same message-id on our own network. The only workaround is to delete the post/comment and do it over. We may eventually provide a way to delete the out of date copy only from Diaspora and keep it intact on networks that can handle edits.
@@ -32,7 +32,7 @@ Community tags will not work. We will send a tagging activity as a comment. It w
Privacy tags (@!somebody) will not be available to Diaspora members. These tags may have to be stripped or obscured to prevent them from being hijacked - which could result in privacy issues.
-Plus-tagged redmatrix forums should work from Diaspora.
+Plus-tagged hubzilla forums should work from Diaspora.
Premium channel redirects will not be sent. If you allow Diaspora connections, they will not see that you have a premium channel.
diff --git a/doc/encryption.bb b/doc/encryption.bb
index ae51bd9fa..9985f4b33 100644
--- a/doc/encryption.bb
+++ b/doc/encryption.bb
@@ -2,6 +2,7 @@
Full disclosure: The encryption $Projectname uses per default is not absolutely waterproof. There [i]are[/i] known procedures to circumvent it. [i]But[/i] this takes a lot of effort and needs to be done individually for each channel. And to make this clear: Other services store your messages in plaintext, therefore we regard this approach as a [i]significant[/i] improvement for your privacy. Plus you are always free to use further encryption and password protection if you so desire.
+
To explain this in more detail:
- each channel has its key pair
@@ -13,4 +14,5 @@ So what is the scope of security? Full disclosure: This might be great, but it i
We believe that the NSA-level dragnet plaintext extracting mass surveillance is probably not possible due to the design of the zot protocol. Dedicated attacks including hacking into one hub to obtain the server logs and database only partly reveal what is going on between people communication between different hubs. We believe that this makes it much more expensive for state-level attackers to access your content in $Projectname.
+
We gladly accept help improving the security of the system and auditing it as well.
diff --git a/doc/external-resource-links.bb b/doc/external-resource-links.bb
index f5f87aef7..412e84467 100644
--- a/doc/external-resource-links.bb
+++ b/doc/external-resource-links.bb
@@ -15,6 +15,6 @@
[*][url=https://addons.mozilla.org/en-US/firefox/addon/redshare/]Redshare for Firefox[/url]
[*][url=https://github.com/cvogeley/red-for-android]Red for Android[/url]
[*][url=https://github.com/zzottel/feed2red]feed2red.pl (posts Atom/RSS feeds to channel)[/url]
-[*][url=https://wordpress.org/plugins/redmatrix-wp/]WordPress gateway (combine with wppost addon for full features)[/url]
+[*][url=https://wordpress.org/plugins/hubzilla-wp/]WordPress gateway (combine with wppost addon for full features)[/url]
#include doc/macros/main_footer.bb;
diff --git a/doc/faq_developers.bb b/doc/faq_developers.bb
index 6591de3f2..027efe8f4 100644
--- a/doc/faq_developers.bb
+++ b/doc/faq_developers.bb
@@ -5,6 +5,7 @@
[h3]What does $a mean?[/h3]
$a is a class defined in boot.php and passed all around $Projectname as a global reference variable. It defines everything necessary for the $Projectname application: Server variables, URL arguments, page structures, layouts, content, installed plugins, output device info, theme info, identity of the observer and (potential) page owner ...
+
We don't ever create more than one instance and always modify the elements of the single instance. The mechanics of this are somewhat tricky. If you have a function that is passed $a and needs to modify $a you need to declare it as a reference with '&' e.g.
[code]function foo(&$a) { $a->something = 'x'; // whatever };
diff --git a/doc/features.bb b/doc/features.bb
index e8d1cd687..cb194966e 100644
--- a/doc/features.bb
+++ b/doc/features.bb
@@ -33,6 +33,10 @@ At this point, the $Projectname [i]Affinity Slider[/i] tool, which usually appea
The Affinity Slider allows instantaneous filtering of large amounts of content, grouped by levels of closeness.
+[b]Connection Filtering[/b]
+
+You have the ability to control precisely what appears in your stream using the optional "Connection Filter". When enabled, the Connection Editor provides inputs for selecting criteria which needs to be matched in order to include or exclude a specific post from a specific channel. Once a post has been allowed, all comments to that post are allowed regardless of whether they match the selection criteria. You may select words that if present block the post or ensure it is included in your stream. Regular expressions may be used for even finer control, as well as hashtags or even the detected language of the post.
+
[b]Access Control Lists[/b]
When sharing content, members have the option of restricting who sees the content. By clicking on the padlock underneath the sharing box, one may choose desired recipients of the post, by clicking on their names.
@@ -56,7 +60,7 @@ Store photos in albums. All your photos may be protected by Access Control Lists
[b]Events Calendar[/b]
-Create and manage events, which may also be protected with Access Control Lists. Events can be exported to other software using the industry standard vcalendar/iCal format and shared in posts with others. Birthday events are automatically added from your friends and converted to your correct timezone so that you will know precisely when the birthday occurs - no matter where you are located in the world in relation to the birthday person. Events are normally created with attendance counters so your friends and connections can RSVP instantly.
+Create and manage events and tasks, which may also be protected with Access Control Lists. Events can be imported/exported to other software using the industry standard vcalendar/iCal format and shared in posts with others. Birthday events are automatically added from your friends and converted to your correct timezone so that you will know precisely when the birthday occurs - no matter where you are located in the world in relation to the birthday person. Events are normally created with attendance counters so your friends and connections can RSVP instantly.
[b]Chatrooms[/b]
diff --git a/doc/general.bb b/doc/general.bb
new file mode 100644
index 000000000..c9c2501e5
--- /dev/null
+++ b/doc/general.bb
@@ -0,0 +1,20 @@
+
+[h2]Project/Site Information[/h2]
+
+[zrl=[baseurl]/help/Privacy]Privacy Policy[/zrl]
+
+[zrl=[baseurl]/help/history]$Projectname history[/zrl]
+
+[h3]External Resources[/h3]
+[zrl=[baseurl]/help/external-resource-links]External Resource Links[/zrl]
+
+[url=https://github.com/redmatrix/hubzilla]Main Website[/url]
+[url=https://github.com/redmatrix/hubzilla-addons]Addon Website[/url]
+
+[url=[baseurl]/help/credits]$Projectname Credits[/url]
+
+[h3]About This $Projectname Hub[/h3]
+[zrl=[baseurl]/help/TermsOfService]Terms of Service For This Hub[/zrl]
+[zrl=[baseurl]/siteinfo]Hub Information (/siteinfo)[/zrl]
+[zrl=[baseurl]/siteinfo/json]Detailed Technical Hub Information in JSON format(/siteinfo/json)[/zrl]
+
diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb
index 576c53f08..76213851c 100644
--- a/doc/hidden_configs.bb
+++ b/doc/hidden_configs.bb
@@ -1,6 +1,7 @@
[b]Advanced Configurations for Administrators[/b]
$Projectname contains many configuration options hidden from the main admin panel.
+
These are generally options considered too niche, confusing, or advanced for
the average member. These settings can be activated from the the top level Red
directory with the syntax [code]util/config cat key value[/code] for a site
diff --git a/doc/history.md b/doc/history.md
index 40bfaeb74..7360c6b22 100644
--- a/doc/history.md
+++ b/doc/history.md
@@ -1,7 +1,7 @@
-Redmatrix History
-=================
+Hubzilla History
+================
-Redmatrix is a collaborative effort by the Redmatrix community and based on work introduced in Friendica by the Friendica community. The core design, the project mission, and software base itself were created/written primarily by Mike Macgirvin and represent the culmination of over a decade of software design using variations of this platform and an evolving vision of the role of communication software in our lives. Many others have contributed to this work, both conceptually and in terms of actual code (way too many to list individually).
+Hubzilla is a community developed open source project based on work introduced in Friendica by the Friendica community and which previously was named Redmatrix. The core design, the project mission, and software base itself were created/written primarily by Mike Macgirvin and represent the culmination of over a decade of software design using variations of this platform and an evolving vision of the role of communication software in our lives. Many others have contributed to this work, both conceptually and in terms of actual code (far too many to list individually).
##Mike Macgirvin -- Biography
@@ -10,9 +10,9 @@ Mike Macgirvin is an American software engineer now living in Australia. He spen
During a layoff round, Mike was let go from America Online in August 2001 and purchased a music store in Mountain View, California later to be known as "Sonica Music Company". Opening a retail store for non-essential goods at the beginning of a prolonged economic downturn was in retrospect probably not the wisest career move. Sonica eventually folded; in late 2006. Mike returned to working on software and systems support full-time and was employed briefly at Symantec before moving to Australia in early 2007. He currently lives on a farm "out in the middle of nowhere" and is employed as a Computer Systems Officer at the University of Wollongong.
-##Redmatrix - The Early Years
+##Hubzilla - The Early Years
-The software which went into creating Redmatrix has been through three distinct historical phases. It began in 2003 when Mike Macgirvin was looking for a content management system to power the website for his music store and found the available solutions to be lacking in various respects. The project was born as the "PurpleHaze weblog" under the nom de plume "Nerdware Communications". It was a multi-user PHP/MySQL CMS which provided blogs, forums, photo albums, events and more. Initially it provided the basis for a social community and shopping for customers of the store, but was also linked to Mike's personal weblog running on another domain. The distinguishing characteristic of this software was the ability for so-called "normal users" to re-assemble the components and choose different content feeds - and in essence create their own personal "multi-user CMS" as a view. Their custom view was able to communicate with anybody else that used the system, but could be partitioned so that adult sites and motorcycle enthusiast sites would not be visible to each other and not clash (or in this case Mike's personal website and the music store website). This software was developed primarily from 2003 until 2008.
+The software which went into creating Hubzilla has been through several distinct historical phases. It began in 2003 when Mike Macgirvin was looking for a content management system to power the website for his music store and found the available solutions to be lacking in various respects. The project was born as the "PurpleHaze weblog" under the nom de plume "Nerdware Communications". It was a multi-user PHP/MySQL CMS which provided blogs, forums, photo albums, events and more. Initially it provided the basis for a social community and shopping for customers of the store, but was also linked to Mike's personal weblog running on another domain. The distinguishing characteristic of this software was the ability for so-called "normal users" to re-assemble the components and choose different content feeds - and in essence create their own personal "multi-user CMS" as a view. Their custom view was able to communicate with anybody else that used the system, but could be partitioned so that adult sites and motorcycle enthusiast sites would not be visible to each other and not clash (or in this case Mike's personal website and the music store website). This software was developed primarily from 2003 until 2008.
In 2006 this software was used as the prototype for Symantec's "safeweb" reputation and community site. It was developed and enhanced until about 2008. A rewrite took place in 2008 named "Reflection" but work stagnated as the community dwindled. The need for content management systems and communications software dropped dramatically during this time as humans flocked to the new social aggregrators - Facebook and Twitter.
@@ -44,6 +44,13 @@ The concept of identity-aware content was alien to anything that existed previou
Over time a few federation components re-emerged. The ability to view RSS feeds was important to many people. Diaspora never really managed to re-write their protocol, so that was re-implemented and allowed Redmatrix to connect with Diaspora and Friendica again (Friendica still had their Diaspora protocol intact, so this was the most common language now remaining on the free web - despite its faults). Diaspora communications aren't able to make use of the advanced identity features, but they work for basic communications.
-Mike stepped down as active coordinator for the project in early 2015.
+
+##Hubzilla
+
+The Redmatrix project reached a point of stagnation in early 2015 as network growth leveled and active interest in the project declined. Mike met with several external high tech developers and innovators in a round of discussions that were called "Zotopia" in early 2015 to perform an independent review of the project and try to identify what had gone wrong and plan a route forward. The basic consensus is that the project suffered from bad marketing decisions which were compounded by mixed messages about the project goals and target audience. A "rival" project (Diaspora) was marketing itself as a Facebook competitor, but after some long discussions it was determined that Redmatrix wasn't a Facebook competitor at all, and too much emphasis was being placed on the "social network" and "anti-Facebook" features. It was a novel decentralisation platform with distributed identity and permissions, and as was pointed out, the "end user" was the wrong target market. These marketing mistakes were now identified with the project name and random sampling of various "customers" showed that none of them really had a clue about the software goals or target market segment. The mixed messages were associated with the brand identity and this was a problem.
+
+The Redmatrix community held a vote and the project was renamed "Hubzilla", with a renewed identity and focus - to provide software for creating and ultimately linking together unrelated community websites or "hubs" into a global community. This is in fact what we were building all along, but didn't fully recognise it. The target audience for this software as it turns out is not the members or end users, but software integrators and digital community architects and builders. These in turn will be responsible for marketing their own product (their respective online communities) to end-users or members. The software solves a real world need of linking isolated and "walled garden" community sites together into a larger cooperative. The transition from Redmatrix to Hubzilla was complex and has taken several months as we consolidated the marketing and media assets to deliver a consistent message. It is still ongoing at this time, and should be completed in Q4 2015.
+
+Mike stepped down as active coordinator for the project in early 2015 and turned management over to the community. He remains active as a Hubzilla developer.
#include doc/macros/main_footer.bb;
diff --git a/doc/html/index.php b/doc/html/index.php
index 07da8b8d9..4ef28aada 100644
--- a/doc/html/index.php
+++ b/doc/html/index.php
@@ -1,10 +1,17 @@
<!DOCTYPE html>
<html>
<head>
+<<<<<<< HEAD
+ <title>Hubzilla Doxygen API Documentation</title>
+</head>
+<body>
+<h1>Hubzilla Doxygen API Documentation not rendered</h1>
+=======
<title>$Projectname Doxygen API Documentation</title>
</head>
<body>
<h1>$Projectname Doxygen API Documentation not rendered</h1>
+>>>>>>> f866a42a42b9e12756353f5bb39a0f31a64bb26a
To get the Doxygen API Documentation you must render it with the program <a href="http://www.doxygen.org">Doxygen</a> (included in most distributions).
<pre>
$ doxygen util/Doxyfile
diff --git a/doc/main.bb b/doc/main.bb
index a3c84c860..44f227c16 100644
--- a/doc/main.bb
+++ b/doc/main.bb
@@ -1,87 +1,13 @@
-[img][baseurl]/assets/hashlogo.png[/img]
-[zrl=[baseurl]/help/about][b]What is the $Projectname?[/b][/zrl]
+[zrl=[baseurl]/help/about][b]What is $Projectname?[/b][/zrl]
$Projectname is a decentralized communication and publishing platform that enables you to keep in control of your communication needs by automatic encryption and finely grained access control. It's you, and only you who decides who is allowed to see your stuff.
[zrl=[baseurl]/help/features][b]$Projectname Features[/b][/zrl]
-The $Projectname is already running as a global distributed network and proves its versatility and scalability from standalone to huge sites on a daily basis.
+$Projectname is already running as a global distributed network and proves its versatility and scalability from standalone to huge sites on a daily basis.
Think of standalone family communication platforms, distributed online communities, support forums, blogs and homepages. Or professional content providers with commercial premium channels and targeted content acces. Whatever you want, the $Projectname is there to cater to your creativity.
[zrl=[baseurl]/help/what_is_zot][b]Got Zot? Well, you should.[/b][/zrl]
-Zot is the great new communicaton protocol invented especially for the $Projectname. As a member you are no longer bound to a single site or hub thanks to "Nomadic Identities". Migrate easily to another server and keep your contacts intact, or clone it and run the same channel on several servers. Just in case one of them might shut down, you don't lose out. Plus once you are inside the $Projectname there is no need for you to authenticate twice, even when accessing another $Projectname site. Zot is what sets the $Projectname apart.
+Zot is the great new communicaton protocol invented especially for $Projectname. As a member you are no longer bound to a single site or hub thanks to "Nomadic Identities". Migrate easily to another server and keep your contacts intact, or clone it and run the same channel on several servers. Just in case one of them might shut down, you don't lose out. Plus once you are inside $Projectname there is no need for you to authenticate twice, even when accessing another $Projectname site. Zot is what sets $Projectname apart.
-[h3]Getting Started[/h3]
-[zrl=[baseurl]/help/Privacy]Privacy Policy[/zrl]
-[zrl=[baseurl]/help/registration]Account Registration[/zrl]
-[zrl=[baseurl]/help/accounts_profiles_channels_basics]You at the $Projectname: accounts, profiles and channels in short[/zrl]
-[zrl=[baseurl]/help/profiles]Profiles[/zrl]
-[zrl=[baseurl]/help/channels]Channels[/zrl]
-[zrl=[baseurl]/help/roles]Permission roles and Channel types[/zrl]
-[zrl=[baseurl]/help/first-post]Your first posting[/zrl]
-[zrl=[baseurl]/help/connecting_to_channels]Connecting To Other Channels[/zrl]
-[zrl=[baseurl]/help/permissions]Permissions And Encryption: You Are In Control[/zrl]
-[zrl=[baseurl]/help/cloud]Cloud Storage[/zrl]
-[zrl=[baseurl]/help/remove_account]Remove Channel or Account[/zrl]
-[h3]Members Help[/h3]
-[zrl=[baseurl]/help/tags_and_mentions]Tags and Mentions[/zrl]
-[zrl=[baseurl]/help/webpages]Web Pages[/zrl]
-[zrl=[baseurl]/help/bbcode]BBcode reference for posts and comments[/zrl]
-[zrl=[baseurl]/help/checking_account_quota_usage]Checking Account Quota Usage[/zrl]
-[zrl=[baseurl]/help/cloud_desktop_clients]Cloud Desktop Clients[/zrl]
-[zrl=[baseurl]/help/AdvancedSearch]Advanced Directory Search[/zrl]
-[zrl=[baseurl]/help/addons]Help With Addons[/zrl]
-[zrl=[baseurl]/help/diaspora_compat]Diaspora Communications Compatibility (Diaspora and Friendica)[/zrl]
-[zrl=[baseurl]/help/faq_members]FAQ For Members[/zrl]
-
-[h3]Administrators Help[/h3]
-[zrl=[baseurl]/help/install]Install[/zrl]
-[zrl=[baseurl]/help/red2pi]Installing Red on the Raspberry Pi[/zrl]
-[zrl=[baseurl]/help/troubleshooting]Troubleshooting Tips[/zrl]
-[zrl=[baseurl]/help/hidden_configs]Tweaking $Projectname's Hidden Configurations[/zrl]
-[zrl=[baseurl]/help/faq_admins]FAQ For Admins[/zrl]
-[zrl=[baseurl]/help/service_classes]Service Classes[/zrl]
-
-[h3]Technical Documentation[/h3]
-[zrl=[baseurl]/help/history]$Projectname history[/zrl]
-[zrl=[baseurl]/help/Zot---A-High-Level-Overview]A high level overview of Zot[/zrl]
-[zrl=[baseurl]/help/zot]An introduction to Zot[/zrl]
-[zrl=[baseurl]/help/zot_structures]Zot Stuctures[/zrl]
-[zrl=[baseurl]/help/comanche]Comanche Page Descriptions[/zrl]
-[zrl=[baseurl]/help/Creating-Templates]Creating Comanche Templates[/zrl]
-[zrl=[baseurl]/help/Widgets]Widgets[/zrl]
-[zrl=[baseurl]/help/plugins]Plugins[/zrl]
-[zrl=[baseurl]/help/doco]Contributing Documentation[/zrl]
-[zrl=[baseurl]/help/DerivedTheme1]Creating Derivative Themes[/zrl]
-[zrl=[baseurl]/help/schema_development]Schemas[/zrl]
-[zrl=[baseurl]/help/Translations]Translations[/zrl]
-[zrl=[baseurl]/help/developers]Developers[/zrl]
-[zrl=[baseurl]/help/intro_for_developers]Intro for Developers[/zrl]
-[zrl=[baseurl]/help/database]Database schema documantation[/zrl]
-[zrl=[baseurl]/help/api_functions]API functions[/zrl]
-[zrl=[baseurl]/help/api_posting]Posting to the red# using the API[/zrl]
-[zrl=[baseurl]/help/developer_function_primer]Red Functions 101[/zrl]
-[zrl=[baseurl]/doc/html/]Code Reference (Doxygen generated - sets cookies)[/zrl]
-[zrl=[baseurl]/help/to_do_doco]To-Do list for the Red Documentation Project[/zrl]
-[zrl=[baseurl]/help/to_do_code]To-Do list for Developers[/zrl]
-[zrl=[baseurl]/help/roadmap]Version 3 roadmap[/zrl]
-[zrl=[baseurl]/help/git_for_non_developers]Git for Non-Developers[/zrl]
-[zrl=[baseurl]/help/dev_beginner]Step-for-step manual for beginning developers[/zrl]
-
-[h3]Frequently Asked Questions For Developers[/h3]
-[zrl=[baseurl]/help/faq_developers]FAQ For Developers[/zrl]
-
-[h3]External Resources[/h3]
-[zrl=[baseurl]/help/external-resource-links]External Resource Links[/zrl]
-[url=https://github.com/redmatrix/redmatrix]Main Website[/url]
-[url=https://github.com/redmatrix/redmatrix-addons]Addon Website[/url]
-[url=https://zothub.com/channel/one]Development Channel[/url]
-[url=https://federated.social/channel/postgres]Postgres-specific $Projectname Admin Support Channel[/url]
-
-[url=[baseurl]/help/credits]$Projectname Credits[/url]
-
-[h3]About This $Projectname Hub[/h3]
-[zrl=[baseurl]/help/TermsOfService]Terms of Service For This Hub[/zrl]
-[zrl=[baseurl]/siteinfo]Hub Information (/siteinfo)[/zrl]
-[zrl=[baseurl]/siteinfo/json]Detailed Technical Hub Information in JSON format(/siteinfo/json)[/zrl]
diff --git a/doc/members.bb b/doc/members.bb
new file mode 100644
index 000000000..705154b56
--- /dev/null
+++ b/doc/members.bb
@@ -0,0 +1,24 @@
+[h2]Documentation for Hub Members[/h2]
+
+[h3]Getting Started[/h3]
+[zrl=[baseurl]/help/registration]Account Registration[/zrl]
+[zrl=[baseurl]/help/accounts_profiles_channels_basics]You at $Projectname: accounts, profiles and channels in short[/zrl]
+[zrl=[baseurl]/help/profiles]Profiles[/zrl]
+[zrl=[baseurl]/help/channels]Channels[/zrl]
+[zrl=[baseurl]/help/roles]Permission roles and Channel types[/zrl]
+[zrl=[baseurl]/help/first-post]Your first posting[/zrl]
+[zrl=[baseurl]/help/connecting_to_channels]Connecting To Other Channels[/zrl]
+[zrl=[baseurl]/help/permissions]Permissions And Encryption: You Are In Control[/zrl]
+[zrl=[baseurl]/help/cloud]Cloud Storage[/zrl]
+[zrl=[baseurl]/help/remove_account]Remove Channel or Account[/zrl]
+
+[h3]Members Help[/h3]
+[zrl=[baseurl]/help/tags_and_mentions]Tags and Mentions[/zrl]
+[zrl=[baseurl]/help/webpages]Web Pages[/zrl]
+[zrl=[baseurl]/help/bbcode]BBcode reference for posts and comments[/zrl]
+[zrl=[baseurl]/help/checking_account_quota_usage]Checking Account Quota Usage[/zrl]
+[zrl=[baseurl]/help/cloud_desktop_clients]Cloud Desktop Clients[/zrl]
+[zrl=[baseurl]/help/AdvancedSearch]Advanced Directory Search[/zrl]
+[zrl=[baseurl]/help/addons]Help With Addons[/zrl]
+[zrl=[baseurl]/help/diaspora_compat]Diaspora Communications Compatibility (Diaspora and Friendica)[/zrl]
+[zrl=[baseurl]/help/faq_members]FAQ For Members[/zrl]
diff --git a/doc/plugins.bb b/doc/plugins.bb
index fdabbb7ab..f74276038 100644
--- a/doc/plugins.bb
+++ b/doc/plugins.bb
@@ -97,8 +97,8 @@ Let's go ahead and add some code to implement our post_local hook handler.
if(local_channel() != $item['uid']) /* Does this person own the post? */
return;
- if(($item['parent']) || ($item['item_restrict'])) {
- /* If the item has a parent, or item_restrict is non-zero, this is a comment or something else, not a status post. */
+ if(($item['parent']) || (! is_item_normal($item))) {
+ /* If the item has a parent, or is not "normal", this is a comment or something else, not a status post. */
return;
}
diff --git a/doc/red2pi.bb b/doc/red2pi.bb
index cede35fd9..18e7d325a 100644
--- a/doc/red2pi.bb
+++ b/doc/red2pi.bb
@@ -239,10 +239,10 @@ Cleanup: Remove the directory www/ (Git will not create files and folders in dir
Remove directory[code]pi@pi /var $ sudo rm -rf www/[/code]
Download the sources of $Projectname from GIT
-[code]pi@pi /var $ sudo git clone https://github.com/redmatrix/redmatrix.git www[/code]
+[code]pi@pi /var $ sudo git clone https://github.com/redmatrix/hubzilla.git www[/code]
Download the sources of the addons from GIT
-[code]pi@pi /var/www $ sudo git clone https://github.com/redmatrix/redmatrix-addons.git addon[/code]
+[code]pi@pi /var/www $ sudo git clone https://github.com/redmatrix/hubzilla-addons.git addon[/code]
Make user www-data the owner of the whole web directory (including subdirectories and files)
(TODO: This step has to be proofed by the next installation.)
diff --git a/doc/roadmap.bb b/doc/roadmap.bb
index b41938cfc..f57c76b74 100644
--- a/doc/roadmap.bb
+++ b/doc/roadmap.bb
@@ -55,5 +55,5 @@ Evangelism
Libzot
DNS abstraction for V3
- Allow a channel to live in an arbitrary "DNS" namespace, for instance "mike@core.redmatrix". Use our directories and zot to find the actual DNS location via redirection. This could potentially allow hubs to be hidden behind tor or alt-roots and accessible only via the matrix.
+ Allow a channel to live in an arbitrary "DNS" namespace, for instance "mike@core.hubzilla". Use our directories and zot to find the actual DNS location via redirection. This could potentially allow hubs to be hidden behind tor or alt-roots and accessible only via the matrix.
\ No newline at end of file
diff --git a/doc/to_do_code.bb b/doc/to_do_code.bb
index 7ee342ed4..94421bab0 100644
--- a/doc/to_do_code.bb
+++ b/doc/to_do_code.bb
@@ -4,7 +4,7 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]Documentation - see Red Documentation Project To-Do List[/li]
[li]Include TOS link in registration/verification email[/li]
-[li]forum widget with unread counts (requires the DB schema changes from v3/hubzilla to be viable)[/li]
+[li](done) forum widget with unread counts (requires the DB schema changes from v3/hubzilla to be viable)[/li]
[li]Create bug tracker module[/li]
[li]translation plugins - moses or apertium[/li]
[li]plugins - provide 'disable' which is softer than 'uninstall' for those plugins which create additional DB tables[/li]
@@ -14,6 +14,7 @@ We need much more than this, but here are areas where developers can help. Pleas
[li]provide a way for xchans with a certain network type to upgrade (unknown to rss, rss to statusnet, friendica-over-diaspora to friendica, for instance) based on new knowledge and/or redmatrix ability[/li]
[li](done - HZ) If DAV folders exist, add an option to the Settings page to set a default folder for attachment uploads.[/li]
[li]Integrate the &quot;open site&quot; list with the register page[/li]
+[li]Support comments and member notes on documentation pages (to achieve an effect similar to php.net)[/li]
[li]implement oembed provider interface[/li]
[li]refactor the oembed client interface so that we can safely sandbox remote content[/li]
[li]Many modern social apps now have both a profile photo and a "cover photo". Add support for this. [/li]
diff --git a/doc/to_do_doco.bb b/doc/to_do_doco.bb
deleted file mode 100644
index d0f595b3e..000000000
--- a/doc/to_do_doco.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-[b]Documentation To-Do List[/b]
-
-[b]Documentation we need to write[/b]
-
- Database schema detailed descriptions
-
- Complete plugin hook documentation
-
- API documentation
-
- Function and code documentation (doxygen)
-
- New Member guide
-
- &quot;Extra Feature&quot; reference, description of each
-
- Detailed Personal Settings Documentation
-
- Administration Guide (post-install)
-
- Administration Guide (pre-install)
-
-Return to the [url=[baseurl]/help/main]Main documentation page[/url]
diff --git a/doc/troubleshooting.bb b/doc/troubleshooting.bb
index 6628e2df8..1a2bd7f12 100644
--- a/doc/troubleshooting.bb
+++ b/doc/troubleshooting.bb
@@ -14,7 +14,7 @@ In the case of "500" errors, the issues may often be logged in your webserver lo
We encourage you to try to the best of your abilities to use these logs combined with the source code in your possession to troubleshoot issues and find their cause. The community is often able to help, but only you have access to your site logfiles and it is considered a security risk to share them.
-If a code issue has been uncovered, please report it on the project bugtracker (https://github.com/redmatrix/redmatrix/issues). Again provide as much detail as possible to avoid us going back and forth asking questions about your configuration or how to duplicate the problem, so that we can get right to the problem and figure out what to do about it. You are also welcome to offer your own solutions and submit patches. In fact we encourage this as we are all volunteers and have little spare time available. The more people that help, the easier the workload for everybody. It's OK if your solution isn't perfect. Every little bit helps and perhaps we can improve on it.
+If a code issue has been uncovered, please report it on the project bugtracker (https://github.com/redmatrix/hubzilla/issues). Again provide as much detail as possible to avoid us going back and forth asking questions about your configuration or how to duplicate the problem, so that we can get right to the problem and figure out what to do about it. You are also welcome to offer your own solutions and submit patches. In fact we encourage this as we are all volunteers and have little spare time available. The more people that help, the easier the workload for everybody. It's OK if your solution isn't perfect. Every little bit helps and perhaps we can improve on it.
#include doc/macros/troubleshooting_footer.bb;
#include doc/macros/main_footer.bb;
diff --git a/doc/what_is_zot.bb b/doc/what_is_zot.bb
index 765600806..50df9e392 100644
--- a/doc/what_is_zot.bb
+++ b/doc/what_is_zot.bb
@@ -55,7 +55,7 @@ For more detailed, technical information about Zot, check out the following link
- [url=https://github.com/friendica/red/wiki/zot]Zot development specification[/url]
- - [url=https://github.com/redmatrix/redmatrix/blob/master/include/zot.php]Zot reference implementation in PHP[/url]
+ - [url=https://github.com/redmatrix/hubzilla/blob/master/include/zot.php]Zot reference implementation in PHP[/url]
#include doc/macros/main_footer.bb;
diff --git a/images/default_profile_photos/alpha/300.png b/images/default_profile_photos/alpha/300.png
index 17211ee27..9e36606b8 100644
--- a/images/default_profile_photos/alpha/300.png
+++ b/images/default_profile_photos/alpha/300.png
Binary files differ
diff --git a/images/default_profile_photos/arrow_avatar/300.png b/images/default_profile_photos/arrow_avatar/300.png
new file mode 100644
index 000000000..a13221ceb
--- /dev/null
+++ b/images/default_profile_photos/arrow_avatar/300.png
Binary files differ
diff --git a/images/default_profile_photos/arrow_avatar/48.png b/images/default_profile_photos/arrow_avatar/48.png
new file mode 100644
index 000000000..aaa86c152
--- /dev/null
+++ b/images/default_profile_photos/arrow_avatar/48.png
Binary files differ
diff --git a/images/default_profile_photos/arrow_avatar/80.png b/images/default_profile_photos/arrow_avatar/80.png
new file mode 100644
index 000000000..cf48c584a
--- /dev/null
+++ b/images/default_profile_photos/arrow_avatar/80.png
Binary files differ
diff --git a/images/default_profile_photos/black_avatar_1/300.png b/images/default_profile_photos/black_avatar_1/300.png
index bc5b19793..0ed1fe763 100644
--- a/images/default_profile_photos/black_avatar_1/300.png
+++ b/images/default_profile_photos/black_avatar_1/300.png
Binary files differ
diff --git a/images/default_profile_photos/black_avatar_2/300.png b/images/default_profile_photos/black_avatar_2/300.png
index 8ff3cbd4c..c86490d7c 100644
--- a/images/default_profile_photos/black_avatar_2/300.png
+++ b/images/default_profile_photos/black_avatar_2/300.png
Binary files differ
diff --git a/images/default_profile_photos/blank/300.jpg b/images/default_profile_photos/blank/300.jpg
index 4024d6e88..6d039cd05 100644
--- a/images/default_profile_photos/blank/300.jpg
+++ b/images/default_profile_photos/blank/300.jpg
Binary files differ
diff --git a/images/default_profile_photos/blank/300.png b/images/default_profile_photos/blank/300.png
index 1edb25b76..dda9daa5e 100644
--- a/images/default_profile_photos/blank/300.png
+++ b/images/default_profile_photos/blank/300.png
Binary files differ
diff --git a/images/default_profile_photos/rainbow_man/300.jpg b/images/default_profile_photos/rainbow_man/300.jpg
index fc0ec3d77..d1d35c7d2 100644
--- a/images/default_profile_photos/rainbow_man/300.jpg
+++ b/images/default_profile_photos/rainbow_man/300.jpg
Binary files differ
diff --git a/images/default_profile_photos/rainbow_man/300.png b/images/default_profile_photos/rainbow_man/300.png
index 30a7e0ffb..b8541ef48 100644
--- a/images/default_profile_photos/rainbow_man/300.png
+++ b/images/default_profile_photos/rainbow_man/300.png
Binary files differ
diff --git a/images/default_profile_photos/rainbow_man_trans/300.png b/images/default_profile_photos/rainbow_man_trans/300.png
index a0a236841..b715f67ea 100644
--- a/images/default_profile_photos/rainbow_man_trans/300.png
+++ b/images/default_profile_photos/rainbow_man_trans/300.png
Binary files differ
diff --git a/images/default_profile_photos/red_avatar/300.png b/images/default_profile_photos/red_avatar/300.png
index 31d39a41a..9188aa08c 100644
--- a/images/default_profile_photos/red_avatar/300.png
+++ b/images/default_profile_photos/red_avatar/300.png
Binary files differ
diff --git a/images/default_profile_photos/red_koala/300.jpg b/images/default_profile_photos/red_koala/300.jpg
index e49343b1d..b9c8ffeaf 100644
--- a/images/default_profile_photos/red_koala/300.jpg
+++ b/images/default_profile_photos/red_koala/300.jpg
Binary files differ
diff --git a/images/default_profile_photos/red_koala/300.png b/images/default_profile_photos/red_koala/300.png
index ee4a701d9..8eab5e4b8 100644
--- a/images/default_profile_photos/red_koala/300.png
+++ b/images/default_profile_photos/red_koala/300.png
Binary files differ
diff --git a/images/default_profile_photos/red_koala_trans/300.png b/images/default_profile_photos/red_koala_trans/300.png
index 4e51c80e2..a76b2fffe 100644
--- a/images/default_profile_photos/red_koala_trans/300.png
+++ b/images/default_profile_photos/red_koala_trans/300.png
Binary files differ
diff --git a/images/default_profile_photos/redmatrix_logo_smiley/300.png b/images/default_profile_photos/redmatrix_logo_smiley/300.png
index 7299c4494..d0b18ea80 100644
--- a/images/default_profile_photos/redmatrix_logo_smiley/300.png
+++ b/images/default_profile_photos/redmatrix_logo_smiley/300.png
Binary files differ
diff --git a/images/ghash-32.png b/images/ghash-32.png
new file mode 100644
index 000000000..6b4913b82
--- /dev/null
+++ b/images/ghash-32.png
Binary files differ
diff --git a/images/hz-16.png b/images/hz-16.png
new file mode 100644
index 000000000..b88b6aa57
--- /dev/null
+++ b/images/hz-16.png
Binary files differ
diff --git a/images/hz-32.png b/images/hz-32.png
new file mode 100644
index 000000000..79c728a83
--- /dev/null
+++ b/images/hz-32.png
Binary files differ
diff --git a/images/hz-64.png b/images/hz-64.png
new file mode 100644
index 000000000..bff03d8da
--- /dev/null
+++ b/images/hz-64.png
Binary files differ
diff --git a/images/redmatrix_logo.svg b/images/redmatrix_logo.svg
index cb98a7fb5..840c3e624 100644
--- a/images/redmatrix_logo.svg
+++ b/images/redmatrix_logo.svg
@@ -14,7 +14,7 @@
id="svg3053"
version="1.1"
inkscape:version="0.48.4 r9939"
- sodipodi:docname="redmatrix.svg">
+ sodipodi:docname="hubzilla.svg">
<defs
id="defs3055" />
<sodipodi:namedview
diff --git a/images/rm.svg b/images/rm.svg
index 903a5c894..c056a621e 100644
--- a/images/rm.svg
+++ b/images/rm.svg
@@ -15,7 +15,7 @@
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="hashlogo.svg"
- inkscape:export-filename="/run/user/1000/gvfs/sftp:host=jeroenpraat.nl,port=69,user=root/var/www/redmatrix/assets/hashlogo2.png"
+ inkscape:export-filename="/run/user/1000/gvfs/sftp:host=jeroenpraat.nl,port=69,user=root/var/www/hubzilla/assets/hashlogo2.png"
inkscape:export-xdpi="156.42857"
inkscape:export-ydpi="156.42857">
<defs
diff --git a/include/AccessList.php b/include/AccessList.php
new file mode 100644
index 000000000..43f1de111
--- /dev/null
+++ b/include/AccessList.php
@@ -0,0 +1,148 @@
+<?php
+
+
+class AccessList {
+
+ private $allow_cid;
+ private $allow_gid;
+ private $deny_cid;
+ private $deny_gid;
+
+ /* indicates if we are using the default constructor values or values that have been set explicitly. */
+
+ private $explicit;
+
+ function __construct($channel) {
+
+ if($channel) {
+ $this->allow_cid = $channel['channel_allow_cid'];
+ $this->allow_gid = $channel['channel_allow_gid'];
+ $this->deny_cid = $channel['channel_deny_cid'];
+ $this->deny_gid = $channel['channel_deny_gid'];
+ }
+ else {
+ $this->allow_cid = '';
+ $this->allow_gid = '';
+ $this->deny_cid = '';
+ $this->deny_gid = '';
+ }
+
+ $this->explicit = false;
+ }
+
+ function get_explicit() {
+ return $this->explicit;
+ }
+
+ /**
+ * Set AccessList from strings such as those in already
+ * existing stored data items
+ */
+
+ function set($arr,$explicit = true) {
+ $this->allow_cid = $arr['allow_cid'];
+ $this->allow_gid = $arr['allow_gid'];
+ $this->deny_cid = $arr['deny_cid'];
+ $this->deny_gid = $arr['deny_gid'];
+
+ $this->explicit = $explicit;
+ }
+
+ /**
+ * return an array consisting of the current
+ * access list components where the elements
+ * are directly storable.
+ */
+
+ function get() {
+ return array(
+ 'allow_cid' => $this->allow_cid,
+ 'allow_gid' => $this->allow_gid,
+ 'deny_cid' => $this->deny_cid,
+ 'deny_gid' => $this->deny_gid,
+ );
+ }
+
+ /**
+ * Set AccessList from arrays, such as those provided by
+ * acl_selector(). For convenience, a string (or non-array) input is
+ * assumed to be a comma-separated list and auto-converted into an array.
+ */
+
+ function set_from_array($arr,$explicit = true) {
+ $this->allow_cid = perms2str((is_array($arr['contact_allow']))
+ ? $arr['contact_allow'] : explode(',',$arr['contact_allow']));
+ $this->allow_gid = perms2str((is_array($arr['group_allow']))
+ ? $arr['group_allow'] : explode(',',$arr['group_allow']));
+ $this->deny_cid = perms2str((is_array($arr['contact_deny']))
+ ? $arr['contact_deny'] : explode(',',$arr['contact_deny']));
+ $this->deny_gid = perms2str((is_array($arr['group_deny']))
+ ? $arr['group_deny'] : explode(',',$arr['group_deny']));
+
+ $this->explicit = $explicit;
+ }
+
+ function is_private() {
+ return (($this->allow_cid || $this->allow_gid || $this->deny_cid || $this->deny_gid) ? true : false);
+ }
+
+}
+
+/**
+ * @brief Used to wrap ACL elements in angle brackets for storage.
+ *
+ * @param[in,out] array &$item
+ */
+function sanitise_acl(&$item) {
+ if (strlen($item))
+ $item = '<' . notags(trim($item)) . '>';
+ else
+ unset($item);
+}
+
+/**
+ * @brief Convert an ACL array to a storable string.
+ *
+ * @param array $p
+ * @return array
+ */
+function perms2str($p) {
+ $ret = '';
+
+ if (is_array($p))
+ $tmp = $p;
+ else
+ $tmp = explode(',', $p);
+
+ if (is_array($tmp)) {
+ array_walk($tmp, 'sanitise_acl');
+ $ret = implode('', $tmp);
+ }
+
+ return $ret;
+}
+
+
+/**
+ * @brief Turn user/group ACLs stored as angle bracketed text into arrays.
+ *
+ * turn string array of angle-bracketed elements into string array
+ * e.g. "<123xyz><246qyo><sxo33e>" => array(123xyz,246qyo,sxo33e);
+ *
+ * @param string $s
+ * @return array
+ */
+function expand_acl($s) {
+ $ret = array();
+
+ if(strlen($s)) {
+ $t = str_replace('<','',$s);
+ $a = explode('>',$t);
+ foreach($a as $aa) {
+ if($aa)
+ $ret[] = $aa;
+ }
+ }
+
+ return $ret;
+}
diff --git a/include/Contact.php b/include/Contact.php
index a27a8eca9..008574d8f 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -22,9 +22,8 @@ function rconnect_url($channel_id,$xchan) {
if(($r) && ($r[0]['xchan_follow']))
return $r[0]['xchan_follow'];
- $r = q("select hubloc_url from hubloc where hubloc_hash = '%s' and ( hubloc_flags & %d )>0 limit 1",
- dbesc($xchan),
- intval(HUBLOC_FLAGS_PRIMARY)
+ $r = q("select hubloc_url from hubloc where hubloc_hash = '%s' and hubloc_primary = 1 limit 1",
+ dbesc($xchan)
);
if($r)
@@ -35,42 +34,37 @@ function rconnect_url($channel_id,$xchan) {
function abook_connections($channel_id, $sql_conditions = '') {
$r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d
- and not ( abook_flags & %d )>0 $sql_conditions",
- intval($channel_id),
- intval(ABOOK_FLAG_SELF)
+ and abook_self = 0 $sql_conditions",
+ intval($channel_id)
);
return(($r) ? $r : array());
}
function abook_self($channel_id) {
$r = q("select * from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d
- and ( abook_flags & %d )>0 limit 1",
- intval($channel_id),
- intval(ABOOK_FLAG_SELF)
+ and abook_self = 1 limit 1",
+ intval($channel_id)
);
return(($r) ? $r[0] : array());
}
function channelx_by_nick($nick) {
- $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_address = '%s' and not ( channel_pageflags & %d )>0 LIMIT 1",
- dbesc($nick),
- intval(PAGE_REMOVED)
+ $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_address = '%s' and channel_removed = 0 LIMIT 1",
+ dbesc($nick)
);
return(($r) ? $r[0] : false);
}
function channelx_by_hash($hash) {
- $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_hash = '%s' and not ( channel_pageflags & %d )>0 LIMIT 1",
- dbesc($hash),
- intval(PAGE_REMOVED)
+ $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_hash = '%s' and channel_removed = 0 LIMIT 1",
+ dbesc($hash)
);
return(($r) ? $r[0] : false);
}
function channelx_by_n($id) {
- $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_id = %d and not ( channel_pageflags & %d )>0 LIMIT 1",
- dbesc($id),
- intval(PAGE_REMOVED)
+ $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_id = %d and channel_removed = 0 LIMIT 1",
+ dbesc($id)
);
return(($r) ? $r[0] : false);
}
@@ -129,9 +123,40 @@ function vcard_from_xchan($xchan, $observer = null, $mode = '') {
function abook_toggle_flag($abook,$flag) {
- $r = q("UPDATE abook set abook_flags = (abook_flags %s %d) where abook_id = %d and abook_channel = %d",
- db_getfunc('^'),
- intval($flag),
+ $field = '';
+
+ switch($flag) {
+ case ABOOK_FLAG_BLOCKED:
+ $field = 'abook_blocked';
+ break;
+ case ABOOK_FLAG_IGNORED:
+ $field = 'abook_ignored';
+ break;
+ case ABOOK_FLAG_HIDDEN:
+ $field = 'abook_hidden';
+ break;
+ case ABOOK_FLAG_ARCHIVED:
+ $field = 'abook_archived';
+ break;
+ case ABOOK_FLAG_PENDING:
+ $field = 'abook_pending';
+ break;
+ case ABOOK_FLAG_UNCONNECTED:
+ $field = 'abook_unconnected';
+ break;
+ case ABOOK_FLAG_SELF:
+ $field = 'abook_self';
+ break;
+ case ABOOK_FLAG_FEED:
+ $field = 'abook_feed';
+ break;
+ default:
+ break;
+ }
+ if(! $field)
+ return;
+
+ $r = q("UPDATE abook set $field = (1 - $field) where abook_id = %d and abook_channel = %d",
intval($abook['abook_id']),
intval($abook['abook_channel'])
);
@@ -139,7 +164,7 @@ function abook_toggle_flag($abook,$flag) {
// if unsetting the archive bit, update the timestamps so we'll try to connect for an additional 30 days.
- if(($flag === ABOOK_FLAG_ARCHIVED) && ($abook['abook_flags'] & ABOOK_FLAG_ARCHIVED)) {
+ if(($flag === ABOOK_FLAG_ARCHIVED) && (intval($abook['abook_archived']))) {
$r = q("update abook set abook_connected = '%s', abook_updated = '%s'
where abook_id = %d and abook_channel = %d",
dbesc(datetime_convert()),
@@ -258,25 +283,22 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
if(! $local) {
- $r = q("update channel set channel_deleted = '%s', channel_pageflags = (channel_pageflags | %d), channel_r_stream = 0, channel_r_profile = 0,
+ $r = q("update channel set channel_deleted = '%s', channel_removed = 1, channel_r_stream = 0, channel_r_profile = 0,
channel_r_photos = 0, channel_r_abook = 0, channel_w_stream = 0, channel_w_wall = 0, channel_w_tagwall = 0,
channel_w_comment = 0, channel_w_mail = 0, channel_w_photos = 0, channel_w_chat = 0, channel_a_delegate = 0,
channel_r_storage = 0, channel_w_storage = 0, channel_r_pages = 0, channel_w_pages = 0, channel_a_republish = 0
where channel_id = %d",
dbesc(datetime_convert()),
- intval(PAGE_REMOVED),
intval($channel_id)
);
- $r = q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_hash = '%s'",
- intval(HUBLOC_FLAGS_DELETED),
+ $r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s'",
dbesc($channel['channel_hash'])
);
- $r = q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s'",
- intval(XCHAN_FLAGS_DELETED),
+ $r = q("update xchan set xchan_deleted = 1 where xchan_hash = '%s'",
dbesc($channel['channel_hash'])
);
@@ -298,19 +320,17 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
q("DELETE FROM `spam` WHERE `uid` = %d", intval($channel_id));
- q("delete from abook where abook_xchan = '%s' and (abook_flags & %d)>0",
- dbesc($channel['channel_hash']),
- dbesc(ABOOK_FLAG_SELF)
+ q("delete from abook where abook_xchan = '%s' and abook_self = 1 ",
+ dbesc($channel['channel_hash'])
);
- $r = q("update channel set channel_deleted = '%s', channel_pageflags = (channel_pageflags | %d) where channel_id = %d",
+ $r = q("update channel set channel_deleted = '%s', channel_removed = 1 where channel_id = %d",
dbesc(datetime_convert()),
- intval(PAGE_REMOVED),
intval($channel_id)
);
// if this was the default channel, set another one as default
if($a->account['account_default_channel'] == $channel_id) {
- $r = q("select channel_id from channel where channel_account_id = %d and not ( channel_pageflags & %d)>0 limit 1",
+ $r = q("select channel_id from channel where channel_account_id = %d and channel_removed = 0 limit 1",
intval($a->account['account_id']),
intval(PAGE_REMOVED));
if ($r) {
@@ -327,8 +347,7 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
}
- $r = q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_hash = '%s' and hubloc_url = '%s' ",
- intval(HUBLOC_FLAGS_DELETED),
+ $r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s' and hubloc_url = '%s' ",
dbesc($channel['channel_hash']),
dbesc(z_root())
);
@@ -337,16 +356,14 @@ function channel_remove($channel_id, $local = true, $unset_session=true) {
$hublocs = 0;
- $r = q("select hubloc_id from hubloc where hubloc_hash = '%s' and not (hubloc_flags & %d)>0",
- dbesc($channel['channel_hash']),
- intval(HUBLOC_FLAGS_DELETED)
+ $r = q("select hubloc_id from hubloc where hubloc_hash = '%s' and hubloc_deleted = 0",
+ dbesc($channel['channel_hash'])
);
if($r)
$hublocs = count($r);
if(! $hublocs) {
- $r = q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s' ",
- intval(XCHAN_FLAGS_DELETED),
+ $r = q("update xchan set xchan_deleted = 1 where xchan_hash = '%s' ",
dbesc($channel['channel_hash'])
);
}
@@ -389,10 +406,8 @@ function mark_orphan_hubsxchans() {
if($dirmode == DIRECTORY_MODE_NORMAL)
return;
- $r = q("update hubloc set hubloc_status = (hubloc_status | %d) where (hubloc_status & %d) = 0
+ $r = q("update hubloc set hubloc_error = 1 where hubloc_error = 0
and hubloc_network = 'zot' and hubloc_connected < %s - interval %s",
- intval(HUBLOC_OFFLINE),
- intval(HUBLOC_OFFLINE),
db_utcnow(), db_quoteinterval('36 day')
);
@@ -409,27 +424,21 @@ function mark_orphan_hubsxchans() {
// }
- $r = q("select hubloc_id, hubloc_hash from hubloc where (hubloc_status & %d)>0 and not (hubloc_flags & %d)>0",
- intval(HUBLOC_OFFLINE),
- intval(HUBLOC_FLAGS_ORPHANCHECK)
- );
+ $r = q("select hubloc_id, hubloc_hash from hubloc where hubloc_error = 0 and hubloc_orphancheck = 0");
if($r) {
foreach($r as $rr) {
// see if any other hublocs are still alive for this channel
- $x = q("select * from hubloc where hubloc_hash = '%s' and not (hubloc_status & %d)>0",
- dbesc($rr['hubloc_hash']),
- intval(HUBLOC_OFFLINE)
+ $x = q("select * from hubloc where hubloc_hash = '%s' and hubloc_error = 0",
+ dbesc($rr['hubloc_hash'])
);
if($x) {
// yes - if the xchan was marked as an orphan, undo it
- $y = q("update xchan set xchan_flags = (xchan_flags & ~%d) where (xchan_flags & %d)>0 and xchan_hash = '%s'",
- intval(XCHAN_FLAGS_ORPHAN),
- intval(XCHAN_FLAGS_ORPHAN),
+ $y = q("update xchan set xchan_orphan = 0 where xchan_orphan = 1 and xchan_hash = '%s'",
dbesc($rr['hubloc_hash'])
);
@@ -438,16 +447,14 @@ function mark_orphan_hubsxchans() {
// nope - mark the xchan as an orphan
- $y = q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s'",
- intval(XCHAN_FLAGS_ORPHAN),
+ $y = q("update xchan set xchan_orphan = 1 where xchan_hash = '%s'",
dbesc($rr['hubloc_hash'])
);
}
// mark that we've checked this entry so we don't need to do it again
- $y = q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_id = %d",
- intval(HUBLOC_FLAGS_ORPHANCHECK),
+ $y = q("update hubloc set hubloc_orphancheck = 1 where hubloc_id = %d",
dbesc($rr['hubloc_id'])
);
}
@@ -516,13 +523,11 @@ function remove_all_xchan_resources($xchan, $channel_id = 0) {
// directory servers need to keep the record around for sync purposes - mark it deleted
- $r = q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_hash = '%s'",
- intval(HUBLOC_FLAGS_DELETED),
+ $r = q("update hubloc set hubloc_deleted = 1 where hubloc_hash = '%s'",
dbesc($xchan)
);
- $r = q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s'",
- intval(XCHAN_FLAGS_DELETED),
+ $r = q("update xchan set xchan_deleted = 1 where xchan_hash = '%s'",
dbesc($xchan)
);
}
@@ -539,8 +544,7 @@ function contact_remove($channel_id, $abook_id) {
$archive = get_pconfig($channel_id, 'system','archive_removed_contacts');
if($archive) {
- q("update abook set abook_flags = ( abook_flags | %d ) where abook_id = %d and abook_channel = %d",
- intval(ABOOK_FLAG_ARCHIVED),
+ q("update abook set abook_archived = 1 where abook_id = %d and abook_channel = %d",
intval($abook_id),
intval($channel_id)
);
@@ -557,7 +561,7 @@ function contact_remove($channel_id, $abook_id) {
$abook = $r[0];
- if($abook['abook_flags'] & ABOOK_FLAG_SELF)
+ if(intval($abook['abook_self']))
return false;
diff --git a/include/ConversationObject.php b/include/ConversationObject.php
index af0bb8d2c..7e0d67c10 100644
--- a/include/ConversationObject.php
+++ b/include/ConversationObject.php
@@ -166,11 +166,11 @@ class Conversation extends BaseObject {
if(($item->get_data_value('author_xchan') === $ob_hash) || ($item->get_data_value('owner_xchan') === $ob_hash))
$item->set_commentable(true);
- if($item->get_data_value('item_flags') & ITEM_NOCOMMENT) {
+ if(intval($item->get_data_value('item_nocomment'))) {
$item->set_commentable(false);
}
elseif(($this->observer) && (! $item->is_commentable())) {
- if((array_key_exists('owner',$item->data)) && ($item->data['owner']['abook_flags'] & ABOOK_FLAG_SELF))
+ if((array_key_exists('owner',$item->data)) && intval($item->data['owner']['abook_self']))
$item->set_commentable(perm_is_allowed($this->profile_owner,$this->observer['xchan_hash'],'post_comments'));
else
$item->set_commentable(can_comment_on_post($this->observer['xchan_hash'],$item->data));
diff --git a/include/Import/Importer.php b/include/Import/Importer.php
index 5e684cd8e..cddfac7b5 100644
--- a/include/Import/Importer.php
+++ b/include/Import/Importer.php
@@ -1,11 +1,11 @@
<?php /** @file */
-namespace RedMatrix\Import;
+namespace Hubzilla\Import;
/**
* @brief Class Import
*
- * @package RedMatrix\Import
+ * @package Hubzilla\Import
*/
class Import {
diff --git a/include/Import/refimport.php b/include/Import/refimport.php
index b9b6bf639..3ef8870ac 100644
--- a/include/Import/refimport.php
+++ b/include/Import/refimport.php
@@ -88,7 +88,11 @@ function refimport_content(&$a) {
$arr['author_xchan'] = $channel['channel_hash'];
$arr['owner_xchan'] = $channel['channel_hash'];
$arr['app'] = REFLECT_BLOGNAME;
- $arr['item_flags'] = ITEM_ORIGIN|ITEM_WALL|ITEM_THREAD_TOP;
+
+ $arr['item_origin'] = 1;
+ $arr['item_wall'] = 1;
+ $arr['item_thread_top'] = 1;
+
$arr['verb'] = ACTIVITY_POST;
// this is an assumption
@@ -205,7 +209,7 @@ function reflect_find_user($users,$name) {
function reflect_comment_store($channel,$post,$comment,$user) {
- // if the commenter was the channel owner, use their redmatrix xchan
+ // if the commenter was the channel owner, use their hubzilla xchan
if($comment['author'] === REFLECT_EXPORTUSERNAME && $comment['registered'])
$hash = $channel['xchan_hash'];
@@ -256,7 +260,8 @@ function reflect_comment_store($channel,$post,$comment,$user) {
$arr['edited'] = $comment['created'];
$arr['author_xchan'] = $hash;
$arr['owner_xchan'] = $channel['channel_hash'];
- $arr['item_flags'] = ITEM_ORIGIN|ITEM_WALL;
+ $arr['item_origin'] = 1;
+ $arr['item_wall'] = 1;
$arr['verb'] = ACTIVITY_POST;
$arr['comment_policy'] = 'contacts';
diff --git a/include/ItemObject.php b/include/ItemObject.php
index d5601edf5..d23c1c658 100644
--- a/include/ItemObject.php
+++ b/include/ItemObject.php
@@ -152,7 +152,7 @@ class Item extends BaseObject {
}
}
- $consensus = (($item['item_flags'] & ITEM_CONSENSUS) ? true : false);
+ $consensus = (intval($item['item_consensus']) ? true : false);
if($consensus) {
$response_verbs[] = 'agree';
$response_verbs[] = 'disagree';
@@ -212,9 +212,9 @@ class Item extends BaseObject {
'do' => t("Add Star"),
'undo' => t("Remove Star"),
'toggle' => t("Toggle Star Status"),
- 'classdo' => (($item['item_flags'] & ITEM_STARRED) ? "hidden" : ""),
- 'classundo' => (($item['item_flags'] & ITEM_STARRED) ? "" : "hidden"),
- 'isstarred' => (($item['item_flags'] & ITEM_STARRED) ? "starred icon-star" : "unstarred icon-star-empty"),
+ 'classdo' => (intval($item['item_starred']) ? "hidden" : ""),
+ 'classundo' => (intval($item['item_starred']) ? "" : "hidden"),
+ 'isstarred' => (intval($item['item_starred']) ? "starred icon-star" : "unstarred icon-star-empty"),
'starred' => t('starred'),
);
@@ -224,9 +224,9 @@ class Item extends BaseObject {
}
- $verified = (($item['item_flags'] & ITEM_VERIFIED) ? t('Message signature validated') : '');
- $forged = ((($item['sig']) && (! ($item['item_flags'] & ITEM_VERIFIED))) ? t('Message signature incorrect') : '');
- $unverified = '' ; // (($this->is_wall_to_wall() && (! ($item['item_flags'] & ITEM_VERIFIED))) ? t('Message cannot be verified') : '');
+ $verified = (intval($item['item_verified']) ? t('Message signature validated') : '');
+ $forged = ((($item['sig']) && (! intval($item['item_verified']))) ? t('Message signature incorrect') : '');
+ $unverified = '' ; // (($this->is_wall_to_wall() && (! intval($item['item_verified']))) ? t('Message cannot be verified') : '');
@@ -373,12 +373,16 @@ class Item extends BaseObject {
$result['children'] = array();
$nb_children = count($children);
+ $visible_comments = get_config('system','expanded_comments');
+ if($visible_comments === false)
+ $visible_comments = 3;
+
if(($this->get_display_mode() === 'normal') && ($nb_children > 0)) {
foreach($children as $child) {
$result['children'][] = $child->get_template_data($conv_responses, $thread_level + 1);
}
// Collapse
- if(($nb_children > 2) || ($thread_level > 1)) {
+ if(($nb_children > $visible_comments) || ($thread_level > 1)) {
$result['children'][0]['comment_firstcollapsed'] = true;
$result['children'][0]['num_comments'] = $comment_count_txt;
$result['children'][0]['hide_text'] = t('[+] show all');
@@ -386,7 +390,7 @@ class Item extends BaseObject {
$result['children'][$nb_children - 1]['comment_lastcollapsed'] = true;
}
else {
- $result['children'][$nb_children - 3]['comment_lastcollapsed'] = true;
+ $result['children'][$nb_children - ($visible_comments + 1)]['comment_lastcollapsed'] = true;
}
}
}
diff --git a/include/RedDAV/RedDirectory.php b/include/RedDAV/RedDirectory.php
index 922be378d..507fde46f 100644
--- a/include/RedDAV/RedDirectory.php
+++ b/include/RedDAV/RedDirectory.php
@@ -50,7 +50,7 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
*/
public function __construct($ext_path, &$auth_plugin) {
// $ext_path = urldecode($ext_path);
- //logger('directory ' . $ext_path, LOGGER_DATA);
+ logger('directory ' . $ext_path, LOGGER_DATA);
$this->ext_path = $ext_path;
// remove "/cloud" from the beginning of the path
$modulename = get_app()->module;
@@ -80,7 +80,7 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
* @return array \Sabre\DAV\INode[]
*/
public function getChildren() {
- //logger('children for ' . $this->ext_path, LOGGER_DATA);
+ logger('children for ' . $this->ext_path, LOGGER_DATA);
$this->log();
if (get_config('system', 'block_public') && (! $this->auth->channel_id) && (! $this->auth->observer)) {
@@ -200,9 +200,8 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$mimetype = z_mime_content_type($name);
- $c = q("SELECT * FROM channel WHERE channel_id = %d AND NOT (channel_pageflags & %d)>0 LIMIT 1",
- intval($this->auth->owner_id),
- intval(PAGE_REMOVED)
+ $c = q("SELECT * FROM channel WHERE channel_id = %d AND channel_removed = 0 LIMIT 1",
+ intval($this->auth->owner_id)
);
if (! $c) {
@@ -213,28 +212,55 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$filesize = 0;
$hash = random_string();
- $r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, folder, flags, filetype, filesize, revision, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ $f = 'store/' . $this->auth->owner_nick . '/' . (($this->os_path) ? $this->os_path . '/' : '') . $hash;
+
+ $direct = null;
+
+ if($this->folder_hash) {
+ $r = q("select * from attach where hash = '%s' and is_dir = 1 and uid = %d limit 1",
+ dbesc($this->folder_hash),
+ intval($c[0]['channel_id'])
+ );
+ if($r)
+ $direct = $r[0];
+ }
+
+ if(($direct) && (($direct['allow_cid']) || ($direct['allow_gid']) || ($direct['deny_cid']) || ($direct['deny_gid']))) {
+ $allow_cid = $direct['allow_cid'];
+ $allow_gid = $direct['allow_gid'];
+ $deny_cid = $direct['deny_cid'];
+ $deny_gid = $direct['deny_gid'];
+ }
+ else {
+ $allow_cid = $c[0]['channel_allow_cid'];
+ $allow_gid = $c[0]['channel_allow_gid'];
+ $deny_cid = $c[0]['channel_deny_cid'];
+ $deny_gid = $c[0]['channel_deny_gid'];
+ }
+
+ $r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, folder, os_storage, filetype, filesize, revision, is_photo, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
intval($c[0]['channel_account_id']),
intval($c[0]['channel_id']),
dbesc($hash),
dbesc($this->auth->observer),
dbesc($name),
dbesc($this->folder_hash),
- dbesc(ATTACH_FLAG_OS),
+ intval(1),
dbesc($mimetype),
intval($filesize),
intval(0),
+ intval($is_photo),
dbesc($this->os_path . '/' . $hash),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
- dbesc($c[0]['channel_allow_cid']),
- dbesc($c[0]['channel_allow_gid']),
- dbesc($c[0]['channel_deny_cid']),
- dbesc($c[0]['channel_deny_gid'])
+ dbesc($allow_cid),
+ dbesc($allow_gid),
+ dbesc($deny_cid),
+ dbesc($deny_gid)
);
- $f = 'store/' . $this->auth->owner_nick . '/' . (($this->os_path) ? $this->os_path . '/' : '') . $hash;
+
// returns the number of bytes that were written to the file, or FALSE on failure
$size = file_put_contents($f, $data);
@@ -248,9 +274,20 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
// returns now
$edited = datetime_convert();
+
+
+ $is_photo = 0;
+ $x = @getimagesize($f);
+ logger('getimagesize: ' . print_r($x,true), LOGGER_DATA);
+ if(($x) && ($x[2] === IMAGETYPE_GIF || $x[2] === IMAGETYPE_JPEG || $x[2] === IMAGETYPE_PNG)) {
+ $is_photo = 1;
+ }
+
+
// updates entry with filesize and timestamp
- $d = q("UPDATE attach SET filesize = '%s', edited = '%s' WHERE hash = '%s' AND uid = %d",
+ $d = q("UPDATE attach SET filesize = '%s', is_photo = %d, edited = '%s' WHERE hash = '%s' AND uid = %d",
dbesc($size),
+ intval($is_photo),
dbesc($edited),
dbesc($hash),
intval($c[0]['channel_id'])
@@ -281,6 +318,23 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
return;
}
}
+
+ if($is_photo) {
+ $album = '';
+ if($this->folder_hash) {
+ $f1 = q("select filename from attach WHERE hash = '%s' AND uid = %d",
+ dbesc($this->folder_hash),
+ intval($c[0]['channel_id'])
+ );
+ if($f1)
+ $album = $f1[0]['filename'];
+ }
+
+ require_once('include/photos.php');
+ $args = array( 'resource_id' => $hash, 'album' => $album, 'os_path' => $f, 'filename' => $name, 'getimagesize' => $x, 'directory' => $direct);
+ $p = photo_upload($c[0],get_app()->get_observer(),$args);
+ }
+
}
/**
@@ -296,9 +350,8 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
throw new DAV\Exception\Forbidden('Permission denied.');
}
- $r = q("SELECT * FROM channel WHERE channel_id = %d AND NOT (channel_pageflags & %d)>0 LIMIT 1",
- intval($this->auth->owner_id),
- intval(PAGE_REMOVED)
+ $r = q("SELECT * FROM channel WHERE channel_id = %d AND channel_removed = 0 LIMIT 1",
+ intval($this->auth->owner_id)
);
if ($r) {
@@ -340,15 +393,14 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
* @return void
*/
function getDir() {
- //logger($this->ext_path, LOGGER_DEBUG);
+
+ logger('GetDir: ' . $this->ext_path, LOGGER_DEBUG);
$this->auth->log();
$modulename = get_app()->module;
$file = $this->ext_path;
$x = strpos($file, '/' . $modulename);
- if ($x === false)
- return;
if ($x === 0) {
$file = substr($file, strlen($modulename) + 1);
}
@@ -367,9 +419,8 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$channel_name = $path_arr[0];
- $r = q("SELECT channel_id FROM channel WHERE channel_address = '%s' AND NOT ( channel_pageflags & %d )>0 LIMIT 1",
- dbesc($channel_name),
- intval(PAGE_REMOVED)
+ $r = q("SELECT channel_id FROM channel WHERE channel_address = '%s' AND channel_removed = 0 LIMIT 1",
+ dbesc($channel_name)
);
if (! $r) {
@@ -385,14 +436,12 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$os_path = '';
for ($x = 1; $x < count($path_arr); $x++) {
- $r = q("select id, hash, filename, flags from attach where folder = '%s' and filename = '%s' and uid = %d and (flags & %d)>0",
+ $r = q("select id, hash, filename, flags, is_dir from attach where folder = '%s' and filename = '%s' and uid = %d and is_dir != 0",
dbesc($folder),
dbesc($path_arr[$x]),
- intval($channel_id),
- intval(ATTACH_FLAG_DIR)
+ intval($channel_id)
);
-
- if ($r && ( $r[0]['flags'] & ATTACH_FLAG_DIR)) {
+ if ($r && intval($r[0]['is_dir'])) {
$folder = $r[0]['hash'];
if (strlen($os_path))
$os_path .= '/';
@@ -445,9 +494,8 @@ class RedDirectory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$free = disk_free_space('store');
if ($this->auth->owner_id) {
- $c = q("select * from channel where channel_id = %d and not (channel_pageflags & %d)>0 limit 1",
- intval($this->auth->owner_id),
- intval(PAGE_REMOVED)
+ $c = q("select * from channel where channel_id = %d and channel_removed = 0 limit 1",
+ intval($this->auth->owner_id)
);
$ulimit = service_class_fetch($c[0]['channel_id'], 'attach_upload_limit');
diff --git a/include/RedDAV/RedFile.php b/include/RedDAV/RedFile.php
index b7aa5473a..ec6871a69 100644
--- a/include/RedDAV/RedFile.php
+++ b/include/RedDAV/RedFile.php
@@ -49,7 +49,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
$this->data = $data;
$this->auth = $auth;
- //logger(print_r($this->data, true), LOGGER_DATA);
+ logger(print_r($this->data, true), LOGGER_DATA);
}
/**
@@ -97,24 +97,49 @@ class RedFile extends DAV\Node implements DAV\IFile {
$size = 0;
// @todo only 3 values are needed
- $c = q("SELECT * FROM channel WHERE channel_id = %d AND (channel_pageflags & %d) = 0 LIMIT 1",
- intval($this->auth->owner_id),
- intval(PAGE_REMOVED)
+ $c = q("SELECT * FROM channel WHERE channel_id = %d AND channel_removed = 0 LIMIT 1",
+ intval($this->auth->owner_id)
);
- $r = q("SELECT flags, folder, data FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $is_photo = false;
+ $album = '';
+
+ $r = q("SELECT flags, folder, os_storage, filename, is_photo FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
dbesc($this->data['hash']),
intval($c[0]['channel_id'])
);
if ($r) {
- if ($r[0]['flags'] & ATTACH_FLAG_OS) {
- $fname = dbunescbin($r[0]['data']);
- $f = 'store/' . $this->auth->owner_nick . '/' . (($fname) ? $fname : '');
- // @todo check return value and set $size directly
- @file_put_contents($f, $data);
- $size = @filesize($f);
- logger('filename: ' . $f . ' size: ' . $size, LOGGER_DEBUG);
- } else {
+ if (intval($r[0]['os_storage'])) {
+ $d = q("select folder, data from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($this->data['hash']),
+ intval($c[0]['channel_id'])
+ );
+ if($d) {
+ if($d[0]['folder']) {
+ $f1 = q("select * from attach where is_dir = 1 and hash = '%s' and uid = %d limit 1",
+ dbesc($d[0]['folder']),
+ intval($c[0]['channel_id'])
+ );
+ if($f1) {
+ $album = $f1[0]['filename'];
+ $direct = $f1[0];
+ }
+ }
+ $fname = dbunescbin($d[0]['data']);
+ $f = 'store/' . $this->auth->owner_nick . '/' . (($fname) ? $fname : '');
+ // @todo check return value and set $size directly
+ @file_put_contents($f, $data);
+ $size = @filesize($f);
+ logger('filename: ' . $f . ' size: ' . $size, LOGGER_DEBUG);
+ }
+ $gis = @getimagesize($f);
+ logger('getimagesize: ' . print_r($gis,true), LOGGER_DATA);
+ if(($gis) && ($gis[2] === IMAGETYPE_GIF || $gis[2] === IMAGETYPE_JPEG || $gis[2] === IMAGETYPE_PNG)) {
+ $is_photo = 1;
+ }
+ }
+ else {
+ // this shouldn't happen any more
$r = q("UPDATE attach SET data = '%s' WHERE hash = '%s' AND uid = %d",
dbescbin(stream_get_contents($data)),
dbesc($this->data['hash']),
@@ -133,13 +158,20 @@ class RedFile extends DAV\Node implements DAV\IFile {
// returns now()
$edited = datetime_convert();
- $d = q("UPDATE attach SET filesize = '%s', edited = '%s' WHERE hash = '%s' AND uid = %d",
+ $d = q("UPDATE attach SET filesize = '%s', is_photo = %d, edited = '%s' WHERE hash = '%s' AND uid = %d",
dbesc($size),
+ intval($is_photo),
dbesc($edited),
dbesc($this->data['hash']),
intval($c[0]['channel_id'])
);
+ if($is_photo) {
+ require_once('include/photos.php');
+ $args = array( 'resource_id' => $this->data['hash'], 'album' => $album, 'os_path' => $f, 'filename' => $r[0]['filename'], 'getimagesize' => $gis, 'directory' => $direct );
+ $p = photo_upload($c[0],get_app()->get_observer(),$args);
+ }
+
// update the folder's lastmodified timestamp
$e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d",
dbesc($edited),
@@ -178,8 +210,9 @@ class RedFile extends DAV\Node implements DAV\IFile {
*/
public function get() {
logger('get file ' . basename($this->name), LOGGER_DEBUG);
+ logger('os_path: ' . $this->os_path, LOGGER_DATA);
- $r = q("SELECT data, flags, filename, filetype FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
+ $r = q("SELECT data, flags, os_storage, filename, filetype FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
dbesc($this->data['hash']),
intval($this->data['uid'])
);
@@ -192,7 +225,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
header('Content-type: text/plain');
}
- if ($r[0]['flags'] & ATTACH_FLAG_OS ) {
+ if (intval($r[0]['os_storage'])) {
$f = 'store/' . $this->auth->owner_nick . '/' . (($this->os_path) ? $this->os_path . '/' : '') . dbunescbin($r[0]['data']);
return fopen($f, 'rb');
}
@@ -271,7 +304,7 @@ class RedFile extends DAV\Node implements DAV\IFile {
}
if ($this->auth->owner_id !== $this->auth->channel_id) {
- if (($this->auth->observer !== $this->data['creator']) || ($this->data['flags'] & ATTACH_FLAG_DIR)) {
+ if (($this->auth->observer !== $this->data['creator']) || intval($this->data['is_dir'])) {
throw new DAV\Exception\Forbidden('Permission denied.');
}
}
diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index ae740b281..cb2266473 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -171,10 +171,9 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" $tabindex >\r\n";
$r = q("SELECT abook_id, xchan_name, xchan_url, xchan_photo_s from abook left join xchan on abook_xchan = xchan_hash
- where abook_flags = 0 or not ( abook_flags & %d )>0 and abook_channel = %d
+ where abook_self = 0 and abook_channel = %d
$sql_extra
ORDER BY xchan_name ASC ",
- intval(ABOOK_FLAG_SELF),
intval(local_channel())
);
diff --git a/include/activities.php b/include/activities.php
index ca8863e51..df43f1f6f 100644
--- a/include/activities.php
+++ b/include/activities.php
@@ -21,7 +21,10 @@ function profile_activity($changed, $value) {
$arr['uid'] = local_channel();
$arr['aid'] = $self['channel_account_id'];
$arr['owner_xchan'] = $arr['author_xchan'] = $self['xchan_hash'];
- $arr['item_flags'] = ITEM_WALL|ITEM_ORIGIN|ITEM_THREAD_TOP;
+
+ $arr['item_wall'] = 1;
+ $arr['item_origin'] = 1;
+ $arr['item_thread_top'] = 1;
$arr['verb'] = ACTIVITY_UPDATE;
$arr['obj_type'] = ACTIVITY_OBJ_PROFILE;
diff --git a/include/api.php b/include/api.php
index 027779558..6d71cfc33 100644
--- a/include/api.php
+++ b/include/api.php
@@ -318,7 +318,7 @@ require_once('include/items.php');
return False;
} else {
$user = local_channel();
- $extra_query = " AND abook_channel = %d AND (abook_flags & " . ABOOK_FLAG_SELF . " )>0 ";
+ $extra_query = " AND abook_channel = %d AND abook_self = 1 ";
}
}
@@ -336,7 +336,7 @@ require_once('include/items.php');
return False;
}
- if($uinfo[0]['abook_flags'] & ABOOK_FLAG_SELF) {
+ if(intval($uinfo[0]['abook_self'])) {
$usr = q("select * from channel where channel_id = %d limit 1",
intval(api_user())
);
@@ -344,13 +344,14 @@ require_once('include/items.php');
intval(api_user())
);
+ $item_normal = item_normal();
+
// count public wall messages
$r = q("SELECT COUNT(`id`) as `count` FROM `item`
WHERE `uid` = %d
- AND ( item_flags & %d )>0 and item_restrict = 0
+ AND item_wall = 1 $item_normal
AND `allow_cid`='' AND `allow_gid`='' AND `deny_cid`='' AND `deny_gid`=''",
- intval($usr[0]['channel_id']),
- intval(ITEM_WALL)
+ intval($usr[0]['channel_id'])
);
$countitms = $r[0]['count'];
}
@@ -367,21 +368,20 @@ require_once('include/items.php');
// count friends
if($usr) {
$r = q("SELECT COUNT(abook_id) as `count` FROM abook
- WHERE abook_channel = %d AND abook_flags = 0 ",
+ WHERE abook_channel = %d AND abook_self = 0 ",
intval($usr[0]['channel_id'])
);
$countfriends = $r[0]['count'];
$countfollowers = $r[0]['count'];
}
- $r = q("SELECT count(`id`) as `count` FROM item where ( item_flags & %d )>0 and uid = %d and item_restrict = 0",
- intval($uinfo[0]['channel_id']),
- intval(ITEM_STARRED)
+ $r = q("SELECT count(`id`) as `count` FROM item where item_starred = 1 and uid = %d " . item_normal(),
+ intval($uinfo[0]['channel_id'])
);
$starred = $r[0]['count'];
- if(! ($uinfo[0]['abook_flags'] & ABOOK_FLAG_SELF)) {
+ if(! intval($uinfo[0]['abook_self'])) {
$countfriends = 0;
$countfollowers = 0;
$starred = 0;
@@ -389,7 +389,7 @@ require_once('include/items.php');
$ret = Array(
'id' => intval($uinfo[0]['abook_id']),
- 'self' => (($uinfo[0]['abook_flags'] & ABOOK_FLAG_SELF) ? 1 : 0),
+ 'self' => (intval($uinfo[0]['abook_self']) ? 1 : 0),
'uid' => intval($uinfo[0]['abook_channel']),
'guid' => $uinfo[0]['xchan_hash'],
'name' => (($uinfo[0]['xchan_name']) ? $uinfo[0]['xchan_name'] : substr($uinfo[0]['xchan_addr'],0,strpos($uinfo[0]['xchan_addr'],'@'))),
@@ -899,8 +899,10 @@ require_once('include/items.php');
function api_get_status($xchan_hash) {
require_once('include/security.php');
+ $item_normal = item_normal();
+
$lastwall = q("SELECT * from item where
- item_private = 0 and item_restrict = 0
+ item_private = 0 $item_normal
and author_xchan = '%s'
and allow_cid = '' and allow_gid = '' and deny_cid = '' and deny_gid = ''
and verb = '%s'
@@ -962,9 +964,10 @@ require_once('include/items.php');
// get last public message
require_once('include/security.php');
+ $item_normal = item_normal();
$lastwall = q("SELECT * from item where
- item_private = 0 and item_restrict = 0
+ item_private = 0 $item_normal
and author_xchan = '%s'
and allow_cid = '' and allow_gid = '' and deny_cid = '' and deny_gid = ''
and verb = '%s'
@@ -1035,9 +1038,10 @@ require_once('include/items.php');
$user_info = api_get_user($a);
require_once('include/security.php');
+ $item_normal = item_normal();
$lastwall = q("SELECT * from item where 1
- and item_private != 0 and item_restrict = 0
+ and item_private != 0 $item_normal
and author_xchan = '%s'
and allow_cid = '' and allow_gid = '' and deny_cid = '' and deny_gid = ''
and verb = '%s'
@@ -1138,7 +1142,9 @@ require_once('include/items.php');
$sql_extra .= " and item_private = 0 ";
}
- $r = q("SELECT * from item WHERE uid = %d and item_restrict = 0
+ $item_normal = item_normal();
+
+ $r = q("SELECT * from item WHERE uid = %d $item_normal
$sql_extra
AND id > %d
ORDER BY received DESC LIMIT %d ,%d ",
@@ -1157,7 +1163,7 @@ require_once('include/items.php');
// at the network timeline just mark everything seen.
if (api_user() == $user_info['uid']) {
- $r = q("UPDATE `item` SET item_unseen = 0 where item_unseen = 1 and uid = %d",
+ $r = q("UPDATE item SET item_unseen = 0 WHERE item_unseen = 1 and uid = %d",
intval($user_info['uid'])
);
}
@@ -1204,11 +1210,12 @@ require_once('include/items.php');
if ($max_id > 0)
$sql_extra = 'AND `item`.`id` <= '.intval($max_id);
require_once('include/security.php');
+ $item_normal = item_normal();
- $r = q("select * from item where item_restrict = 0
- and allow_cid = '' and allow_gid = ''
+ $r = q("select * from item where allow_cid = '' and allow_gid = ''
and deny_cid = '' and deny_gid = ''
- and item_private = 0
+ and item_private = 0
+ $item_normal
and uid = " . $sys['channel_id'] . "
$sql_extra
AND id > %d group by mid
@@ -1264,7 +1271,8 @@ require_once('include/items.php');
else
$sql_extra .= " AND `item`.`id` = %d";
- $r = q("select * from item where item_restrict = 0 $sql_extra",
+ $item_normal = item_normal();
+ $r = q("select * from item where true $item_normal $sql_extra",
intval($id)
);
xchan_query($r,true);
@@ -1304,7 +1312,9 @@ require_once('include/items.php');
$observer = get_app()->get_observer();
- $r = q("SELECT * from item where item_restrict = 0 and id = %d limit 1",
+ $item_normal = item_normal();
+
+ $r = q("SELECT * from item where and id = %d $item_normal limit 1",
intval($id)
);
@@ -1577,39 +1587,36 @@ require_once('include/items.php');
$itemid = intval($_REQUEST['id']);
}
- $item = q("SELECT * FROM item WHERE id = %d AND uid = %d",
- intval($itemid),
- intval(api_user())
+ $item = q("SELECT * FROM item WHERE id = %d AND uid = %d",
+ intval($itemid),
+ intval(api_user())
);
if (! $item)
return false;
- switch($action){
- case "create":
-
- $flags = $item[0]['item_flags'] | ITEM_STARRED;
-
- break;
- case "destroy":
-
- $flags = $item[0]['item_flags'] | (~ ITEM_STARRED);
- break;
- default:
- return false;
- }
-
- $r = q("UPDATE item SET item_flags = %d where id = %d and uid = %d",
- intval($flags),
+ switch($action){
+ case "create":
+ $flags = $item[0]['item_starred'] = 1;
+ break;
+ case "destroy":
+ $flags = $item[0]['item_starred'] = 0;
+ break;
+ default:
+ return false;
+ }
+
+ $r = q("UPDATE item SET item_starred = %d where id = %d and uid = %d",
+ intval($flags),
intval($itemid),
intval(api_user())
);
if(! $r)
return false;
- $item = q("SELECT * FROM item WHERE id = %d AND uid = %d",
- intval($itemid),
- intval(api_user())
+ $item = q("SELECT * FROM item WHERE id = %d AND uid = %d",
+ intval($itemid),
+ intval(api_user())
);
xchan_query($item,true);
@@ -1667,12 +1674,13 @@ require_once('include/items.php');
$sql_extra .= " and item_private = 0 ";
}
- $r = q("SELECT * from item WHERE uid = %d and item_restrict = 0
- and ( item_flags & %d ) > 0 $sql_extra
+ $item_normal = item_normal();
+
+ $r = q("SELECT * from item WHERE uid = %d $item_normal
+ and item_starred = 1 $sql_extra
AND id > %d
ORDER BY received DESC LIMIT %d ,%d ",
intval($user_info['uid']),
- intval(ITEM_STARRED),
intval($since_id),
intval($start),
intval($count)
@@ -1864,7 +1872,7 @@ require_once('include/items.php');
'in_reply_to_user_id' => $in_reply_to_user_id,
'in_reply_to_screen_name' => $in_reply_to_screen_name,
'geo' => '',
- 'favorited' => (($item['item_flags'] & ITEM_STARRED) ? true : false),
+ 'favorited' => (intval($item['item_starred']) ? true : false),
'user' => $status_user ,
'statusnet_html' => trim(prepare_text($item['body'],$item['mimetype'])),
@@ -1959,7 +1967,7 @@ require_once('include/items.php');
if($qtype == 'followers')
$sql_extra = sprintf(" AND ( abook_my_perms & %d )>0 and not ( abook_their_perms & %d )>0 ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
- $r = q("SELECT abook_id FROM abook where abook_flags = 0 and abook_channel = %d $sql_extra",
+ $r = q("SELECT abook_id FROM abook where abook_self = 0 and abook_channel = %d $sql_extra",
intval(api_user())
);
@@ -2012,7 +2020,7 @@ require_once('include/items.php');
'broughtbyurl' => '', 'timezone' => 'UTC', 'closed' => $closed, 'inviteonly' => 'false',
'private' => $private, 'textlimit' => $textlimit, 'sslserver' => $sslserver, 'ssl' => $ssl,
'shorturllength' => '30',
- 'redmatrix' => array(
+ 'hubzilla' => array(
'PLATFORM_NAME' => PLATFORM_NAME,
'RED_VERSION' => RED_VERSION,
'ZOT_REVISION' => ZOT_REVISION,
@@ -2075,7 +2083,7 @@ require_once('include/items.php');
if($qtype == 'followers')
$sql_extra = sprintf(" AND ( abook_my_perms & %d )>0 and not ( abook_their_perms & %d )>0 ", intval(PERMS_W_STREAM), intval(PERMS_W_STREAM));
- $r = q("SELECT abook_id FROM abook where abook_flags = 0 and abook_channel = %d $sql_extra",
+ $r = q("SELECT abook_id FROM abook where abook_self = 0 and abook_channel = %d $sql_extra",
intval(api_user())
);
diff --git a/include/apps.php b/include/apps.php
index 504641102..7943bc927 100644
--- a/include/apps.php
+++ b/include/apps.php
@@ -325,7 +325,7 @@ function app_store($arr) {
return $ret;
if($arr['photo'] && ! strstr($arr['photo'],z_root())) {
- $x = import_profile_photo($arr['photo'],get_observer_hash(),true);
+ $x = import_xchan_photo($arr['photo'],get_observer_hash(),true);
$arr['photo'] = $x[1];
}
@@ -378,7 +378,7 @@ function app_update($arr) {
return $ret;
if($arr['photo'] && ! strstr($arr['photo'],z_root())) {
- $x = import_profile_photo($arr['photo'],get_observer_hash(),true);
+ $x = import_xchan_photo($arr['photo'],get_observer_hash(),true);
$arr['photo'] = $x[1];
}
diff --git a/include/attach.php b/include/attach.php
index 4bbda9530..620c7620c 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -150,10 +150,11 @@ function attach_count_files($channel_id, $observer, $hash = '', $filename = '',
if($filetype)
$sql_extra .= protect_sprintf(" and filetype like '@" . dbesc($filetype) . "@' ");
- $r = q("select id from attach where uid = %d $sql_extra",
+ $r = q("select id, uid, folder from attach where uid = %d $sql_extra",
intval($channel_id)
);
+
$ret['success'] = ((is_array($r)) ? true : false);
$ret['results'] = ((is_array($r)) ? count($r) : false);
@@ -202,7 +203,7 @@ function attach_list_files($channel_id, $observer, $hash = '', $filename = '', $
// Retrieve all columns except 'data'
- $r = q("select id, aid, uid, hash, filename, filetype, filesize, revision, folder, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where uid = %d $sql_extra $orderby $limit",
+ $r = q("select id, aid, uid, hash, filename, filetype, filesize, revision, folder, os_storage, is_dir, is_photo, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where uid = %d $sql_extra $orderby $limit",
intval($channel_id)
);
@@ -262,12 +263,40 @@ function attach_by_hash($hash, $rev = 0) {
return $ret;
}
+ if($r[0]['folder']) {
+ $x = attach_can_view_folder($r[0]['uid'],get_observer_hash(),$r[0]['folder']);
+ if(! $x) {
+ $ret['message'] = t('Permission denied.');
+ return $ret;
+ }
+ }
+
$ret['success'] = true;
$ret['data'] = $r[0];
return $ret;
}
+function attach_can_view_folder($uid,$ob_hash,$folder_hash) {
+
+ $sql_extra = permissions_sql($uid,$ob_hash);
+ $hash = $folder_hash;
+ $result = false;
+
+ do {
+ $r = q("select folder from attach where hash = '%s' and uid = %d $sql_extra",
+ dbesc($hash),
+ intval($uid)
+ );
+ if(! $r)
+ return false;
+ $hash = $r[0]['folder'];
+ }
+ while($hash);
+ return true;
+}
+
+
/**
* @brief Find an attachment by hash and revision.
*
@@ -310,7 +339,7 @@ function attach_by_hash_nodata($hash, $rev = 0) {
// Now we'll see if we can access the attachment
- $r = q("select id, aid, uid, hash, creator, filename, filetype, filesize, revision, folder, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where uid = %d and hash = '%s' $sql_extra limit 1",
+ $r = q("select id, aid, uid, hash, creator, filename, filetype, filesize, revision, folder, os_storage, is_photo, is_dir, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where uid = %d and hash = '%s' $sql_extra limit 1",
intval($r[0]['uid']),
dbesc($hash)
);
@@ -320,6 +349,15 @@ function attach_by_hash_nodata($hash, $rev = 0) {
return $ret;
}
+ if($r[0]['folder']) {
+ $x = attach_can_view_folder($r[0]['uid'],get_observer_hash(),$r[0]['folder']);
+ if(! $x) {
+ $ret['message'] = t('Permission denied.');
+ return $ret;
+ }
+ }
+
+
$ret['success'] = true;
$ret['data'] = $r[0];
@@ -340,17 +378,65 @@ function attach_by_hash_nodata($hash, $rev = 0) {
* @param string $options (optional) one of update, replace, revision
* @param array $arr (optional) associative array
*/
+
+/**
+ * A lot going on in this function, and some of it is old cruft and some is new cruft
+ * and the entire thing probably needs to be refactored. It started out just storing
+ * files, before we had DAV. It was made extensible to do extra stuff like edit an
+ * existing file or optionally store a separate revision using $options to choose between different
+ * storage models. Along the way we moved from
+ * DB data storage to file system storage.
+ * Then DAV came along and used different upload methods depending on whether the
+ * file was stored as a DAV directory object or updated as a file object. One of these
+ * is essentially an update and the other is basically an upload, but doesn't use the traditional PHP
+ * upload workflow.
+ * Then came hubzilla and we tried to merge photo functionality with the file storage. Most of
+ * that integration occurs within this function.
+ * This required overlap with the old photo_upload stuff and photo albums were
+ * completely different concepts from directories which needed to be reconciled somehow.
+ * The old revision stuff is kind of orphaned currently. There's new revision stuff for photos
+ * which attaches (2) etc. onto the name, but doesn't integrate with the attach table revisioning.
+ * That's where it sits currently. I repeat it needs to be refactored, and this note is here
+ * for future explorers and those who may be doing that work to understand where it came
+ * from and got to be the monstrosity of tangled unrelated code that it currently is.
+ */
+
function attach_store($channel, $observer_hash, $options = '', $arr = null) {
+ require_once('include/photos.php');
+
$ret = array('success' => false);
$channel_id = $channel['channel_id'];
$sql_options = '';
+ $source = (($arr) ? $arr['source'] : '');
+ $album = (($arr) ? $arr['album'] : '');
+ $newalbum = (($arr) ? $arr['newalbum'] : '');
+ $hash = (($arr && $arr['hash']) ? $arr['hash'] : null);
+ $upload_path = (($arr && $arr['directory']) ? $arr['directory'] : '');
+
+ $observer = array();
+
+ if($observer_hash) {
+ $x = q("select * from xchan where xchan_hash = '%s' limit 1",
+ dbesc($observer_hash)
+ );
+ if($x)
+ $observer = $x[0];
+ }
- if(! perm_is_allowed($channel_id,get_observer_hash(), 'write_storage')) {
+ logger('arr: ' . print_r($arr,true));
+
+ if(! perm_is_allowed($channel_id,$observer_hash, 'write_storage')) {
$ret['message'] = t('Permission denied.');
return $ret;
}
+ $str_group_allow = perms2str($arr['group_allow']);
+ $str_contact_allow = perms2str($arr['contact_allow']);
+ $str_group_deny = perms2str($arr['group_deny']);
+ $str_contact_deny = perms2str($arr['contact_deny']);
+
+
// The 'update' option sets db values without uploading a new attachment
// 'replace' replaces the existing uploaded data
// 'revision' creates a new revision with new upload data
@@ -358,7 +444,13 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
// revise or update must provide $arr['hash'] of the thing to revise/update
- if($options !== 'update') {
+ if($options === 'import') {
+ $src = $arr['src'];
+ $filename = $arr['filename'];
+ $filesize = @filesize($src);
+ $hash = $arr['resource_id'];
+ }
+ elseif($options !== 'update') {
if(! x($_FILES,'userfile')) {
$ret['message'] = t('No source file.');
return $ret;
@@ -367,14 +459,14 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
$src = $_FILES['userfile']['tmp_name'];
$filename = basename($_FILES['userfile']['name']);
$filesize = intval($_FILES['userfile']['size']);
+
}
$existing_size = 0;
if($options === 'replace') {
- /** @BUG $replace is undefined here */
$x = q("select id, hash, filesize from attach where id = %d and uid = %d limit 1",
- intval($replace),
+ intval($arr['id']),
intval($channel_id)
);
if(! $x) {
@@ -391,7 +483,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
if($options === 'update' && $arr && array_key_exists('revision',$arr))
$sql_options = " and revision = " . intval($arr['revision']) . " ";
- $x = q("select id, aid, uid, filename, filetype, filesize, hash, revision, folder, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where hash = '%s' and uid = %d $sql_options limit 1",
+ $x = q("select id, aid, uid, filename, filetype, filesize, hash, revision, folder, os_storage, is_photo, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where hash = '%s' and uid = %d $sql_options limit 1",
dbesc($arr['hash']),
intval($channel_id)
);
@@ -402,6 +494,120 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
$hash = $x[0]['hash'];
}
+
+
+ $def_extension = '';
+ $is_photo = 0;
+ $gis = @getimagesize($src);
+ logger('getimagesize: ' . print_r($gis,true), LOGGER_DATA);
+ if(($gis) && ($gis[2] === IMAGETYPE_GIF || $gis[2] === IMAGETYPE_JPEG || $gis[2] === IMAGETYPE_PNG)) {
+ $is_photo = 1;
+ if($gis[2] === IMAGETYPE_GIF)
+ $def_extension = '.gif';
+ if($gis[2] === IMAGETYPE_JPEG)
+ $def_extension = '.jpg';
+ if($gis[2] === IMAGETYPE_PNG)
+ $def_extension = '.png';
+
+ }
+
+ $pathname = '';
+
+ if($is_photo) {
+ if($newalbum)
+ $pathname = filepath_macro($newalbum);
+ else
+ $pathname = filepath_macro($album);
+ }
+ else {
+ $pathname = filepath_macro($upload_path);
+ }
+
+ $darr = array('pathname' => $pathname);
+
+ // if we need to create a directory, use the channel default permissions.
+
+ $darr['allow_cid'] = $channel['allow_cid'];
+ $darr['allow_gid'] = $channel['allow_gid'];
+ $darr['deny_cid'] = $channel['deny_cid'];
+ $darr['deny_gid'] = $channel['deny_gid'];
+
+
+ $direct = null;
+
+ if($pathname) {
+ $x = attach_mkdirp($channel, $observer_hash, $darr);
+ $folder_hash = (($x['success']) ? $x['data']['hash'] : '');
+ $direct = (($x['success']) ? $x['data'] : null);
+ if((! $str_contact_allow) && (! $str_group_allow) && (! $str_contact_deny) && (! $str_group_deny)) {
+ $str_contact_allow = $x['data']['allow_cid'];
+ $str_group_allow = $x['data']['allow_gid'];
+ $str_contact_deny = $x['data']['deny_cid'];
+ $str_group_deny = $x['data']['deny_gid'];
+ }
+ }
+ else {
+ $folder_hash = '';
+ }
+
+ if((! $options) || ($options === 'import')) {
+
+ // A freshly uploaded file. Check for duplicate and resolve with the channel's overwrite settings.
+
+ $r = q("select filename, id, hash, filesize from attach where filename = '%s' and folder = '%s' ",
+ dbesc($filename),
+ dbesc($folder_hash)
+ );
+ if($r) {
+ $overwrite = get_pconfig($channel_id,'system','overwrite_dup_files');
+ if($overwrite) {
+ $options = 'replace';
+ $existing_id = $x[0]['id'];
+ $existing_size = intval($x[0]['filesize']);
+ $hash = $x[0]['hash'];
+ }
+ else {
+ if(strpos($filename,'.') !== false) {
+ $basename = substr($filename,0,strrpos($filename,'.'));
+ $ext = substr($filename,strrpos($filename,'.'));
+ }
+ else {
+ $basename = $filename;
+ $ext = $def_extension;
+ }
+
+ $r = q("select filename from attach where ( filename = '%s' OR filename like '%s' ) and folder = '%s' ",
+ dbesc($basename . $ext),
+ dbesc($basename . '(%)' . $ext),
+ dbesc($folder_hash)
+ );
+
+ if($r) {
+ $x = 1;
+
+ do {
+ $found = false;
+ foreach($r as $rr) {
+ if($rr['filename'] === $basename . '(' . $x . ')' . $ext) {
+ $found = true;
+ break;
+ }
+ }
+ if($found)
+ $x++;
+ }
+ while($found);
+ $filename = $basename . '(' . $x . ')' . $ext;
+ }
+ else
+ $filename = $basename . $ext;
+ }
+ }
+ }
+
+ if(! $hash)
+ $hash = random_string();
+
// Check storage limits
if($options !== 'update') {
$maxfilesize = get_config('system','maxfilesize');
@@ -427,34 +633,61 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
$mimetype = z_mime_content_type($filename);
}
- if(! isset($hash))
- $hash = random_string();
+ $os_basepath = 'store/' . $channel['channel_address'] . '/' ;
+ $os_relpath = '';
+
+ if($folder_hash) {
+ $curr = find_folder_hash_by_attach_hash($channel_id,$folder_hash,true);
+ if($curr)
+ $os_relpath .= $curr . '/';
+ $os_relpath .= $folder_hash . '/';
+ }
+
+ $os_relpath .= $hash;
+
+ if($src)
+ @file_put_contents($os_basepath . $os_relpath,@file_get_contents($src));
+
+ if(array_key_exists('created', $arr))
+ $created = $arr['created'];
+ else
+ $created = datetime_convert();
+
+ if(array_key_exists('edited', $arr))
+ $edited = $arr['edited'];
+ else
+ $edited = $created;
- $created = datetime_convert();
if($options === 'replace') {
- $r = q("update attach set filename = '%s', filetype = '%s', filesize = %d, data = '%s', edited = '%s' where id = %d and uid = %d",
+ $r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', filesize = %d, os_storage = %d, is_photo = %d, data = '%s', edited = '%s' where id = %d and uid = %d",
dbesc($filename),
dbesc($mimetype),
+ dbesc($folder_hash),
intval($filesize),
- dbescbin(@file_get_contents($src)),
+ intval(1),
+ intval($is_photo),
+ dbesc($os_relpath),
dbesc($created),
intval($existing_id),
intval($channel_id)
);
}
elseif($options === 'revise') {
- $r = q("insert into attach ( aid, uid, hash, creator, filename, filetype, filesize, revision, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ $r = q("insert into attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
intval($x[0]['aid']),
intval($channel_id),
dbesc($x[0]['hash']),
- dbesc(get_observer_hash()),
+ dbesc($observer_hash),
dbesc($filename),
dbesc($mimetype),
+ dbesc($folder_hash),
intval($filesize),
intval($x[0]['revision'] + 1),
- dbescbin(@file_get_contents($src)),
+ intval(1),
+ intval($is_photo),
+ dbesc($os_relpath),
dbesc($created),
dbesc($created),
dbesc($x[0]['allow_cid']),
@@ -464,11 +697,14 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
);
}
elseif($options === 'update') {
- $r = q("update attach set filename = '%s', filetype = '%s', edited = '%s',
+ $r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', edited = '%s', os_storage = %d, is_photo = %d,
allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where id = %d and uid = %d",
dbesc((array_key_exists('filename',$arr)) ? $arr['filename'] : $x[0]['filename']),
dbesc((array_key_exists('filetype',$arr)) ? $arr['filetype'] : $x[0]['filetype']),
+ dbesc(($folder_hash) ? $folder_hash : $x[0]['folder']),
dbesc($created),
+ dbesc((array_key_exists('os_storage',$arr)) ? $arr['os_storage'] : $x[0]['os_storage']),
+ dbesc((array_key_exists('is_photo',$arr)) ? $arr['is_photo'] : $x[0]['is_photo']),
dbesc((array_key_exists('allow_cid',$arr)) ? $arr['allow_cid'] : $x[0]['allow_cid']),
dbesc((array_key_exists('allow_gid',$arr)) ? $arr['allow_gid'] : $x[0]['allow_gid']),
dbesc((array_key_exists('deny_cid',$arr)) ? $arr['deny_cid'] : $x[0]['deny_cid']),
@@ -478,26 +714,59 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
);
}
else {
- $r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, filesize, revision, data, created, edited, allow_cid, allow_gid,deny_cid, deny_gid )
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ $r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, data, created, edited, allow_cid, allow_gid,deny_cid, deny_gid )
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
intval($channel['channel_account_id']),
intval($channel_id),
dbesc($hash),
dbesc(get_observer_hash()),
dbesc($filename),
dbesc($mimetype),
+ dbesc($folder_hash),
intval($filesize),
intval(0),
- dbescbin(@file_get_contents($src)),
+ intval(1),
+ intval($is_photo),
+ dbesc($os_relpath),
dbesc($created),
dbesc($created),
- dbesc(($arr && array_key_exists('allow_cid',$arr)) ? $arr['allow_cid'] : '<' . $channel['channel_hash'] . '>'),
- dbesc(($arr && array_key_exists('allow_gid',$arr)) ? $arr['allow_gid'] : ''),
- dbesc(($arr && array_key_exists('deny_cid',$arr)) ? $arr['deny_cid'] : ''),
- dbesc(($arr && array_key_exists('deny_gid',$arr)) ? $arr['deny_gid'] : '')
+ dbesc(($arr && array_key_exists('allow_cid',$arr)) ? $arr['allow_cid'] : $str_contact_allow),
+ dbesc(($arr && array_key_exists('allow_gid',$arr)) ? $arr['allow_gid'] : $str_group_allow),
+ dbesc(($arr && array_key_exists('deny_cid',$arr)) ? $arr['deny_cid'] : $str_contact_deny),
+ dbesc(($arr && array_key_exists('deny_gid',$arr)) ? $arr['deny_gid'] : $str_group_deny)
);
}
+ if($is_photo) {
+ $args = array( 'source' => $source, 'visible' => 0, 'resource_id' => $hash, 'album' => basename($pathname), 'os_path' => $os_basepath . $os_relpath, 'filename' => $filename, 'getimagesize' => $gis, 'directory' => $direct);
+ if($arr['contact_allow'])
+ $args['contact_allow'] = $arr['contact_allow'];
+ if($arr['group_allow'])
+ $args['group_allow'] = $arr['group_allow'];
+ if($arr['contact_deny'])
+ $args['contact_deny'] = $arr['contact_deny'];
+ if($arr['group_deny'])
+ $args['group_deny'] = $arr['group_deny'];
+ if(array_key_exists('allow_cid',$arr))
+ $args['allow_cid'] = $arr['allow_cid'];
+ if(array_key_exists('allow_gid',$arr))
+ $args['allow_gid'] = $arr['allow_gid'];
+ if(array_key_exists('deny_cid',$arr))
+ $args['deny_cid'] = $arr['deny_cid'];
+ if(array_key_exists('deny_gid',$arr))
+ $args['deny_gid'] = $arr['deny_gid'];
+
+ $args['created'] = $created;
+ $args['edited'] = $edited;
+ if($arr['item'])
+ $args['item'] = $arr['item'];
+
+ $p = photo_upload($channel,$observer,$args);
+ if($p['success']) {
+ $ret['body'] = $p['body'];
+ }
+ }
+
if($options !== 'update')
@unlink($src);
@@ -508,7 +777,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, 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 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",
intval($channel_id),
dbesc($hash)
);
@@ -518,6 +787,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
return $ret;
}
+
$ret['success'] = true;
$ret['data'] = $r[0];
@@ -552,10 +822,9 @@ function z_readdir($channel_id, $observer_hash, $pathname, $parent_hash = '') {
if(count($paths) > 1) {
$curpath = array_shift($paths);
- $r = q("select hash, id from attach where uid = %d and filename = '%s' and (flags & %d )>0 " . permissions_sql($channel_id) . " limit 1",
+ $r = q("select hash, id, is_dir from attach where uid = %d and filename = '%s' and is_dir != 0 " . permissions_sql($channel_id) . " limit 1",
intval($channel_id),
- dbesc($curpath),
- intval(ATTACH_FLAG_DIR)
+ dbesc($curpath)
);
if(! $r) {
$ret['message'] = t('Path not available.');
@@ -568,11 +837,10 @@ function z_readdir($channel_id, $observer_hash, $pathname, $parent_hash = '') {
else
$paths = array($pathname);
- $r = q("select id, aid, uid, hash, creator, filename, filetype, filesize, revision, folder, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where id = %d and folder = '%s' and filename = '%s' and (flags & %d )>0 " . permissions_sql($channel_id),
+ $r = q("select id, aid, uid, hash, creator, filename, filetype, filesize, revision, folder, is_photo, is_dir, os_storage, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid from attach where id = %d and folder = '%s' and filename = '%s' and is_dir != 0 " . permissions_sql($channel_id),
intval($channel_id),
dbesc($parent_hash),
- dbesc($paths[0]),
- intval(ATTACH_FLAG_DIR)
+ dbesc($paths[0])
);
if(! $r) {
$ret['message'] = t('Path not available.');
@@ -594,7 +862,7 @@ function z_readdir($channel_id, $observer_hash, $pathname, $parent_hash = '') {
* * \e string \b filename
* * \e string \b folder hash of parent directory, empty string for root directory
* - Optional:
- * * \e string \b hash precumputed hash for this node
+ * * \e string \b hash precomputed hash for this node
* * \e tring \b allow_cid
* * \e string \b allow_gid
* * \e string \b deny_cid
@@ -605,6 +873,7 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
$ret = array('success' => false);
$channel_id = $channel['channel_id'];
+
$sql_options = '';
$basepath = 'store/' . $channel['channel_address'];
@@ -629,13 +898,23 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
// Check for duplicate name.
// Check both the filename and the hash as we will be making use of both.
- $r = q("select hash from attach where ( filename = '%s' or hash = '%s' ) and folder = '%s' and uid = %d limit 1",
+ $r = q("select id, hash, is_dir, flags from attach where ( filename = '%s' or hash = '%s' ) and folder = '%s' and uid = %d limit 1",
dbesc($arr['filename']),
dbesc($arr['hash']),
dbesc($arr['folder']),
intval($channel['channel_id'])
);
if($r) {
+ if(array_key_exists('force',$arr) && intval($arr['force'])
+ && (intval($r[0]['is_dir']))) {
+ $ret['success'] = true;
+ $r = q("select * from attach where id = %d limit 1",
+ intval($r[0]['id'])
+ );
+ if($r)
+ $ret['data'] = $r[0];
+ return $ret;
+ }
$ret['message'] = t('duplicate filename or path');
return $ret;
}
@@ -651,11 +930,10 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
$sql_options = permissions_sql($channel['channel_id']);
do {
- $r = q("select filename, hash, flags, folder from attach where uid = %d and hash = '%s' and ( flags & %d )>0
+ $r = q("select filename, hash, flags, is_dir, folder from attach where uid = %d and hash = '%s' and is_dir != 0
$sql_options limit 1",
intval($channel['channel_id']),
- dbesc($lfile),
- intval(ATTACH_FLAG_DIR)
+ dbesc($lfile)
);
if(! $r) {
@@ -666,7 +944,7 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
if($lfile)
$lpath = $r[0]['hash'] . '/' . $lpath;
$lfile = $r[0]['folder'];
- } while ( ($r[0]['folder']) && ($r[0]['flags'] & ATTACH_FLAG_DIR)) ;
+ } while ( ($r[0]['folder']) && intval($r[0]['is_dir'])) ;
$path = $basepath . '/' . $lpath;
}
else
@@ -676,8 +954,8 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
$created = datetime_convert();
- $r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, filesize, revision, folder, flags, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ $r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, filesize, revision, folder, os_storage, is_dir, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', %d, %d, '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
intval($channel['channel_account_id']),
intval($channel_id),
dbesc($arr['hash']),
@@ -687,7 +965,8 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
intval(0),
intval(0),
dbesc($arr['folder']),
- intval(ATTACH_FLAG_DIR|ATTACH_FLAG_OS),
+ intval(1),
+ intval(1),
dbesc($path),
dbesc($created),
dbesc($created),
@@ -700,7 +979,6 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
if($r) {
if(os_mkdir($path, STORAGE_DEFAULT_PERMISSIONS, true)) {
$ret['success'] = true;
- $ret['data'] = $arr;
// update the parent folder's lastmodified timestamp
$e = q("UPDATE attach SET edited = '%s' WHERE hash = '%s' AND uid = %d",
@@ -708,6 +986,13 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
dbesc($arr['folder']),
intval($channel_id)
);
+
+ $z = q("select * from attach where hash = '%s' and uid = %d and is_dir = 1 limit 1",
+ dbesc($arr['hash']),
+ intval($channel_id)
+ );
+ if($z)
+ $ret['data'] = $z[0];
}
else {
logger('attach_mkdir: ' . mkdir . ' ' . $path . ' failed.');
@@ -722,6 +1007,95 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
}
/**
+ * @brief Create directory (recursive).
+ *
+ * @param array $channel channel array of owner
+ * @param string $observer_hash hash of current observer
+ * @param array $arr parameter array to fulfil request
+ * - Required:
+ * * \e string \b pathname
+ * * \e string \b folder hash of parent directory, empty string for root directory
+ * - Optional:
+ * * \e string \b allow_cid
+ * * \e string \b allow_gid
+ * * \e string \b deny_cid
+ * * \e string \b deny_gid
+ * @return array
+ */
+function attach_mkdirp($channel, $observer_hash, $arr = null) {
+
+ $ret = array('success' => false);
+ $channel_id = $channel['channel_id'];
+
+ $sql_options = '';
+
+ $basepath = 'store/' . $channel['channel_address'];
+
+ logger('attach_mkdirp: basepath: ' . $basepath);
+
+ if(! is_dir($basepath))
+ os_mkdir($basepath,STORAGE_DEFAULT_PERMISSIONS, true);
+
+ if(! perm_is_allowed($channel_id, $observer_hash, 'write_storage')) {
+ $ret['message'] = t('Permission denied.');
+ return $ret;
+ }
+
+ if(! $arr['pathname']) {
+ $ret['message'] = t('Empty pathname');
+ return $ret;
+ }
+
+ $paths = explode('/',$arr['pathname']);
+ if(! $paths) {
+ $ret['message'] = t('Empty path');
+ return $ret;
+ }
+
+ $current_parent = '';
+
+ foreach($paths as $p) {
+ if(! $p)
+ continue;
+ $arx = array(
+ 'filename' => $p,
+ 'folder' => $current_parent,
+ 'force' => 1
+ );
+ if(array_key_exists('allow_cid',$arr))
+ $arx['allow_cid'] = $arr['allow_cid'];
+ if(array_key_exists('deny_cid',$arr))
+ $arx['deny_cid'] = $arr['deny_cid'];
+ if(array_key_exists('allow_gid',$arr))
+ $arx['allow_gid'] = $arr['allow_gid'];
+ if(array_key_exists('deny_gid',$arr))
+ $arx['deny_gid'] = $arr['deny_gid'];
+
+ $x = attach_mkdir($channel, $observer_hash, $arx);
+ if($x['success']) {
+ $current_parent = $x['data']['hash'];
+ }
+ else {
+ $ret['message'] = $x['message'];
+ return $ret;
+ }
+ }
+ if(isset($x)) {
+ $ret['success'] = true;
+ $ret['data'] = $x['data'];
+ }
+
+ return $ret;
+
+}
+
+
+
+
+
+
+
+/**
* @brief Changes permissions of a file.
*
* @param int $channel_id
@@ -734,7 +1108,7 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
*/
function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse = false) {
- $r = q("select hash, flags from attach where hash = '%s' and uid = %d limit 1",
+ $r = q("select hash, flags, is_dir from attach where hash = '%s' and uid = %d limit 1",
dbesc($resource),
intval($channel_id)
);
@@ -742,9 +1116,9 @@ function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gi
if(! $r)
return;
- if($r[0]['flags'] & ATTACH_FLAG_DIR) {
+ if(intval($r[0]['is_dir'])) {
if($recurse) {
- $r = q("select hash, flags from attach where folder = '%s' and uid = %d",
+ $r = q("select hash, flags, is_dir from attach where folder = '%s' and uid = %d",
dbesc($resource),
intval($channel_id)
);
@@ -778,15 +1152,16 @@ function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gi
* The hash to delete
* @return void
*/
-function attach_delete($channel_id, $resource) {
+function attach_delete($channel_id, $resource, $is_photo = 0) {
$c = q("SELECT channel_address FROM channel WHERE channel_id = %d LIMIT 1",
intval($channel_id)
);
$channel_address = (($c) ? $c[0]['channel_address'] : 'notfound');
+ $photo_sql = (($is_photo) ? " and is_photo = 1 " : '');
- $r = q("SELECT hash, flags, folder FROM attach WHERE hash = '%s' AND uid = %d limit 1",
+ $r = q("SELECT hash, flags, is_dir, folder FROM attach WHERE hash = '%s' AND uid = %d $photo_sql limit 1",
dbesc($resource),
intval($channel_id)
);
@@ -798,8 +1173,8 @@ function attach_delete($channel_id, $resource) {
$object = get_file_activity_object($channel_id, $resource, $cloudpath);
// If resource is a directory delete everything in the directory recursive
- if($r[0]['flags'] & ATTACH_FLAG_DIR) {
- $x = q("SELECT hash, flags FROM attach WHERE folder = '%s' AND uid = %d",
+ if(intval($r[0]['is_dir'])) {
+ $x = q("SELECT hash, os_storage, is_dir, flags FROM attach WHERE folder = '%s' AND uid = %d",
dbesc($resource),
intval($channel_id)
);
@@ -811,7 +1186,7 @@ function attach_delete($channel_id, $resource) {
}
// delete a file from filesystem
- if($r[0]['flags'] & ATTACH_FLAG_OS) {
+ if(intval($r[0]['os_storage'])) {
$y = q("SELECT data FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
dbesc($resource),
intval($channel_id)
@@ -873,11 +1248,10 @@ function get_cloudpath($arr) {
$lfile = $arr['folder'];
do {
- $r = q("select filename, hash, flags, folder from attach where uid = %d and hash = '%s' and ( flags & %d )>0
+ $r = q("select filename, hash, flags, is_dir, folder from attach where uid = %d and hash = '%s' and is_dir != 0
limit 1",
intval($arr['uid']),
- dbesc($lfile),
- intval(ATTACH_FLAG_DIR)
+ dbesc($lfile)
);
if(! $r)
@@ -887,7 +1261,7 @@ function get_cloudpath($arr) {
$lpath = $r[0]['filename'] . '/' . $lpath;
$lfile = $r[0]['folder'];
- } while ( ($r[0]['folder']) && ($r[0]['flags'] & ATTACH_FLAG_DIR));
+ } while ( ($r[0]['folder']) && intval($r[0]['is_dir']));
$path .= $lpath;
}
@@ -932,14 +1306,19 @@ function get_parent_cloudpath($channel_id, $channel_name, $attachHash) {
* The hash of the attachment
* @return string
*/
-function find_folder_hash_by_attach_hash($channel_id, $attachHash) {
+function find_folder_hash_by_attach_hash($channel_id, $attachHash, $recurse = false) {
+
+logger('attach_hash: ' . $attachHash);
$r = q("SELECT folder FROM attach WHERE uid = %d AND hash = '%s' LIMIT 1",
intval($channel_id),
dbesc($attachHash)
);
$hash = '';
- if ($r) {
- $hash = $r[0]['folder'];
+ if($r && $r[0]['folder']) {
+ if($recurse)
+ $hash = find_folder_hash_by_attach_hash($channel_id,$r[0]['folder'],true) . '/' . $r[0]['folder'];
+ else
+ $hash = $r[0]['folder'];
}
return $hash;
}
@@ -1011,7 +1390,7 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid,
//filter out receivers which do not have permission to view filestorage
$arr_allow_cid = check_list_permissions($channel_id, $arr_allow_cid, 'view_storage');
- $is_dir = (($object['flags'] & ATTACH_FLAG_DIR) ? true : false);
+ $is_dir = (intval($object['is_dir']) ? true : false);
//do not send activity for folders for now
if($is_dir)
@@ -1036,9 +1415,13 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid,
$mid = item_message_id();
- $objtype = ACTIVITY_OBJ_FILE;
+ $arr = array();
+
+ $arr['item_wall'] = 1;
+ $arr['item_origin'] = 1;
+ $arr['item_unseen'] = 1;
- $item_flags = ITEM_WALL|ITEM_ORIGIN;
+ $objtype = ACTIVITY_OBJ_FILE;
$private = (($arr_allow_cid[0] || $arr_allow_gid[0] || $arr_deny_cid[0] || $arr_deny_gid[0]) ? 1 : 0);
@@ -1077,23 +1460,20 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid,
$u_mid = item_message_id();
- $arr = array();
-
$arr['aid'] = get_account_id();
$arr['uid'] = $channel_id;
$arr['mid'] = $u_mid;
$arr['parent_mid'] = $u_mid;
- $arr['item_flags'] = $item_flags;
- $arr['item_unseen'] = 1;
$arr['author_xchan'] = $poster['xchan_hash'];
$arr['owner_xchan'] = $poster['xchan_hash'];
$arr['title'] = '';
- $arr['allow_cid'] = perms2str($u_arr_allow_cid);
- $arr['allow_gid'] = perms2str($u_arr_allow_gid);
- $arr['deny_cid'] = perms2str($u_arr_deny_cid);
- $arr['deny_gid'] = perms2str($u_arr_deny_gid);
- $arr['item_restrict'] = ITEM_HIDDEN;
- $arr['item_private'] = $private;
+ //updates should be visible to everybody -> perms may have changed
+ $arr['allow_cid'] = '';
+ $arr['allow_gid'] = '';
+ $arr['deny_cid'] = '';
+ $arr['deny_gid'] = '';
+ $arr['item_hidden'] = 1;
+ $arr['item_private'] = 0;
$arr['verb'] = ACTIVITY_UPDATE;
$arr['obj_type'] = $objtype;
$arr['object'] = $u_jsonobject;
@@ -1124,7 +1504,8 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid,
$arr['uid'] = $channel_id;
$arr['mid'] = $mid;
$arr['parent_mid'] = $mid;
- $arr['item_flags'] = $item_flags;
+ $arr['item_wall'] = 1;
+ $arr['item_origin'] = 1;
$arr['item_unseen'] = 1;
$arr['author_xchan'] = $poster['xchan_hash'];
$arr['owner_xchan'] = $poster['xchan_hash'];
@@ -1133,7 +1514,7 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid,
$arr['allow_gid'] = perms2str($arr_allow_gid);
$arr['deny_cid'] = perms2str($arr_deny_cid);
$arr['deny_gid'] = perms2str($arr_deny_gid);
- $arr['item_restrict'] = ITEM_HIDDEN;
+ $arr['item_hidden'] = 1;
$arr['item_private'] = $private;
$arr['verb'] = (($update) ? ACTIVITY_UPDATE : ACTIVITY_POST);
$arr['obj_type'] = $objtype;
@@ -1165,7 +1546,7 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid,
*/
function get_file_activity_object($channel_id, $hash, $cloudpath) {
- $x = q("SELECT creator, filename, filetype, filesize, revision, folder, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid FROM attach WHERE uid = %d AND hash = '%s' LIMIT 1",
+ $x = q("SELECT creator, filename, filetype, filesize, revision, folder, os_storage, is_photo, is_dir, flags, created, edited, allow_cid, allow_gid, deny_cid, deny_gid FROM attach WHERE uid = %d AND hash = '%s' LIMIT 1",
intval($channel_id),
dbesc($hash)
);
@@ -1193,6 +1574,9 @@ function get_file_activity_object($channel_id, $hash, $cloudpath) {
'revision' => $x[0]['revision'],
'folder' => $x[0]['folder'],
'flags' => $x[0]['flags'],
+ 'os_storage' => $x[0]['os_storage'],
+ 'is_photo' => $x[0]['is_photo'],
+ 'is_dir' => $x[0]['is_dir'],
'created' => $x[0]['created'],
'edited' => $x[0]['edited'],
'allow_cid' => $x[0]['allow_cid'],
@@ -1348,3 +1732,16 @@ function in_group($group_id) {
return $group_members;
}
+
+
+function filepath_macro($s) {
+
+ return str_replace(
+ array( '%Y', '%m', '%d' ),
+ array( datetime_convert('UTC',date_default_timezone_get(),'now', 'Y'),
+ datetime_convert('UTC',date_default_timezone_get(),'now', 'm'),
+ datetime_convert('UTC',date_default_timezone_get(),'now', 'd')
+ ), $s);
+
+}
+
diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php
index 65f8f3ea1..692128087 100644
--- a/include/bb2diaspora.php
+++ b/include/bb2diaspora.php
@@ -326,7 +326,7 @@ function bb2diaspora_itembody($item, $force_update = false) {
$newitem = $item;
- if(array_key_exists('item_flags',$item) && ($item['item_flags'] & ITEM_OBSCURED)) {
+ if(array_key_exists('item_obscured',$item) && intval($item['item_obscured'])) {
$key = get_config('system','prvkey');
$b = json_decode($item['body'],true);
// if called from diaspora_process_outbound, this decoding has already been done.
diff --git a/include/bbcode.php b/include/bbcode.php
index 6fc481fff..66bf6b5ec 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -12,6 +12,7 @@ require_once('include/hubloc.php');
function tryoembed($match) {
$url = ((count($match) == 2) ? $match[1] : $match[2]);
+
$o = oembed_fetch_url($url);
if ($o->type == 'error')
@@ -205,16 +206,6 @@ function translate_design_element($type) {
return $ret;
}
-/**
- * @brief Returns an QR-code image from a value given in $match[1].
- *
- * @param array $match
- * @return string HTML img with QR-code of $match[1]
- */
-function bb_qr($match) {
- return '<img class="zrl" src="' . z_root() . '/photo/qr?f=&qr=' . urlencode($match[1]) . '" alt="' . t('QR code') . '" title="' . htmlspecialchars($match[1],ENT_QUOTES,'UTF-8') . '" />';
-}
-
function bb_ShareAttributes($match) {
@@ -406,10 +397,49 @@ function bb_sanitize_style($input) {
return '<span style="' . $css_string_san . '">' . $input[2] . '</span>';
}
+function bb_observer($Text) {
+
+ $a = get_app();
+
+ $observer = $a->get_observer();
+
+ if ((strpos($Text,'[/observer]') !== false) || (strpos($Text,'[/rpost]') !== false)) {
+ if ($observer) {
+ $Text = preg_replace("/\[observer\=1\](.*?)\[\/observer\]/ism", '$1', $Text);
+ $Text = preg_replace("/\[observer\=0\].*?\[\/observer\]/ism", '', $Text);
+ $Text = preg_replace_callback("/\[rpost(=(.*?))?\](.*?)\[\/rpost\]/ism", 'rpost_callback', $Text);
+ } else {
+ $Text = preg_replace("/\[observer\=1\].*?\[\/observer\]/ism", '', $Text);
+ $Text = preg_replace("/\[observer\=0\](.*?)\[\/observer\]/ism", '$1', $Text);
+ $Text = preg_replace("/\[rpost(=.*?)?\](.*?)\[\/rpost\]/ism", '', $Text);
+ }
+ }
+
+ $channel = $a->get_channel();
+
+ if (strpos($Text,'[/channel]') !== false) {
+ if ($channel) {
+ $Text = preg_replace("/\[channel\=1\](.*?)\[\/channel\]/ism", '$1', $Text);
+ $Text = preg_replace("/\[channel\=0\].*?\[\/channel\]/ism", '', $Text);
+ } else {
+ $Text = preg_replace("/\[channel\=1\].*?\[\/channel\]/ism", '', $Text);
+ $Text = preg_replace("/\[channel\=0\](.*?)\[\/channel\]/ism", '$1', $Text);
+ }
+ }
+
+ return $Text;
+}
+
+
+
+
+
+
+
// BBcode 2 HTML was written by WAY2WEB.net
// extended to work with Mistpark/Friendica/Red - Mike Macgirvin
-function bbcode($Text, $preserve_nl = false, $tryoembed = true) {
+function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false) {
$a = get_app();
@@ -434,8 +464,6 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true) {
$Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_spacefy',$Text);
}
-
-
// If we find any event code, turn it into an event.
// After we're finished processing the bbcode we'll
// replace all of the event code with a reformatted version.
@@ -445,7 +473,8 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true) {
// process [observer] tags before we do anything else because we might
// be stripping away stuff that then doesn't need to be worked on anymore
- if(get_config('system','item_cache'))
+
+ if($cache)
$observer = false;
else
$observer = $a->get_observer();
@@ -462,7 +491,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true) {
}
}
- if(get_config('system','item_cache'))
+ if($cache)
$channel = false;
else
$channel = $a->get_channel();
@@ -544,10 +573,6 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true) {
$Text = preg_replace("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ism", '$1<a href="$2" >$2</a>', $Text);
}
- if (strpos($Text,'[/qr]') !== false) {
- $Text = preg_replace_callback("/\[qr\](.*?)\[\/qr\]/ism", 'bb_qr', $Text);
- }
-
if (strpos($Text,'[/share]') !== false) {
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism", 'bb_ShareAttributes', $Text);
}
@@ -884,35 +909,35 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true) {
}
// Youtube extensions
- if (strpos($Text,'[youtube]') !== false) {
- if ($tryoembed) {
- $Text = preg_replace_callback("/\[youtube\](https?:\/\/www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
- $Text = preg_replace_callback("/\[youtube\](www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
- $Text = preg_replace_callback("/\[youtube\](https?:\/\/youtu.be\/.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
- }
- $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/youtube\]/ism", '[youtube]$1[/youtube]', $Text);
- $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/embed\/(.*?)\[\/youtube\]/ism", '[youtube]$1[/youtube]', $Text);
- $Text = preg_replace("/\[youtube\]https?:\/\/youtu.be\/(.*?)\[\/youtube\]/ism", '[youtube]$1[/youtube]', $Text);
-
- if ($tryoembed)
- $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://www.youtube.com/embed/$1" frameborder="0"></iframe>', $Text);
- else
- $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", "http://www.youtube.com/watch?v=$1", $Text);
- }
- if (strpos($Text,'[vimeo]') !== false) {
- if ($tryoembed) {
- $Text = preg_replace_callback("/\[vimeo\](https?:\/\/player.vimeo.com\/video\/[0-9]+).*?\[\/vimeo\]/ism", 'tryoembed', $Text);
- $Text = preg_replace_callback("/\[vimeo\](https?:\/\/vimeo.com\/[0-9]+).*?\[\/vimeo\]/ism", 'tryoembed', $Text);
- }
-
- $Text = preg_replace("/\[vimeo\]https?:\/\/player.vimeo.com\/video\/([0-9]+)(.*?)\[\/vimeo\]/ism", '[vimeo]$1[/vimeo]', $Text);
- $Text = preg_replace("/\[vimeo\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/vimeo\]/ism", '[vimeo]$1[/vimeo]', $Text);
-
- if ($tryoembed)
- $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://player.vimeo.com/video/$1" frameborder="0" ></iframe>', $Text);
- else
- $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", "http://vimeo.com/$1", $Text);
- }
+// if (strpos($Text,'[youtube]') !== false) {
+// if ($tryoembed) {
+// $Text = preg_replace_callback("/\[youtube\](https?:\/\/www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
+// $Text = preg_replace_callback("/\[youtube\](www.youtube.com\/watch\?v\=.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
+// $Text = preg_replace_callback("/\[youtube\](https?:\/\/youtu.be\/.*?)\[\/youtube\]/ism", 'tryoembed', $Text);
+// }
+// $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/watch\?v\=(.*?)\[\/youtube\]/ism", '[youtube]$1[/youtube]', $Text);
+// $Text = preg_replace("/\[youtube\]https?:\/\/www.youtube.com\/embed\/(.*?)\[\/youtube\]/ism", '[youtube]$1[/youtube]', $Text);
+// $Text = preg_replace("/\[youtube\]https?:\/\/youtu.be\/(.*?)\[\/youtube\]/ism", '[youtube]$1[/youtube]', $Text);
+
+// if ($tryoembed)
+// $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://www.youtube.com/embed/$1" frameborder="0"></iframe>', $Text);
+// else
+// $Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", "http://www.youtube.com/watch?v=$1", $Text);
+// }
+// if (strpos($Text,'[vimeo]') !== false) {
+// if ($tryoembed) {
+// $Text = preg_replace_callback("/\[vimeo\](https?:\/\/player.vimeo.com\/video\/[0-9]+).*?\[\/vimeo\]/ism", 'tryoembed', $Text);
+// $Text = preg_replace_callback("/\[vimeo\](https?:\/\/vimeo.com\/[0-9]+).*?\[\/vimeo\]/ism", 'tryoembed', $Text);
+// }
+
+// $Text = preg_replace("/\[vimeo\]https?:\/\/player.vimeo.com\/video\/([0-9]+)(.*?)\[\/vimeo\]/ism", '[vimeo]$1[/vimeo]', $Text);
+// $Text = preg_replace("/\[vimeo\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/vimeo\]/ism", '[vimeo]$1[/vimeo]', $Text);
+
+// if ($tryoembed)
+// $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", '<iframe width="' . $a->videowidth . '" height="' . $a->videoheight . '" src="http://player.vimeo.com/video/$1" frameborder="0" ></iframe>', $Text);
+// else
+// $Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", "http://vimeo.com/$1", $Text);
+// }
// oembed tag
$Text = oembed_bbcode2html($Text);
@@ -969,15 +994,3 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true) {
return $Text;
}
-/**
- * This function exists as a short-term solution to folks linking to private images from their /cloud in
- * their profiles, which brings up a login dialogue in the directory when that entry is viewed.
- * The long term solution is to separate the web file browser from DAV so that you'll never see a
- * login prompt (though the resource may return a permission denied).
- */
-
-
-
-function strip_bbimage($s) {
- return preg_replace("/\[[zi]mg(.*?)\](.*?)\[\/[zi]mg\]/ism", '', $s);
-}
diff --git a/include/comanche.php b/include/comanche.php
index 49b910bdb..9585a6578 100644
--- a/include/comanche.php
+++ b/include/comanche.php
@@ -5,7 +5,7 @@ require_once('include/menu.php');
require_once('include/widgets.php');
// When editing a webpage - a dropdown is needed to select a page layout
-// On submit, the pdl_select value (which is the mid of an item with item_restrict = ITEM_PDL) is stored in
+// On submit, the pdl_select value (which is the mid of an item with item_type = ITEM_TYPE_PDL) is stored in
// the webpage's resource_id, with resource_type 'pdl'.
// Then when displaying a webpage, we can see if it has a pdl attached. If not we'll
diff --git a/include/contact_widgets.php b/include/contact_widgets.php
index a02fea523..a60b8b1c3 100644
--- a/include/contact_widgets.php
+++ b/include/contact_widgets.php
@@ -71,14 +71,17 @@ function categories_widget($baseurl,$selected = '') {
if(! feature_enabled($a->profile['profile_uid'],'categories'))
return '';
+ $item_normal = item_normal();
+
$terms = array();
$r = q("select distinct(term.term)
from term join item on term.oid = item.id
where item.uid = %d
and term.uid = item.uid
and term.type = %d
- and item.author_xchan = '%s'
- and item.item_restrict = 0
+ and item.owner_xchan = '%s'
+ and item.item_wall = 1
+ $item_normal
order by term.term asc",
intval($a->profile['profile_uid']),
intval(TERM_CATEGORY),
diff --git a/include/conversation.php b/include/conversation.php
index 8bbb87e2c..a3fdf39df 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -96,7 +96,7 @@ function localize_item(&$item){
if(! $item['object'])
return;
- if($item['item_flags'] & ITEM_THREAD_TOP)
+ if(intval($item['item_thread_top']))
return;
$obj = json_decode_plus($item['object']);
@@ -356,21 +356,12 @@ function localize_item(&$item){
}
}
*/
- // add sparkle links to appropriate permalinks
-
-// $x = stristr($item['plink'],'/display/');
-// if($x) {
-// $sparkle = false;
-// $y = best_link_url($item,$sparkle,true);
- // if($sparkle)
-// $item['plink'] = $y . '?f=&url=' . $item['plink'];
-// }
// if item body was obscured and we changed it, re-obscure it
// FIXME - we need a better filter than just the string 'data'; try and
// match the fact that it's json encoded
- if(($item['item_flags'] & ITEM_OBSCURED)
+ if(intval($item['item_obscured'])
&& strlen($item['body']) && (! strpos($item['body'],'data'))) {
$item['body'] = json_encode(crypto_encapsulate($item['body'],get_config('system','pubkey')));
}
@@ -682,8 +673,8 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
$likebuttons = false;
$shareable = false;
- $verified = (($item['item_flags'] & ITEM_VERIFIED) ? t('Message signature validated') : '');
- $forged = ((($item['sig']) && (! ($item['item_flags'] & ITEM_VERIFIED))) ? t('Message signature incorrect') : '');
+ $verified = (intval($item['item_verified']) ? t('Message signature validated') : '');
+ $forged = ((($item['sig']) && (! intval($item['item_verified']))) ? t('Message signature incorrect') : '');
$unverified = '';
@@ -939,7 +930,7 @@ function item_photo_menu($item){
if($contact) {
$poke_link = $a->get_baseurl($ssl_state) . '/poke/?f=&c=' . $contact['abook_id'];
- if (!($contact['abook_flags'] & ABOOK_FLAG_SELF))
+ if (! intval($contact['abook_self']))
$contact_url = $a->get_baseurl($ssl_state) . '/connedit/' . $contact['abook_id'];
$posts_link = $a->get_baseurl($ssl_state) . '/network/?cid=' . $contact['abook_id'];
@@ -1188,7 +1179,7 @@ function status_editor($a, $x, $popup = false) {
'$pagetitle' => (x($x,'pagetitle') ? $x['pagetitle'] : ''),
'$id_select' => $id_select,
'$id_seltext' => t('Post as'),
- '$writefiles' => (perm_is_allowed($x['profile_uid'], get_observer_hash(), 'post_photos') || perm_is_allowed($x['profile_uid'], get_observer_hash(), 'write_storage')),
+ '$writefiles' => perm_is_allowed($x['profile_uid'], get_observer_hash(), 'write_storage'),
'$bold' => t('Bold'),
'$italic' => t('Italic'),
'$underline' => t('Underline'),
@@ -1397,7 +1388,8 @@ function render_location_default($item) {
function prepare_page($item) {
$a = get_app();
- $naked = ((get_pconfig($item['uid'],'system','nakedpage')) ? 1 : 0);
+ $naked = 1;
+// $naked = ((get_pconfig($item['uid'],'system','nakedpage')) ? 1 : 0);
$observer = $a->get_observer();
//240 chars is the longest we can have before we start hitting problems with suhosin sites
$preview = substr(urlencode($item['body']), 0, 240);
@@ -1606,7 +1598,7 @@ function profile_tabs($a, $is_owner = false, $nickname = null){
'id' => 'profile-tab',
);
}
- if ($p['view_photos']) {
+ if ($p['view_storage']) {
$tabs[] = array(
'label' => t('Photos'),
'url' => $a->get_baseurl() . '/photos/' . $nickname,
@@ -1614,11 +1606,9 @@ function profile_tabs($a, $is_owner = false, $nickname = null){
'title' => t('Photo Albums'),
'id' => 'photo-tab',
);
- }
- if ($p['view_storage']) {
$tabs[] = array(
'label' => t('Files'),
- 'url' => $a->get_baseurl() . '/cloud/' . $nickname . ((get_observer_hash()) ? '' : '?f=&davguest=1'),
+ 'url' => $a->get_baseurl() . '/cloud/' . $nickname,
'sel' => ((argv(0) == 'cloud' || argv(0) == 'sharedwithme') ? 'active' : ''),
'title' => t('Files and Storage'),
'id' => 'files-tab',
diff --git a/include/diaspora.php b/include/diaspora.php
deleted file mode 100755
index 61556fd9d..000000000
--- a/include/diaspora.php
+++ /dev/null
@@ -1,3036 +0,0 @@
-<?php
-
-require_once('include/crypto.php');
-require_once('include/items.php');
-require_once('include/bb2diaspora.php');
-require_once('include/contact_selectors.php');
-//require_once('include/queue_fn.php');
-//require_once('include/lock.php');
-
-function diaspora_dispatch_public($msg) {
-
- $enabled = intval(get_config('system','diaspora_enabled'));
- if(! $enabled) {
- logger('mod-diaspora: disabled');
- return;
- }
-
- $sys_disabled = true;
-
- if(! get_config('system','disable_discover_tab')) {
- $sys_disabled = get_config('system','disable_diaspora_discover_tab');
- }
- $sys = (($sys_disabled) ? null : get_sys_channel());
-
- // find everybody following or allowing this author
-
- $r = q("SELECT * from channel where channel_id in ( SELECT abook_channel from abook left join xchan on abook_xchan = xchan_hash WHERE xchan_network like '%%diaspora%%' and xchan_addr = '%s' ) and ( channel_pageflags & %d ) = 0 ",
- dbesc($msg['author']),
- intval(PAGE_REMOVED)
- );
-
- // also need to look for those following public streams
-
- if($r) {
- foreach($r as $rr) {
- logger('diaspora_public: delivering to: ' . $rr['channel_name'] . ' (' . $rr['channel_address'] . ') ');
- diaspora_dispatch($rr,$msg);
- }
- }
- else {
- if(! $sys)
- logger('diaspora_public: no subscribers');
- }
-
- if($sys) {
- $sys['system'] = true;
- logger('diaspora_public: delivering to sys.');
- diaspora_dispatch($sys,$msg);
- }
-}
-
-
-
-function diaspora_dispatch($importer,$msg) {
-
- $ret = 0;
-
- if(! array_key_exists('system',$importer))
- $importer['system'] = false;
-
- $enabled = intval(get_config('system','diaspora_enabled'));
- if(! $enabled) {
- logger('mod-diaspora: disabled');
- return;
- }
-
- $allowed = get_pconfig($importer['channel_id'],'system','diaspora_allowed');
- if($allowed === false)
- $allowed = 1;
-
- if(! intval($allowed)) {
- logger('mod-diaspora: disallowed for channel ' . $importer['channel_name']);
- return;
- }
-
- // php doesn't like dashes in variable names
-
- $msg['message'] = str_replace(
- array('<activity_streams-photo>','</activity_streams-photo>'),
- array('<asphoto>','</asphoto>'),
- $msg['message']);
-
-
- $parsed_xml = parse_xml_string($msg['message'],false);
-
- $xmlbase = $parsed_xml->post;
-
-// logger('diaspora_dispatch: ' . print_r($xmlbase,true), LOGGER_DATA);
-
-
- if($xmlbase->request) {
- $ret = diaspora_request($importer,$xmlbase->request);
- }
- elseif($xmlbase->status_message) {
- $ret = diaspora_post($importer,$xmlbase->status_message,$msg);
- }
- elseif($xmlbase->profile) {
- $ret = diaspora_profile($importer,$xmlbase->profile,$msg);
- }
- elseif($xmlbase->comment) {
- $ret = diaspora_comment($importer,$xmlbase->comment,$msg);
- }
- elseif($xmlbase->like) {
- $ret = diaspora_like($importer,$xmlbase->like,$msg);
- }
- elseif($xmlbase->asphoto) {
- $ret = diaspora_asphoto($importer,$xmlbase->asphoto,$msg);
- }
- elseif($xmlbase->reshare) {
- $ret = diaspora_reshare($importer,$xmlbase->reshare,$msg);
- }
- elseif($xmlbase->retraction) {
- $ret = diaspora_retraction($importer,$xmlbase->retraction,$msg);
- }
- elseif($xmlbase->signed_retraction) {
- $ret = diaspora_signed_retraction($importer,$xmlbase->signed_retraction,$msg);
- }
- elseif($xmlbase->relayable_retraction) {
- $ret = diaspora_signed_retraction($importer,$xmlbase->relayable_retraction,$msg);
- }
- elseif($xmlbase->photo) {
- $ret = diaspora_photo($importer,$xmlbase->photo,$msg);
- }
- elseif($xmlbase->conversation) {
- $ret = diaspora_conversation($importer,$xmlbase->conversation,$msg);
- }
- elseif($xmlbase->message) {
- $ret = diaspora_message($importer,$xmlbase->message,$msg);
- }
- else {
- logger('diaspora_dispatch: unknown message type: ' . print_r($xmlbase,true));
- }
- return $ret;
-}
-
-
-function diaspora_is_blacklisted($s) {
-
- $bl1 = get_config('system','blacklisted_sites');
- if(is_array($bl1) && $bl1) {
- foreach($bl1 as $bl) {
- if($bl && strpos($s,$bl) !== false) {
- logger('diaspora_is_blacklisted: blacklisted ' . $s);
- return true;
- }
- }
- }
- return false;
-}
-
-function diaspora_process_outbound($arr) {
-
-/*
-
- We are passed the following array from the notifier, providing everything we need to make delivery decisions.
-
- diaspora_process_outbound(array(
- 'channel' => $channel,
- 'env_recips' => $env_recips,
- 'recipients' => $recipients,
- 'item' => $item,
- 'target_item' => $target_item,
- 'hub' => $hub,
- 'top_level_post' => $top_level_post,
- 'private' => $private,
- 'followup' => $followup,
- 'relay_to_owner' => $relay_to_owner,
- 'uplink' => $uplink,
- 'cmd' => $cmd,
- 'expire' => $expire,
- 'mail' => $mail,
- 'location' => $location,
- 'fsuggest' => $fsuggest,
- 'normal_mode' => $normal_mode,
- 'packet_type' => $packet_type,
- 'walltowall' => $walltowall,
- ));
-*/
-
-
- $allowed = get_pconfig($arr['channel']['channel_id'],'system','diaspora_allowed');
- if($allowed === false)
- $allowed = 1;
-
- if(! intval($allowed)) {
- logger('mod-diaspora: disallowed for channel ' . $arr['channel']['channel_name']);
- return;
- }
-
-
- if($arr['location'])
- return;
-
-
- $target_item = $arr['target_item'];
-
- if($target_item && array_key_exists('item_flags',$target_item) && ($target_item['item_flags'] & ITEM_OBSCURED)) {
- $key = get_config('system','prvkey');
- if($target_item['title'])
- $target_item['title'] = crypto_unencapsulate(json_decode($target_item['title'],true),$key);
- if($target_item['body'])
- $target_item['body'] = crypto_unencapsulate(json_decode($target_item['body'],true),$key);
- }
-
-
-
- if($arr['env_recips']) {
- $hashes = array();
-
- // re-explode the recipients, but only for this hub/pod
-
- foreach($arr['env_recips'] as $recip)
- $hashes[] = "'" . $recip['hash'] . "'";
-
- $r = q("select * from xchan left join hubloc on xchan_hash = hubloc_hash where hubloc_url = '%s'
- and xchan_hash in (" . implode(',', $hashes) . ") and xchan_network in ('diaspora', 'friendica-over-diaspora') ",
- dbesc($arr['hub']['hubloc_url'])
- );
-
- if(! $r) {
- logger('diaspora_process_outbound: no recipients');
- return;
- }
-
- foreach($r as $contact) {
-
- if($arr['mail']) {
- diaspora_send_mail($arr['item'],$arr['channel'],$contact);
- continue;
- }
-
- if(! $arr['normal_mode'])
- continue;
-
- // special handling for followup to public post
- // all other public posts processed as public batches further below
-
- if((! $arr['private']) && ($arr['followup'])) {
- diaspora_send_followup($target_item,$arr['channel'],$contact, true);
- continue;
- }
-
- if(! $contact['xchan_pubkey'])
- continue;
-
- if(($target_item['item_restrict'] & ITEM_DELETED)
- && (($target_item['mid'] === $target_item['parent_mid']) || $arr['followup'])) {
- // send both top-level retractions and relayable retractions for owner to relay
- diaspora_send_retraction($target_item,$arr['channel'],$contact);
- continue;
- }
- elseif($arr['followup']) {
- // send comments and likes to owner to relay
- diaspora_send_followup($target_item,$arr['channel'],$contact);
- continue;
- }
-
- elseif($target_item['mid'] !== $target_item['parent_mid']) {
- // we are the relay - send comments, likes and relayable_retractions
- // (of comments and likes) to our conversants
- diaspora_send_relay($target_item,$arr['channel'],$contact);
- continue;
- }
- elseif($arr['top_level_post']) {
- diaspora_send_status($target_item,$arr['channel'],$contact);
- continue;
- }
- }
- }
- else {
- // public message
-
- $contact = $arr['hub'];
-
- if(($target_item['deleted'])
- && ($target_item['mid'] === $target_item['parent_mod'])) {
- // top-level retraction
- logger('delivery: diaspora retract: ' . $loc);
- diaspora_send_retraction($target_item,$arr['channel'],$contact,true);
- return;
- }
- elseif($target_item['mid'] !== $target_item['parent_mid']) {
- // we are the relay - send comments, likes and relayable_retractions to our conversants
- logger('delivery: diaspora relay: ' . $loc);
- diaspora_send_relay($target_item,$arr['channel'],$contact,true);
- return;
- }
- elseif($arr['top_level_post']) {
- logger('delivery: diaspora status: ' . $loc);
- diaspora_send_status($target_item,$arr['channel'],$contact,true);
- return;
- }
-
- }
-
-}
-
-
-function diaspora_handle_from_contact($contact_hash) {
-
- logger("diaspora_handle_from_contact: contact id is " . $contact_hash, LOGGER_DEBUG);
-
- $r = q("SELECT xchan_addr from xchan where xchan_hash = '%s' limit 1",
- dbesc($contact_hash)
- );
- if($r) {
- return $r[0]['xchan_addr'];
- }
- return false;
-}
-
-function diaspora_get_contact_by_handle($uid,$handle) {
-
- if(diaspora_is_blacklisted($handle))
- return false;
- require_once('include/identity.php');
-
- $sys = get_sys_channel();
- if(($sys) && ($sys['channel_id'] == $uid)) {
- $r = q("SELECT * FROM xchan where xchan_addr = '%s' limit 1",
- dbesc($handle)
- );
- }
- else {
- $r = q("SELECT * FROM abook left join xchan on xchan_hash = abook_xchan where xchan_addr = '%s' and abook_channel = %d limit 1",
- dbesc($handle),
- intval($uid)
- );
- }
-
- return (($r) ? $r[0] : false);
-}
-
-function find_diaspora_person_by_handle($handle) {
-
- $person = false;
-
- if(diaspora_is_blacklisted($handle))
- return false;
-
- $r = q("select * from xchan where xchan_addr = '%s' limit 1",
- dbesc($handle)
- );
- if($r) {
- $person = $r[0];
- logger('find_diaspora_person_by handle: in cache ' . print_r($r,true), LOGGER_DATA);
- }
-
- if(! $person) {
-
- // try webfinger. Make sure to distinguish between diaspora,
- // redmatrix w/diaspora protocol and friendica w/diaspora protocol.
-
- $result = discover_by_webbie($handle);
- if($result) {
- $r = q("select * from xchan where xchan_addr = '%s' limit 1",
- dbesc($handle)
- );
- if($r) {
- $person = $r[0];
- logger('find_diaspora_person_by handle: discovered ' . print_r($r,true), LOGGER_DATA);
- }
- }
- }
-
- return $person;
-}
-
-
-function get_diaspora_key($handle) {
- logger('Fetching diaspora key for: ' . $handle, LOGGER_DEBUG);
- $r = find_diaspora_person_by_handle($handle);
- return(($r) ? $r['xchan_pubkey'] : '');
-}
-
-
-function diaspora_pubmsg_build($msg,$channel,$contact,$prvkey,$pubkey) {
-
- $a = get_app();
-
- logger('diaspora_pubmsg_build: ' . $msg, LOGGER_DATA);
-
- $handle = $channel['channel_address'] . '@' . get_app()->get_hostname();
-
-
- $b64url_data = base64url_encode($msg,false);
-
- $data = str_replace(array("\n","\r"," ","\t"),array('','','',''),$b64url_data);
-
- $type = 'application/xml';
- $encoding = 'base64url';
- $alg = 'RSA-SHA256';
-
- $signable_data = $data . '.' . base64url_encode($type,false) . '.'
- . base64url_encode($encoding,false) . '.' . base64url_encode($alg,false) ;
-
- $signature = rsa_sign($signable_data,$prvkey);
- $sig = base64url_encode($signature,false);
-
-$magic_env = <<< EOT
-<?xml version='1.0' encoding='UTF-8'?>
-<diaspora xmlns="https://joindiaspora.com/protocol" xmlns:me="http://salmon-protocol.org/ns/magic-env" >
- <header>
- <author_id>$handle</author_id>
- </header>
- <me:env>
- <me:encoding>base64url</me:encoding>
- <me:alg>RSA-SHA256</me:alg>
- <me:data type="application/xml">$data</me:data>
- <me:sig>$sig</me:sig>
- </me:env>
-</diaspora>
-EOT;
-
- logger('diaspora_pubmsg_build: magic_env: ' . $magic_env, LOGGER_DATA);
- return $magic_env;
-
-}
-
-
-
-
-function diaspora_msg_build($msg,$channel,$contact,$prvkey,$pubkey,$public = false) {
- $a = get_app();
-
- if($public)
- return diaspora_pubmsg_build($msg,$channel,$contact,$prvkey,$pubkey);
-
- logger('diaspora_msg_build: ' . $msg, LOGGER_DATA);
-
- // without a public key nothing will work
-
- if(! $pubkey) {
- logger('diaspora_msg_build: pubkey missing: contact id: ' . $contact['abook_id']);
- return '';
- }
-
- $inner_aes_key = random_string(32);
- $b_inner_aes_key = base64_encode($inner_aes_key);
- $inner_iv = random_string(16);
- $b_inner_iv = base64_encode($inner_iv);
-
- $outer_aes_key = random_string(32);
- $b_outer_aes_key = base64_encode($outer_aes_key);
- $outer_iv = random_string(16);
- $b_outer_iv = base64_encode($outer_iv);
-
- $handle = $channel['channel_address'] . '@' . get_app()->get_hostname();
-
- $padded_data = pkcs5_pad($msg,16);
- $inner_encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $inner_aes_key, $padded_data, MCRYPT_MODE_CBC, $inner_iv);
-
- $b64_data = base64_encode($inner_encrypted);
-
-
- $b64url_data = base64url_encode($b64_data,false);
- $data = str_replace(array("\n","\r"," ","\t"),array('','','',''),$b64url_data);
-
- $type = 'application/xml';
- $encoding = 'base64url';
- $alg = 'RSA-SHA256';
-
- $signable_data = $data . '.' . base64url_encode($type,false) . '.'
- . base64url_encode($encoding,false) . '.' . base64url_encode($alg,false) ;
-
- logger('diaspora_msg_build: signable_data: ' . $signable_data, LOGGER_DATA);
-
- $signature = rsa_sign($signable_data,$prvkey);
- $sig = base64url_encode($signature,false);
-
-$decrypted_header = <<< EOT
-<decrypted_header>
- <iv>$b_inner_iv</iv>
- <aes_key>$b_inner_aes_key</aes_key>
- <author_id>$handle</author_id>
-</decrypted_header>
-EOT;
-
- $decrypted_header = pkcs5_pad($decrypted_header,16);
-
- $ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $outer_aes_key, $decrypted_header, MCRYPT_MODE_CBC, $outer_iv);
-
- $outer_json = json_encode(array('iv' => $b_outer_iv,'key' => $b_outer_aes_key));
-
- $encrypted_outer_key_bundle = '';
- openssl_public_encrypt($outer_json,$encrypted_outer_key_bundle,$pubkey);
-
- $b64_encrypted_outer_key_bundle = base64_encode($encrypted_outer_key_bundle);
-
- logger('outer_bundle: ' . $b64_encrypted_outer_key_bundle . ' key: ' . $pubkey, LOGGER_DATA);
-
- $encrypted_header_json_object = json_encode(array('aes_key' => base64_encode($encrypted_outer_key_bundle),
- 'ciphertext' => base64_encode($ciphertext)));
- $cipher_json = base64_encode($encrypted_header_json_object);
-
- $encrypted_header = '<encrypted_header>' . $cipher_json . '</encrypted_header>';
-
-$magic_env = <<< EOT
-<?xml version='1.0' encoding='UTF-8'?>
-<diaspora xmlns="https://joindiaspora.com/protocol" xmlns:me="http://salmon-protocol.org/ns/magic-env" >
- $encrypted_header
- <me:env>
- <me:encoding>base64url</me:encoding>
- <me:alg>RSA-SHA256</me:alg>
- <me:data type="application/xml">$data</me:data>
- <me:sig>$sig</me:sig>
- </me:env>
-</diaspora>
-EOT;
-
- logger('diaspora_msg_build: magic_env: ' . $magic_env, LOGGER_DATA);
- return $magic_env;
-
-}
-
-/**
- *
- * diaspora_decode($importer,$xml)
- * array $importer -> from user table
- * string $xml -> urldecoded Diaspora salmon
- *
- * Returns array
- * 'message' -> decoded Diaspora XML message
- * 'author' -> author diaspora handle
- * 'key' -> author public key (converted to pkcs#8)
- *
- * Author and key are used elsewhere to save a lookup for verifying replies and likes
- */
-
-
-function diaspora_decode($importer,$xml) {
-
- $public = false;
- $basedom = parse_xml_string($xml);
-
- $children = $basedom->children('https://joindiaspora.com/protocol');
-
- if($children->header) {
- $public = true;
- $author_link = str_replace('acct:','',$children->header->author_id);
- }
- else {
-
- $encrypted_header = json_decode(base64_decode($children->encrypted_header));
-
- $encrypted_aes_key_bundle = base64_decode($encrypted_header->aes_key);
- $ciphertext = base64_decode($encrypted_header->ciphertext);
-
- $outer_key_bundle = '';
- openssl_private_decrypt($encrypted_aes_key_bundle,$outer_key_bundle,$importer['channel_prvkey']);
-
- $j_outer_key_bundle = json_decode($outer_key_bundle);
-
- $outer_iv = base64_decode($j_outer_key_bundle->iv);
- $outer_key = base64_decode($j_outer_key_bundle->key);
-
- $decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $outer_key, $ciphertext, MCRYPT_MODE_CBC, $outer_iv);
-
-
- $decrypted = pkcs5_unpad($decrypted);
-
- /**
- * $decrypted now contains something like
- *
- * <decrypted_header>
- * <iv>8e+G2+ET8l5BPuW0sVTnQw==</iv>
- * <aes_key>UvSMb4puPeB14STkcDWq+4QE302Edu15oaprAQSkLKU=</aes_key>
-
-***** OBSOLETE
-
- * <author>
- * <name>Ryan Hughes</name>
- * <uri>acct:galaxor@diaspora.pirateship.org</uri>
- * </author>
-
-***** CURRENT
-
- * <author_id>galaxor@diaspora.priateship.org</author_id>
-
-***** END DIFFS
-
- * </decrypted_header>
- */
-
- logger('decrypted: ' . $decrypted, LOGGER_DATA);
- $idom = parse_xml_string($decrypted,false);
-
- $inner_iv = base64_decode($idom->iv);
- $inner_aes_key = base64_decode($idom->aes_key);
-
- $author_link = str_replace('acct:','',$idom->author_id);
-
- }
-
- $dom = $basedom->children(NAMESPACE_SALMON_ME);
-
- // figure out where in the DOM tree our data is hiding
-
- if($dom->provenance->data)
- $base = $dom->provenance;
- elseif($dom->env->data)
- $base = $dom->env;
- elseif($dom->data)
- $base = $dom;
-
- if(! $base) {
- logger('mod-diaspora: unable to locate salmon data in xml ');
- http_status_exit(400);
- }
-
-
- // Stash the signature away for now. We have to find their key or it won't be good for anything.
- $signature = base64url_decode($base->sig);
-
- // unpack the data
-
- // strip whitespace so our data element will return to one big base64 blob
- $data = str_replace(array(" ","\t","\r","\n"),array("","","",""),$base->data);
-
-
- // stash away some other stuff for later
-
- $type = $base->data[0]->attributes()->type[0];
- $keyhash = $base->sig[0]->attributes()->keyhash[0];
- $encoding = $base->encoding;
- $alg = $base->alg;
-
- $signed_data = $data . '.' . base64url_encode($type,false) . '.' . base64url_encode($encoding,false) . '.' . base64url_encode($alg,false);
-
-
- // decode the data
- $data = base64url_decode($data);
-
-
- if($public) {
- $inner_decrypted = $data;
- }
- else {
-
- // Decode the encrypted blob
-
- $inner_encrypted = base64_decode($data);
- $inner_decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $inner_aes_key, $inner_encrypted, MCRYPT_MODE_CBC, $inner_iv);
- $inner_decrypted = pkcs5_unpad($inner_decrypted);
- }
-
- if(! $author_link) {
- logger('mod-diaspora: Could not retrieve author URI.');
- http_status_exit(400);
- }
-
- // Once we have the author URI, go to the web and try to find their public key
- // (first this will look it up locally if it is in the fcontact cache)
- // This will also convert diaspora public key from pkcs#1 to pkcs#8
-
- logger('mod-diaspora: Fetching key for ' . $author_link );
- $key = get_diaspora_key($author_link);
-
- if(! $key) {
- logger('mod-diaspora: Could not retrieve author key.');
- http_status_exit(400);
- }
-
- $verify = rsa_verify($signed_data,$signature,$key);
-
- if(! $verify) {
- logger('mod-diaspora: Message did not verify. Discarding.');
- http_status_exit(400);
- }
-
- logger('mod-diaspora: Message verified.');
-
- return array('message' => $inner_decrypted, 'author' => $author_link, 'key' => $key);
-
-}
-
-
-/* sender is now sharing with recipient */
-
-function diaspora_request($importer,$xml) {
-
- $a = get_app();
-
- $sender_handle = unxmlify($xml->sender_handle);
- $recipient_handle = unxmlify($xml->recipient_handle);
-
- if(! $sender_handle || ! $recipient_handle)
- return;
-
-
- // Do we already have an abook record?
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$sender_handle);
-
- if($contact && $contact['abook_id']) {
-
- // perhaps we were already sharing with this person. Now they're sharing with us.
- // That makes us friends. Maybe.
-
- // Please note some of these permissions such as PERMS_R_PAGES are impossible for Disapora.
- // They cannot authenticate to our system.
-
- $newperms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK|PERMS_W_STREAM|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT|PERMS_R_STORAGE|PERMS_R_PAGES;
-
- $r = q("update abook set abook_their_perms = %d where abook_id = %d and abook_channel = %d",
- intval($newperms),
- intval($contact['abook_id']),
- intval($importer['channel_id'])
- );
-
- return;
- }
-
- $ret = find_diaspora_person_by_handle($sender_handle);
-
- if((! $ret) || (! strstr($ret['xchan_network'],'diaspora'))) {
- logger('diaspora_request: Cannot resolve diaspora handle ' . $sender_handle . ' for ' . $recipient_handle);
- return;
- }
-
-
-//FIXME
-/*
- if(feature_enabled($channel['channel_id'],'premium_channel')) {
- $myaddr = $importer['channel_address'] . '@' . get_app()->get_hostname();
- $cnv = random_string();
- $mid = random_string();
-
- $msg = t('You have started sharing with a $Projectname premium channel.');
- $msg .= t('$Projectname premium channels are not available for sharing with Diaspora members. This sharing request has been blocked.') . "\r";
- $msg .= t('Please do not reply to this message, as this channel is not sharing with you and any reply will not be seen by the recipient.') . "\r";
-
- $created = datetime_convert('UTC','UTC',$item['created'],'Y-m-d H:i:s \U\T\C');
- $signed_text = $mid . ';' . $cnv . ';' . $msg . ';'
- . $created . ';' . $myaddr . ';' . $cnv;
-
- $sig = base64_encode(rsa_sign($signed_text,$importer['channel_prvkey'],'sha256'));
-
- $conv = array(
- 'guid' => xmlify($cnv),
- 'subject' => xmlify(t('Sharing request failed.')),
- 'created_at' => xmlify($created),
- 'diaspora_handle' => xmlify($myaddr),
- 'participant_handles' => xmlify($myaddr . ';' . $sender_handle)
- );
-
- $msg = array(
- 'guid' => xmlify($mid),
- 'parent_guid' => xmlify($cnv),
- 'parent_author_signature' => xmlify($sig),
- 'author_signature' => xmlify($sig),
- 'text' => xmlify($msg),
- 'created_at' => xmlify($created),
- 'diaspora_handle' => xmlify($myaddr),
- 'conversation_guid' => xmlify($cnv)
- );
-
- $conv['messages'] = array($msg);
- $tpl = get_markup_template('diaspora_conversation.tpl');
- $xmsg = replace_macros($tpl, array('$conv' => $conv));
-
- $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($xmsg,$importer,$ret,$importer['channel_prvkey'],$ret['xchan_pubkey'],false)));
-
- diaspora_transmit($importer,$ret,$slap,false);
- return;
- }
-
-*/
-// End FIXME
-
-
- $role = get_pconfig($channel['channel_id'],'system','permissions_role');
- if($role) {
- $x = get_role_perms($role);
- if($x['perms_auto'])
- $default_perms = $x['perms_accept'];
- }
- if(! $default_perms)
- $default_perms = intval(get_pconfig($importer['channel_id'],'system','autoperms'));
-
- $their_perms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK|PERMS_W_STREAM|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT|PERMS_R_STORAGE|PERMS_R_PAGES;
-
-
- $closeness = get_pconfig($importer['channel_id'],'system','new_abook_closeness');
- if($closeness === false)
- $closeness = 80;
-
-
- $r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_my_perms, abook_their_perms, abook_closeness, abook_rating, abook_created, abook_updated, abook_connected, abook_dob, abook_flags) values ( %d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', %d )",
- intval($importer['channel_account_id']),
- intval($importer['channel_id']),
- dbesc($ret['xchan_hash']),
- intval($default_perms),
- intval($their_perms),
- intval($closeness),
- intval(0),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(NULL_DATE),
- intval(($default_perms) ? 0 : ABOOK_FLAG_PENDING)
- );
-
-
- if($r) {
- logger("New Diaspora introduction received for {$importer['channel_name']}");
-
- $new_connection = q("select * from abook left join xchan on abook_xchan = xchan_hash left join hubloc on hubloc_hash = xchan_hash where abook_channel = %d and abook_xchan = '%s' order by abook_created desc limit 1",
- intval($importer['channel_id']),
- dbesc($ret['xchan_hash'])
- );
- if($new_connection) {
- require_once('include/enotify.php');
- notification(array(
- 'type' => NOTIFY_INTRO,
- 'from_xchan' => $ret['xchan_hash'],
- 'to_xchan' => $importer['channel_hash'],
- 'link' => z_root() . '/connedit/' . $new_connection[0]['abook_id'],
- ));
-
-
- if($default_perms) {
- // Send back a sharing notification to them
- diaspora_share($importer,$new_connection[0]);
-
- }
-
- $clone = array();
- foreach($new_connection[0] as $k => $v) {
- if(strpos($k,'abook_') === 0) {
- $clone[$k] = $v;
- }
- }
- unset($clone['abook_id']);
- unset($clone['abook_account']);
- unset($clone['abook_channel']);
-
- build_sync_packet($importer['channel_id'], array('abook' => array($clone)));
-
- }
- }
-
- // find the abook record we just created
-
- $contact_record = diaspora_get_contact_by_handle($importer['channel_id'],$sender_handle);
-
- if(! $contact_record) {
- logger('diaspora_request: unable to locate newly created contact record.');
- return;
- }
-
- /** If there is a default group for this channel, add this member to it */
-
- if($importer['channel_default_group']) {
- require_once('include/group.php');
- $g = group_rec_byhash($importer['channel_id'],$importer['channel_default_group']);
- if($g)
- group_add_member($importer['channel_id'],'',$contact_record['xchan_hash'],$g['id']);
- }
-
- return;
-}
-
-
-
-function diaspora_post($importer,$xml,$msg) {
-
- $a = get_app();
- $guid = notags(unxmlify($xml->guid));
- $diaspora_handle = notags(unxmlify($xml->diaspora_handle));
- $app = notags(xmlify($xml->provider_display_name));
-
-
- if($diaspora_handle != $msg['author']) {
- logger('diaspora_post: Potential forgery. Message handle is not the same as envelope sender.');
- return 202;
- }
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$diaspora_handle);
- if(! $contact)
- return;
-
-
-
- if(! $app) {
- if(strstr($contact['xchan_network'],'friendica'))
- $app = 'Friendica';
- else
- $app = 'Diaspora';
- }
-
-
- $search_guid = ((strlen($guid) == 64) ? $guid . '%' : $guid);
-
- $r = q("SELECT id FROM item WHERE uid = %d AND mid like '%s' LIMIT 1",
- intval($importer['channel_id']),
- dbesc($search_guid)
- );
-
- if($r) {
- // check dates if post editing is implemented
- logger('diaspora_post: message exists: ' . $guid);
- return;
- }
-
- $created = unxmlify($xml->created_at);
- $private = ((unxmlify($xml->public) == 'false') ? 1 : 0);
-
- $body = diaspora2bb($xml->raw_message);
-
- if($xml->photo) {
- $body = '[img]' . $xml->photo->remote_photo_path . $xml->photo->remote_photo_name . '[/img]' . "\n\n" . $body;
- $body = scale_external_images($body);
- }
-
- $maxlen = get_max_import_size();
-
- if($maxlen && mb_strlen($body) > $maxlen) {
- $body = mb_substr($body,0,$maxlen,'UTF-8');
- logger('message length exceeds max_import_size: truncated');
- }
-
-//WTF? FIXME
- // Add OEmbed and other information to the body
-// $body = add_page_info_to_body($body, false, true);
-
- $datarray = array();
-
-
- // Look for tags and linkify them
- $results = linkify_tags(get_app(), $body, $importer['channel_id'], true);
-
- $datarray['term'] = array();
-
- if($results) {
- foreach($results as $result) {
- $success = $result['success'];
- if($success['replaced']) {
- $datarray['term'][] = array(
- 'uid' => $importer['channel_id'],
- 'type' => $success['termtype'],
- 'otype' => TERM_OBJ_POST,
- 'term' => $success['term'],
- 'url' => $success['url']
- );
- }
- }
- }
-
- $cnt = preg_match_all('/@\[url=(.*?)\](.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER);
- if($cnt) {
- foreach($matches as $mtch) {
- $datarray['term'][] = array(
- 'uid' => $importer['channel_id'],
- 'type' => TERM_MENTION,
- 'otype' => TERM_OBJ_POST,
- 'term' => $mtch[2],
- 'url' => $mtch[1]
- );
- }
- }
-
- $cnt = preg_match_all('/@\[zrl=(.*?)\](.*?)\[\/zrl\]/ism',$body,$matches,PREG_SET_ORDER);
- if($cnt) {
- foreach($matches as $mtch) {
- // don't include plustags in the term
- $term = ((substr($mtch[2],-1,1) === '+') ? substr($mtch[2],0,-1) : $mtch[2]);
- $datarray['term'][] = array(
- 'uid' => $importer['channel_id'],
- 'type' => TERM_MENTION,
- 'otype' => TERM_OBJ_POST,
- 'term' => $term,
- 'url' => $mtch[1]
- );
- }
- }
-
-
-
-
- $plink = service_plink($contact,$guid);
-
-
- $datarray['uid'] = $importer['channel_id'];
-
- $datarray['verb'] = ACTIVITY_POST;
- $datarray['mid'] = $datarray['parent_mid'] = $guid;
-
- $datarray['changed'] = $datarray['created'] = $datarray['edited'] = datetime_convert('UTC','UTC',$created);
- $datarray['item_private'] = $private;
-
- $datarray['plink'] = $plink;
-
- $datarray['author_xchan'] = $contact['xchan_hash'];
- $datarray['owner_xchan'] = $contact['xchan_hash'];
-
- $datarray['body'] = $body;
-
- $datarray['app'] = $app;
-
- $datarray['item_flags'] = ITEM_THREAD_TOP;
- $datarray['item_unseen'] = 1;
-
-
- $tgroup = tgroup_check($importer['channel_id'],$datarray);
-
- if((! $importer['system']) && (! perm_is_allowed($importer['channel_id'],$contact['xchan_hash'],'send_stream')) && (! $tgroup)) {
- logger('diaspora_post: Ignoring this author.');
- return 202;
- }
-
- if(! post_is_importable($datarray,$contact)) {
- logger('diaspora_post: filtering this author.');
- return 202;
- }
-
- $result = item_store($datarray);
- return;
-
-}
-
-
-function get_diaspora_reshare_xml($url,$recurse = 0) {
-
- $x = z_fetch_url($url);
- if(! $x['success'])
- $x = z_fetch_url(str_replace('https://','http://',$url));
- if(! $x['success']) {
- logger('get_diaspora_reshare_xml: unable to fetch source url ' . $url);
- return;
- }
- logger('get_diaspora_reshare_xml: source: ' . $x['body'], LOGGER_DEBUG);
-
- $source_xml = parse_xml_string($x['body'],false);
-
- if(! $source_xml) {
- logger('get_diaspora_reshare_xml: unparseable result from ' . $url);
- return '';
- }
-
- if($source_xml->post->status_message) {
- return $source_xml;
- }
-
- // see if it's a reshare of a reshare
-
- if($source_xml->post->reshare)
- $xml = $source_xml->post->reshare;
- else
- return false;
-
- if($xml->root_diaspora_id && $xml->root_guid && $recurse < 15) {
- $orig_author = notags(unxmlify($xml->root_diaspora_id));
- $orig_guid = notags(unxmlify($xml->root_guid));
- $source_url = 'https://' . substr($orig_author,strpos($orig_author,'@')+1) . '/p/' . $orig_guid . '.xml';
- $y = get_diaspora_reshare_xml($source_url,$recurse+1);
- if($y)
- return $y;
- }
- return false;
-}
-
-
-
-function diaspora_reshare($importer,$xml,$msg) {
-
- logger('diaspora_reshare: init: ' . print_r($xml,true), LOGGER_DATA);
-
- $a = get_app();
- $guid = notags(unxmlify($xml->guid));
- $diaspora_handle = notags(unxmlify($xml->diaspora_handle));
-
-
- if($diaspora_handle != $msg['author']) {
- logger('diaspora_post: Potential forgery. Message handle is not the same as envelope sender.');
- return 202;
- }
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$diaspora_handle);
- if(! $contact)
- return;
-
- $search_guid = ((strlen($guid) == 64) ? $guid . '%' : $guid);
- $r = q("SELECT id FROM item WHERE uid = %d AND mid like '%s' LIMIT 1",
- intval($importer['channel_id']),
- dbesc($search_guid)
- );
- if($r) {
- logger('diaspora_reshare: message exists: ' . $guid);
- return;
- }
-
- $orig_author = notags(unxmlify($xml->root_diaspora_id));
- $orig_guid = notags(unxmlify($xml->root_guid));
-
- $source_url = 'https://' . substr($orig_author,strpos($orig_author,'@')+1) . '/p/' . $orig_guid . '.xml';
- $orig_url = 'https://'.substr($orig_author,strpos($orig_author,'@')+1).'/posts/'.$orig_guid;
-
- $source_xml = get_diaspora_reshare_xml($source_url);
-
- if($source_xml->post->status_message) {
- $body = diaspora2bb($source_xml->post->status_message->raw_message);
-
- $orig_author = notags(unxmlify($source_xml->post->status_message->diaspora_handle));
- $orig_guid = notags(unxmlify($source_xml->post->status_message->guid));
-
-
- // Checking for embedded pictures
- if($source_xml->post->status_message->photo->remote_photo_path &&
- $source_xml->post->status_message->photo->remote_photo_name) {
-
- $remote_photo_path = notags(unxmlify($source_xml->post->status_message->photo->remote_photo_path));
- $remote_photo_name = notags(unxmlify($source_xml->post->status_message->photo->remote_photo_name));
-
- $body = '[img]'.$remote_photo_path.$remote_photo_name.'[/img]'."\n".$body;
-
- logger('diaspora_reshare: embedded picture link found: '.$body, LOGGER_DEBUG);
- }
-
- $body = scale_external_images($body);
-
- // Add OEmbed and other information to the body
-// $body = add_page_info_to_body($body, false, true);
- }
- else {
- // Maybe it is a reshare of a photo that will be delivered at a later time (testing)
- logger('diaspora_reshare: no reshare content found: ' . print_r($source_xml,true));
- $body = "";
- //return;
- }
-
- $maxlen = get_max_import_size();
-
- if($maxlen && mb_strlen($body) > $maxlen) {
- $body = mb_substr($body,0,$maxlen,'UTF-8');
- logger('message length exceeds max_import_size: truncated');
- }
-
- $person = find_diaspora_person_by_handle($orig_author);
-
- if($person) {
- $orig_author_name = $person['xchan_name'];
- $orig_author_link = $person['xchan_url'];
- $orig_author_photo = $person['xchan_photo_m'];
- }
-
-
- $created = unxmlify($xml->created_at);
- $private = ((unxmlify($xml->public) == 'false') ? 1 : 0);
-
- $datarray = array();
-
- // Look for tags and linkify them
- $results = linkify_tags(get_app(), $body, $importer['channel_id'], true);
-
- $datarray['term'] = array();
-
- if($results) {
- foreach($results as $result) {
- $success = $result['success'];
- if($success['replaced']) {
- $datarray['term'][] = array(
- 'uid' => $importer['channel_id'],
- 'type' => $success['termtype'],
- 'otype' => TERM_OBJ_POST,
- 'term' => $success['term'],
- 'url' => $success['url']
- );
- }
- }
- }
-
- $cnt = preg_match_all('/@\[url=(.*?)\](.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER);
- if($cnt) {
- foreach($matches as $mtch) {
- $datarray['term'][] = array(
- 'uid' => $importer['channel_id'],
- 'type' => TERM_MENTION,
- 'otype' => TERM_OBJ_POST,
- 'term' => $mtch[2],
- 'url' => $mtch[1]
- );
- }
- }
-
- $cnt = preg_match_all('/@\[zrl=(.*?)\](.*?)\[\/zrl\]/ism',$body,$matches,PREG_SET_ORDER);
- if($cnt) {
- foreach($matches as $mtch) {
- // don't include plustags in the term
- $term = ((substr($mtch[2],-1,1) === '+') ? substr($mtch[2],0,-1) : $mtch[2]);
- $datarray['term'][] = array(
- 'uid' => $importer['channel_id'],
- 'type' => TERM_MENTION,
- 'otype' => TERM_OBJ_POST,
- 'term' => $term,
- 'url' => $mtch[1]
- );
- }
- }
-
-
-
-
-
- $newbody = "[share author='" . urlencode($orig_author_name)
- . "' profile='" . $orig_author_link
- . "' avatar='" . $orig_author_photo
- . "' link='" . $orig_url
- . "' posted='" . datetime_convert('UTC','UTC',unxmlify($source_xml->post->status_message->created_at))
- . "' message_id='" . unxmlify($source_xml->post->status_message->guid)
- . "']" . $body . "[/share]";
-
-
- $plink = service_plink($contact,$guid);
-
- $datarray['uid'] = $importer['channel_id'];
- $datarray['mid'] = $datarray['parent_mid'] = $guid;
- $datarray['changed'] = $datarray['created'] = $datarray['edited'] = datetime_convert('UTC','UTC',$created);
- $datarray['item_private'] = $private;
- $datarray['plink'] = $plink;
- $datarray['owner_xchan'] = $contact['xchan_hash'];
- $datarray['author_xchan'] = $contact['xchan_hash'];
-
- $datarray['body'] = $newbody;
- $datarray['app'] = 'Diaspora';
-
-
-
- $tgroup = tgroup_check($importer['channel_id'],$datarray);
-
- if((! $importer['system']) && (! perm_is_allowed($importer['channel_id'],$contact['xchan_hash'],'send_stream')) && (! $tgroup)) {
- logger('diaspora_post: Ignoring this author.');
- return 202;
- }
-
-
- $result = item_store($datarray);
-
- return;
-
-}
-
-
-function diaspora_asphoto($importer,$xml,$msg) {
- logger('diaspora_asphoto called');
-
- $a = get_app();
- $guid = notags(unxmlify($xml->guid));
- $diaspora_handle = notags(unxmlify($xml->diaspora_handle));
-
- if($diaspora_handle != $msg['author']) {
- logger('diaspora_post: Potential forgery. Message handle is not the same as envelope sender.');
- return 202;
- }
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$diaspora_handle);
- if(! $contact)
- return;
-
- if((! $importer['system']) && (! perm_is_allowed($importer['channel_id'],$contact['xchan_hash'],'send_stream'))) {
- logger('diaspora_asphoto: Ignoring this author.');
- return 202;
- }
-
- $message_id = $diaspora_handle . ':' . $guid;
- $r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `guid` = '%s' LIMIT 1",
- intval($importer['channel_id']),
- dbesc($message_id),
- dbesc($guid)
- );
- if(count($r)) {
- logger('diaspora_asphoto: message exists: ' . $guid);
- return;
- }
-
- // allocate a guid on our system - we aren't fixing any collisions.
- // we're ignoring them
-
- $g = q("select * from guid where guid = '%s' limit 1",
- dbesc($guid)
- );
- if(! count($g)) {
- q("insert into guid ( guid ) values ( '%s' )",
- dbesc($guid)
- );
- }
-
- $created = unxmlify($xml->created_at);
- $private = ((unxmlify($xml->public) == 'false') ? 1 : 0);
-
- if(strlen($xml->objectId) && ($xml->objectId != 0) && ($xml->image_url)) {
- $body = '[url=' . notags(unxmlify($xml->image_url)) . '][img]' . notags(unxmlify($xml->objectId)) . '[/img][/url]' . "\n";
- $body = scale_external_images($body,false);
- }
- elseif($xml->image_url) {
- $body = '[img]' . notags(unxmlify($xml->image_url)) . '[/img]' . "\n";
- $body = scale_external_images($body);
- }
- else {
- logger('diaspora_asphoto: no photo url found.');
- return;
- }
-
- $plink = service_plink($contact,$guid);
-
- $datarray = array();
-
- $datarray['uid'] = $importer['channel_id'];
- $datarray['contact-id'] = $contact['id'];
- $datarray['wall'] = 0;
- $datarray['network'] = NETWORK_DIASPORA;
- $datarray['guid'] = $guid;
- $datarray['uri'] = $datarray['parent-uri'] = $message_id;
- $datarray['changed'] = $datarray['created'] = $datarray['edited'] = datetime_convert('UTC','UTC',$created);
- $datarray['private'] = $private;
- $datarray['parent'] = 0;
- $datarray['plink'] = $plink;
- $datarray['owner-name'] = $contact['name'];
- $datarray['owner-link'] = $contact['url'];
- //$datarray['owner-avatar'] = $contact['thumb'];
- $datarray['owner-avatar'] = ((x($contact,'thumb')) ? $contact['thumb'] : $contact['photo']);
- $datarray['author-name'] = $contact['name'];
- $datarray['author-link'] = $contact['url'];
- $datarray['author-avatar'] = $contact['thumb'];
- $datarray['body'] = $body;
-
- $datarray['app'] = 'Diaspora/Cubbi.es';
-
- $message_id = item_store($datarray);
-
- //if($message_id) {
- // q("update item set plink = '%s' where id = %d",
- // dbesc($a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $message_id),
- // intval($message_id)
- // );
- //}
-
- return;
-
-}
-
-
-
-
-
-
-function diaspora_comment($importer,$xml,$msg) {
-
- $a = get_app();
- $guid = notags(unxmlify($xml->guid));
- $parent_guid = notags(unxmlify($xml->parent_guid));
- $diaspora_handle = notags(unxmlify($xml->diaspora_handle));
- $target_type = notags(unxmlify($xml->target_type));
- $text = unxmlify($xml->text);
- $author_signature = notags(unxmlify($xml->author_signature));
-
- $parent_author_signature = (($xml->parent_author_signature) ? notags(unxmlify($xml->parent_author_signature)) : '');
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$msg['author']);
- if(! $contact) {
- logger('diaspora_comment: cannot find contact: ' . $msg['author']);
- return;
- }
-
-
-
- $pubcomment = get_pconfig($importer['channel_id'],'system','diaspora_public_comments');
-
- // by default comments on public posts are allowed from anybody on Diaspora. That is their policy.
- // Once this setting is set to something we'll track your preference and it will over-ride the default.
-
- if($pubcomment === false)
- $pubcomment = 1;
-
- // Friendica is currently truncating guids at 64 chars
- $search_guid = $parent_guid;
- if(strlen($parent_guid) == 64)
- $search_guid = $parent_guid . '%';
-
- $r = q("SELECT * FROM item WHERE uid = %d AND mid LIKE '%s' LIMIT 1",
- intval($importer['channel_id']),
- dbesc($search_guid)
- );
- if(! $r) {
- logger('diaspora_comment: parent item not found: parent: ' . $parent_guid . ' item: ' . $guid);
- return;
- }
-
- $parent_item = $r[0];
-
- if(intval($parent_item['item_private']))
- $pubcomment = 0;
-
- $search_guid = $guid;
- if(strlen($guid) == 64)
- $search_guid = $guid . '%';
-
-
- $r = q("SELECT * FROM item WHERE uid = %d AND mid like '%s' LIMIT 1",
- intval($importer['channel_id']),
- dbesc($search_guid)
- );
- if($r) {
- logger('diaspora_comment: our comment just got relayed back to us (or there was a guid collision) : ' . $guid);
- return;
- }
-
-
-
- /* How Diaspora performs comment signature checking:
-
- - If an item has been sent by the comment author to the top-level post owner to relay on
- to the rest of the contacts on the top-level post, the top-level post owner should check
- the author_signature, then create a parent_author_signature before relaying the comment on
- - If an item has been relayed on by the top-level post owner, the contacts who receive it
- check only the parent_author_signature. Basically, they trust that the top-level post
- owner has already verified the authenticity of anything he/she sends out
- - In either case, the signature that get checked is the signature created by the person
- who sent the psuedo-salmon
- */
-
- $signed_data = $guid . ';' . $parent_guid . ';' . $text . ';' . $diaspora_handle;
- $key = $msg['key'];
-
- if($parent_author_signature) {
- // If a parent_author_signature exists, then we've received the comment
- // relayed from the top-level post owner. There's no need to check the
- // author_signature if the parent_author_signature is valid
-
- $parent_author_signature = base64_decode($parent_author_signature);
-
- if(! rsa_verify($signed_data,$parent_author_signature,$key,'sha256')) {
- logger('diaspora_comment: top-level owner verification failed.');
- return;
- }
- }
- else {
- // If there's no parent_author_signature, then we've received the comment
- // from the comment creator. In that case, the person is commenting on
- // our post, so he/she must be a contact of ours and his/her public key
- // should be in $msg['key']
-
- if($importer['system']) {
- // don't relay to the sys channel
- logger('diaspora_comment: relay to sys channel blocked.');
- return;
- }
-
- $author_signature = base64_decode($author_signature);
-
- if(! rsa_verify($signed_data,$author_signature,$key,'sha256')) {
- logger('diaspora_comment: comment author verification failed.');
- return;
- }
- }
-
- // Phew! Everything checks out. Now create an item.
-
- // Find the original comment author information.
- // We need this to make sure we display the comment author
- // information (name and avatar) correctly.
-
- if(strcasecmp($diaspora_handle,$msg['author']) == 0)
- $person = $contact;
- else {
- $person = find_diaspora_person_by_handle($diaspora_handle);
-
- if(! is_array($person)) {
- logger('diaspora_comment: unable to find author details');
- return;
- }
- }
-
-
- $body = diaspora2bb($text);
-
-
- $maxlen = get_max_import_size();
-
- if($maxlen && mb_strlen($body) > $maxlen) {
- $body = mb_substr($body,0,$maxlen,'UTF-8');
- logger('message length exceeds max_import_size: truncated');
- }
-
-
- $datarray = array();
-
- // Look for tags and linkify them
- $results = linkify_tags(get_app(), $body, $importer['channel_id'], true);
-
- $datarray['term'] = array();
-
- if($results) {
- foreach($results as $result) {
- $success = $result['success'];
- if($success['replaced']) {
- $datarray['term'][] = array(
- 'uid' => $importer['channel_id'],
- 'type' => $success['termtype'],
- 'otype' => TERM_OBJ_POST,
- 'term' => $success['term'],
- 'url' => $success['url']
- );
- }
- }
- }
-
- $cnt = preg_match_all('/@\[url=(.*?)\](.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER);
- if($cnt) {
- foreach($matches as $mtch) {
- $datarray['term'][] = array(
- 'uid' => $importer['channel_id'],
- 'type' => TERM_MENTION,
- 'otype' => TERM_OBJ_POST,
- 'term' => $mtch[2],
- 'url' => $mtch[1]
- );
- }
- }
-
- $cnt = preg_match_all('/@\[zrl=(.*?)\](.*?)\[\/zrl\]/ism',$body,$matches,PREG_SET_ORDER);
- if($cnt) {
- foreach($matches as $mtch) {
- // don't include plustags in the term
- $term = ((substr($mtch[2],-1,1) === '+') ? substr($mtch[2],0,-1) : $mtch[2]);
- $datarray['term'][] = array(
- 'uid' => $importer['channel_id'],
- 'type' => TERM_MENTION,
- 'otype' => TERM_OBJ_POST,
- 'term' => $term,
- 'url' => $mtch[1]
- );
- }
- }
-
- $datarray['uid'] = $importer['channel_id'];
- $datarray['verb'] = ACTIVITY_POST;
- $datarray['mid'] = $guid;
- $datarray['parent_mid'] = $parent_item['mid'];
-
- // set the route to that of the parent so downstream hubs won't reject it.
- $datarray['route'] = $parent_item['route'];
-
- // No timestamps for comments? OK, we'll the use current time.
- $datarray['changed'] = $datarray['created'] = $datarray['edited'] = datetime_convert();
- $datarray['item_private'] = $parent_item['item_private'];
-
- $datarray['owner_xchan'] = $parent_item['owner_xchan'];
- $datarray['author_xchan'] = $person['xchan_hash'];
-
- $datarray['body'] = $body;
-
- if(strstr($person['xchan_network'],'friendica'))
- $app = 'Friendica';
- else
- $app = 'Diaspora';
-
- $datarray['app'] = $app;
-
- if(! $parent_author_signature) {
- $key = get_config('system','pubkey');
- $x = array('signer' => $diaspora_handle, 'body' => $text,
- 'signed_text' => $signed_data, 'signature' => base64_encode($author_signature));
- $datarray['diaspora_meta'] = json_encode(crypto_encapsulate(json_encode($x),$key));
- }
-
-
-
- // So basically if something arrives at the sys channel it's by definition public and we allow it.
- // If $pubcomment and the parent was public, we allow it.
- // In all other cases, honour the permissions for this Diaspora connection
-
- $tgroup = tgroup_check($importer['channel_id'],$datarray);
-
- if((! $importer['system']) && (! $pubcomment) && (! perm_is_allowed($importer['channel_id'],$contact['xchan_hash'],'post_comments')) && (! $tgroup)) {
- logger('diaspora_comment: Ignoring this author.');
- return 202;
- }
-
-
-
-
- $result = item_store($datarray);
-
- if($result && $result['success'])
- $message_id = $result['item_id'];
-
- if(($parent_item['item_flags'] & ITEM_ORIGIN) && (! $parent_author_signature)) {
- // if the message isn't already being relayed, notify others
- // the existence of parent_author_signature means the parent_author or owner
- // is already relaying.
-
- proc_run('php','include/notifier.php','comment-import',$message_id);
- }
-
- if($result['item_id']) {
- $r = q("select * from item where id = %d limit 1",
- intval($result['item_id'])
- );
- if($r)
- send_status_notifications($result['item_id'],$r[0]);
- }
-
- return;
-}
-
-
-
-
-function diaspora_conversation($importer,$xml,$msg) {
-
- $a = get_app();
-
- $guid = notags(unxmlify($xml->guid));
- $subject = notags(unxmlify($xml->subject));
- $diaspora_handle = notags(unxmlify($xml->diaspora_handle));
- $participant_handles = notags(unxmlify($xml->participant_handles));
- $created_at = datetime_convert('UTC','UTC',notags(unxmlify($xml->created_at)));
-
- $parent_uri = $diaspora_handle . ':' . $guid;
-
- $messages = $xml->message;
-
- if(! count($messages)) {
- logger('diaspora_conversation: empty conversation');
- return;
- }
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$msg['author']);
- if(! $contact) {
- logger('diaspora_conversation: cannot find contact: ' . $msg['author']);
- return;
- }
-
-
- if(! perm_is_allowed($importer['channel_id'],$contact['xchan_hash'],'post_mail')) {
- logger('diaspora_conversation: Ignoring this author.');
- return 202;
- }
-
- $conversation = null;
-
- $c = q("select * from conv where uid = %d and guid = '%s' limit 1",
- intval($importer['channel_id']),
- dbesc($guid)
- );
- if(count($c))
- $conversation = $c[0];
- else {
- $r = q("insert into conv (uid,guid,creator,created,updated,subject,recips) values(%d, '%s', '%s', '%s', '%s', '%s', '%s') ",
- intval($importer['channel_id']),
- dbesc($guid),
- dbesc($diaspora_handle),
- dbesc(datetime_convert('UTC','UTC',$created_at)),
- dbesc(datetime_convert()),
- dbesc($subject),
- dbesc($participant_handles)
- );
- if($r)
- $c = q("select * from conv where uid = %d and guid = '%s' limit 1",
- intval($importer['channel_id']),
- dbesc($guid)
- );
- if(count($c))
- $conversation = $c[0];
- }
- if(! $conversation) {
- logger('diaspora_conversation: unable to create conversation.');
- return;
- }
-
- foreach($messages as $mesg) {
-
- $reply = 0;
-
- $msg_guid = notags(unxmlify($mesg->guid));
- $msg_parent_guid = notags(unxmlify($mesg->parent_guid));
- $msg_parent_author_signature = notags(unxmlify($mesg->parent_author_signature));
- $msg_author_signature = notags(unxmlify($mesg->author_signature));
- $msg_text = unxmlify($mesg->text);
- $msg_created_at = datetime_convert('UTC','UTC',notags(unxmlify($mesg->created_at)));
- $msg_diaspora_handle = notags(unxmlify($mesg->diaspora_handle));
- $msg_conversation_guid = notags(unxmlify($mesg->conversation_guid));
- if($msg_conversation_guid != $guid) {
- logger('diaspora_conversation: message conversation guid does not belong to the current conversation. ' . $xml);
- continue;
- }
-
- $body = diaspora2bb($msg_text);
-
-
- $maxlen = get_max_import_size();
-
- if($maxlen && mb_strlen($body) > $maxlen) {
- $body = mb_substr($body,0,$maxlen,'UTF-8');
- logger('message length exceeds max_import_size: truncated');
- }
-
-
- $author_signed_data = $msg_guid . ';' . $msg_parent_guid . ';' . $msg_text . ';' . unxmlify($mesg->created_at) . ';' . $msg_diaspora_handle . ';' . $msg_conversation_guid;
-
- $author_signature = base64_decode($msg_author_signature);
-
- if(strcasecmp($msg_diaspora_handle,$msg['author']) == 0) {
- $person = $contact;
- $key = $msg['key'];
- }
- else {
- $person = find_diaspora_person_by_handle($msg_diaspora_handle);
-
- if(is_array($person) && x($person,'xchan_pubkey'))
- $key = $person['xchan_pubkey'];
- else {
- logger('diaspora_conversation: unable to find author details');
- continue;
- }
- }
-
- if(! rsa_verify($author_signed_data,$author_signature,$key,'sha256')) {
- logger('diaspora_conversation: verification failed.');
- continue;
- }
-
- if($msg_parent_author_signature) {
- $owner_signed_data = $msg_guid . ';' . $msg_parent_guid . ';' . $msg_text . ';' . unxmlify($mesg->created_at) . ';' . $msg_diaspora_handle . ';' . $msg_conversation_guid;
-
- $parent_author_signature = base64_decode($msg_parent_author_signature);
-
- $key = $msg['key'];
-
- if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha256')) {
- logger('diaspora_conversation: owner verification failed.');
- continue;
- }
- }
-
- $r = q("select id from mail where mid = '%s' limit 1",
- dbesc($message_id)
- );
- if(count($r)) {
- logger('diaspora_conversation: duplicate message already delivered.', LOGGER_DEBUG);
- continue;
- }
-
- $key = get_config('system','pubkey');
- if($subject)
- $subject = json_encode(crypto_encapsulate($subject,$key));
- if($body)
- $body = json_encode(crypto_encapsulate($body,$key));
-
- q("insert into mail ( `channel_id`, `convid`, `from_xchan`,`to_xchan`,`title`,`body`,`mail_flags`,`mid`,`parent_mid`,`created`) values ( %d, %d, '%s', '%s', '%s', '%s', %d, '%s', '%s', '%s')",
- intval($importer['channel_id']),
- intval($conversation['id']),
- dbesc($person['xchan_hash']),
- dbesc($importer['channel_hash']),
- dbesc($subject),
- dbesc($body),
- intval(MAIL_OBSCURED),
- dbesc($msg_guid),
- dbesc($parent_uri),
- dbesc($msg_created_at)
- );
-
- q("update conv set updated = '%s' where id = %d",
- dbesc(datetime_convert()),
- intval($conversation['id'])
- );
-
- require_once('include/enotify.php');
-/******
-//FIXME
-
- notification(array(
- 'type' => NOTIFY_MAIL,
- 'notify_flags' => $importer['notify-flags'],
- 'language' => $importer['language'],
- 'to_name' => $importer['username'],
- 'to_email' => $importer['email'],
- 'uid' =>$importer['importer_uid'],
- 'item' => array('subject' => $subject, 'body' => $body),
- 'source_name' => $person['name'],
- 'source_link' => $person['url'],
- 'source_photo' => $person['thumb'],
- 'verb' => ACTIVITY_POST,
- 'otype' => 'mail'
- ));
-*******/
-
- }
-
- return;
-}
-
-function diaspora_message($importer,$xml,$msg) {
-
- $a = get_app();
-
- $msg_guid = notags(unxmlify($xml->guid));
- $msg_parent_guid = notags(unxmlify($xml->parent_guid));
- $msg_parent_author_signature = notags(unxmlify($xml->parent_author_signature));
- $msg_author_signature = notags(unxmlify($xml->author_signature));
- $msg_text = unxmlify($xml->text);
- $msg_created_at = datetime_convert('UTC','UTC',notags(unxmlify($xml->created_at)));
- $msg_diaspora_handle = notags(unxmlify($xml->diaspora_handle));
- $msg_conversation_guid = notags(unxmlify($xml->conversation_guid));
-
- $parent_uri = $msg_parent_guid;
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$msg_diaspora_handle);
- if(! $contact) {
- logger('diaspora_message: cannot find contact: ' . $msg_diaspora_handle);
- return;
- }
-
- if(($contact['rel'] == CONTACT_IS_FOLLOWER) || ($contact['blocked']) || ($contact['readonly'])) {
- logger('diaspora_message: Ignoring this author.');
- return 202;
- }
-
- $conversation = null;
-
- $c = q("select * from conv where uid = %d and guid = '%s' limit 1",
- intval($importer['channel_id']),
- dbesc($msg_conversation_guid)
- );
- if($c)
- $conversation = $c[0];
- else {
- logger('diaspora_message: conversation not available.');
- return;
- }
-
- $reply = 0;
-
- $subject = $conversation['subject'];
- $body = diaspora2bb($msg_text);
-
-
- $maxlen = get_max_import_size();
-
- if($maxlen && mb_strlen($body) > $maxlen) {
- $body = mb_substr($body,0,$maxlen,'UTF-8');
- logger('message length exceeds max_import_size: truncated');
- }
-
-
-
- $message_id = $msg_diaspora_handle . ':' . $msg_guid;
-
- $author_signed_data = $msg_guid . ';' . $msg_parent_guid . ';' . $msg_text . ';' . unxmlify($xml->created_at) . ';' . $msg_diaspora_handle . ';' . $msg_conversation_guid;
-
-
- $author_signature = base64_decode($msg_author_signature);
-
- $person = find_diaspora_person_by_handle($msg_diaspora_handle);
- if(is_array($person) && x($person,'xchan_pubkey'))
- $key = $person['xchan_pubkey'];
- else {
- logger('diaspora_message: unable to find author details');
- return;
- }
-
- if(! rsa_verify($author_signed_data,$author_signature,$key,'sha256')) {
- logger('diaspora_message: verification failed.');
- return;
- }
-
- $r = q("select id from mail where mid = '%s' and channel_id = %d limit 1",
- dbesc($message_id),
- intval($importer['channel_id'])
- );
- if($r) {
- logger('diaspora_message: duplicate message already delivered.', LOGGER_DEBUG);
- return;
- }
-
- $key = get_config('system','pubkey');
- if($subject)
- $subject = json_encode(crypto_encapsulate($subject,$key));
- if($body)
- $body = json_encode(crypto_encapsulate($body,$key));
-
- q("insert into mail ( `channel_id`, `convid`, `from_xchan`,`to_xchan`,`title`,`body`,`mail_flags`,`mid`,`parent_mid`,`created`) values ( %d, %d, '%s', '%s', '%s', '%s', '%d','%s','%s','%s')",
- intval($importer['channel_id']),
- intval($conversation['id']),
- dbesc($person['xchan_hash']),
- dbesc($importer['xchan_hash']),
- dbesc($subject),
- dbesc($body),
- intval(MAIL_OBSCURED),
- dbesc($msg_guid),
- dbesc($parent_uri),
- dbesc($msg_created_at)
- );
-
- q("update conv set updated = '%s' where id = %d",
- dbesc(datetime_convert()),
- intval($conversation['id'])
- );
-
- return;
-}
-
-
-function diaspora_photo($importer,$xml,$msg) {
-
- $a = get_app();
-
- logger('diaspora_photo: init',LOGGER_DEBUG);
-
- $remote_photo_path = notags(unxmlify($xml->remote_photo_path));
-
- $remote_photo_name = notags(unxmlify($xml->remote_photo_name));
-
- $status_message_guid = notags(unxmlify($xml->status_message_guid));
-
- $guid = notags(unxmlify($xml->guid));
-
- $diaspora_handle = notags(unxmlify($xml->diaspora_handle));
-
- $public = notags(unxmlify($xml->public));
-
- $created_at = notags(unxmlify($xml_created_at));
-
- logger('diaspora_photo: status_message_guid: ' . $status_message_guid, LOGGER_DEBUG);
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$msg['author']);
- if(! $contact) {
- logger('diaspora_photo: contact record not found: ' . $msg['author'] . ' handle: ' . $diaspora_handle);
- return;
- }
-
- if((! $importer['system']) && (! perm_is_allowed($importer['channel_id'],$contact['xchan_hash'],'send_stream'))) {
- logger('diaspora_photo: Ignoring this author.');
- return 202;
- }
-
- $r = q("SELECT * FROM `item` WHERE `uid` = %d AND `mid` = '%s' LIMIT 1",
- intval($importer['channel_id']),
- dbesc($status_message_guid)
- );
- if(! $r) {
- logger('diaspora_photo: attempt = ' . $attempt . '; status message not found: ' . $status_message_guid . ' for photo: ' . $guid);
- return;
- }
-
-// $parent_item = $r[0];
-
-// $link_text = '[img]' . $remote_photo_path . $remote_photo_name . '[/img]' . "\n";
-
-// $link_text = scale_external_images($link_text, true,
-// array($remote_photo_name, 'scaled_full_' . $remote_photo_name));
-
-// if(strpos($parent_item['body'],$link_text) === false) {
-// $r = q("update item set `body` = '%s', `visible` = 1 where `id` = %d and `uid` = %d",
-// dbesc($link_text . $parent_item['body']),
-// intval($parent_item['id']),
-// intval($parent_item['uid'])
-// );
-// }
-
- return;
-}
-
-
-
-
-function diaspora_like($importer,$xml,$msg) {
-
- $a = get_app();
- $guid = notags(unxmlify($xml->guid));
- $parent_guid = notags(unxmlify($xml->parent_guid));
- $diaspora_handle = notags(unxmlify($xml->diaspora_handle));
- $target_type = notags(unxmlify($xml->target_type));
- $positive = notags(unxmlify($xml->positive));
- $author_signature = notags(unxmlify($xml->author_signature));
-
- $parent_author_signature = (($xml->parent_author_signature) ? notags(unxmlify($xml->parent_author_signature)) : '');
-
- // likes on comments not supported here and likes on photos not supported by Diaspora
-
-// if($target_type !== 'Post')
-// return;
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$msg['author']);
- if(! $contact) {
- logger('diaspora_like: cannot find contact: ' . $msg['author'] . ' for channel ' . $importer['channel_name']);
- return;
- }
-
-
- if((! $importer['system']) && (! perm_is_allowed($importer['channel_id'],$contact['xchan_hash'],'post_comments'))) {
- logger('diaspora_like: Ignoring this author.');
- return 202;
- }
-
- $r = q("SELECT * FROM `item` WHERE `uid` = %d AND `mid` = '%s' LIMIT 1",
- intval($importer['channel_id']),
- dbesc($parent_guid)
- );
- if(! count($r)) {
- logger('diaspora_like: parent item not found: ' . $guid);
- return;
- }
-
- $parent_item = $r[0];
-
- $r = q("SELECT * FROM `item` WHERE `uid` = %d AND `mid` = '%s' LIMIT 1",
- intval($importer['channel_id']),
- dbesc($guid)
- );
- if(count($r)) {
- if($positive === 'true') {
- logger('diaspora_like: duplicate like: ' . $guid);
- return;
- }
- // Note: I don't think "Like" objects with positive = "false" are ever actually used
- // It looks like "RelayableRetractions" are used for "unlike" instead
- if($positive === 'false') {
- logger('diaspora_like: received a like with positive set to "false"...ignoring');
- // perhaps call drop_item()
- // FIXME--actually don't unless it turns out that Diaspora does indeed send out "false" likes
- // send notification via proc_run()
- return;
- }
- }
-
- $i = q("select * from xchan where xchan_hash = '%s' limit 1",
- dbesc($parent_item['author_xchan'])
- );
- if($i)
- $item_author = $i[0];
-
- // Note: I don't think "Like" objects with positive = "false" are ever actually used
- // It looks like "RelayableRetractions" are used for "unlike" instead
- if($positive === 'false') {
- logger('diaspora_like: received a like with positive set to "false"');
- logger('diaspora_like: unlike received with no corresponding like...ignoring');
- return;
- }
-
-
- /* How Diaspora performs "like" signature checking:
-
- - If an item has been sent by the like author to the top-level post owner to relay on
- to the rest of the contacts on the top-level post, the top-level post owner should check
- the author_signature, then create a parent_author_signature before relaying the like on
- - If an item has been relayed on by the top-level post owner, the contacts who receive it
- check only the parent_author_signature. Basically, they trust that the top-level post
- owner has already verified the authenticity of anything he/she sends out
- - In either case, the signature that get checked is the signature created by the person
- who sent the salmon
- */
-
- // 2014-09-10 let's try this: signatures are failing. I'll try and make a signable string from
- // the parameters in the order they were presented in the post. This is how D* creates the signable string.
-
-
- $signed_data = $positive . ';' . $guid . ';' . $target_type . ';' . $parent_guid . ';' . $diaspora_handle;
-
- $key = $msg['key'];
-
- if($parent_author_signature) {
- // If a parent_author_signature exists, then we've received the like
- // relayed from the top-level post owner. There's no need to check the
- // author_signature if the parent_author_signature is valid
-
- $parent_author_signature = base64_decode($parent_author_signature);
-
- if(! rsa_verify($signed_data,$parent_author_signature,$key,'sha256')) {
- if (intval(get_config('system','ignore_diaspora_like_signature')))
- logger('diaspora_like: top-level owner verification failed. Proceeding anyway.');
- else {
- logger('diaspora_like: top-level owner verification failed.');
- return;
- }
- }
- }
- else {
- // If there's no parent_author_signature, then we've received the like
- // from the like creator. In that case, the person is "like"ing
- // our post, so he/she must be a contact of ours and his/her public key
- // should be in $msg['key']
-
- $author_signature = base64_decode($author_signature);
-
- if(! rsa_verify($signed_data,$author_signature,$key,'sha256')) {
- if (intval(get_config('system','ignore_diaspora_like_signature')))
- logger('diaspora_like: like creator verification failed. Proceeding anyway');
- else {
- logger('diaspora_like: like creator verification failed.');
- return;
- }
- }
- }
-
- logger('diaspora_like: signature check complete.',LOGGER_DEBUG);
-
- // Phew! Everything checks out. Now create an item.
-
- // Find the original comment author information.
- // We need this to make sure we display the comment author
- // information (name and avatar) correctly.
- if(strcasecmp($diaspora_handle,$msg['author']) == 0)
- $person = $contact;
- else {
- $person = find_diaspora_person_by_handle($diaspora_handle);
-
- if(! is_array($person)) {
- logger('diaspora_like: unable to find author details');
- return;
- }
- }
-
- $uri = $diaspora_handle . ':' . $guid;
-
- $activity = ACTIVITY_LIKE;
-
- $post_type = (($parent_item['resource_type'] === 'photo') ? t('photo') : t('status'));
-
- $links = array(array('rel' => 'alternate','type' => 'text/html', 'href' => $parent_item['plink']));
- $objtype = (($parent_item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
-
- $body = $parent_item['body'];
-
-
- $object = json_encode(array(
- 'type' => $post_type,
- 'id' => $parent_item['mid'],
- 'parent' => (($parent_item['thr_parent']) ? $parent_item['thr_parent'] : $parent_item['parent_mid']),
- 'link' => $links,
- 'title' => $parent_item['title'],
- 'content' => $parent_item['body'],
- 'created' => $parent_item['created'],
- 'edited' => $parent_item['edited'],
- 'author' => array(
- 'name' => $item_author['xchan_name'],
- 'address' => $item_author['xchan_addr'],
- 'guid' => $item_author['xchan_guid'],
- 'guid_sig' => $item_author['xchan_guid_sig'],
- 'link' => array(
- array('rel' => 'alternate', 'type' => 'text/html', 'href' => $item_author['xchan_url']),
- array('rel' => 'photo', 'type' => $item_author['xchan_photo_mimetype'], 'href' => $item_author['xchan_photo_m'])),
- ),
- ));
-
-
- $bodyverb = t('%1$s likes %2$s\'s %3$s');
-
- $arr = array();
-
- $arr['uid'] = $importer['channel_id'];
- $arr['aid'] = $importer['channel_account_id'];
- $arr['mid'] = $guid;
- $arr['parent_mid'] = $parent_item['mid'];
- $arr['owner_xchan'] = $parent_item['owner_xchan'];
- $arr['author_xchan'] = $person['xchan_hash'];
-
- $ulink = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]';
- $alink = '[url=' . $parent_item['author-link'] . ']' . $parent_item['author-name'] . '[/url]';
- $plink = '[url='. z_root() .'/display/'.$guid.']'.$post_type.'[/url]';
- $arr['body'] = sprintf( $bodyverb, $ulink, $alink, $plink );
-
- $arr['app'] = 'Diaspora';
-
- // set the route to that of the parent so downstream hubs won't reject it.
- $arr['route'] = $parent_item['route'];
-
- $arr['item_private'] = $parent_item['item_private'];
- $arr['verb'] = $activity;
- $arr['obj_type'] = $objtype;
- $arr['object'] = $object;
-
- if(! $parent_author_signature) {
- $key = get_config('system','pubkey');
- $x = array('signer' => $diaspora_handle, 'body' => $text,
- 'signed_text' => $signed_data, 'signature' => base64_encode($author_signature));
- $arr['diaspora_meta'] = json_encode(crypto_encapsulate(json_encode($x),$key));
- }
-
- $x = item_store($arr);
-
- if($x)
- $message_id = $x['item_id'];
-
- // if the message isn't already being relayed, notify others
- // the existence of parent_author_signature means the parent_author or owner
- // is already relaying. The parent_item['origin'] indicates the message was created on our system
-
- if(($parent_item['item_flags'] & ITEM_ORIGIN) && (! $parent_author_signature))
- proc_run('php','include/notifier.php','comment-import',$message_id);
-
- return;
-}
-
-function diaspora_retraction($importer,$xml) {
-
-
- $guid = notags(unxmlify($xml->guid));
- $diaspora_handle = notags(unxmlify($xml->diaspora_handle));
- $type = notags(unxmlify($xml->type));
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$diaspora_handle);
- if(! $contact)
- return;
-
- if($type === 'Person') {
- require_once('include/Contact.php');
- contact_remove($importer['channel_id'],$contact['abook_id']);
- }
- elseif($type === 'Post') {
- $r = q("select * from item where mid = '%s' and uid = %d limit 1",
- dbesc('guid'),
- intval($importer['channel_id'])
- );
- if(count($r)) {
- if(link_compare($r[0]['author_xchan'],$contact['xchan_hash'])) {
- drop_item($r[0]['id'],false);
- }
- }
- }
-
- return 202;
- // NOTREACHED
-}
-
-function diaspora_signed_retraction($importer,$xml,$msg) {
-
-
- $guid = notags(unxmlify($xml->target_guid));
- $diaspora_handle = notags(unxmlify($xml->sender_handle));
- $type = notags(unxmlify($xml->target_type));
- $sig = notags(unxmlify($xml->target_author_signature));
-
- $parent_author_signature = (($xml->parent_author_signature) ? notags(unxmlify($xml->parent_author_signature)) : '');
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$diaspora_handle);
- if(! $contact) {
- logger('diaspora_signed_retraction: no contact ' . $diaspora_handle . ' for ' . $importer['channel_id']);
- return;
- }
-
-
- $signed_data = $guid . ';' . $type ;
- $key = $msg['key'];
-
- /* How Diaspora performs relayable_retraction signature checking:
-
- - If an item has been sent by the item author to the top-level post owner to relay on
- to the rest of the contacts on the top-level post, the top-level post owner checks
- the author_signature, then creates a parent_author_signature before relaying the item on
- - If an item has been relayed on by the top-level post owner, the contacts who receive it
- check only the parent_author_signature. Basically, they trust that the top-level post
- owner has already verified the authenticity of anything he/she sends out
- - In either case, the signature that get checked is the signature created by the person
- who sent the salmon
- */
-
- if($parent_author_signature) {
-
- $parent_author_signature = base64_decode($parent_author_signature);
-
- if(! rsa_verify($signed_data,$parent_author_signature,$key,'sha256')) {
- logger('diaspora_signed_retraction: top-level post owner verification failed');
- return;
- }
-
- }
- else {
-
- $sig_decode = base64_decode($sig);
-
- if(! rsa_verify($signed_data,$sig_decode,$key,'sha256')) {
- logger('diaspora_signed_retraction: retraction owner verification failed.' . print_r($msg,true));
- return;
- }
- }
-
- if($type === 'StatusMessage' || $type === 'Comment' || $type === 'Like') {
- $r = q("select * from item where mid = '%s' and uid = %d limit 1",
- dbesc($guid),
- intval($importer['channel_id'])
- );
- if($r) {
- if($r[0]['author_xchan'] == $contact['xchan_hash']) {
-
- drop_item($r[0]['id'],false, DROPITEM_PHASE1);
-
- // Now check if the retraction needs to be relayed by us
- //
- // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always
- // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent.
- // The only item with `parent` and `id` as the parent id is the parent item.
- $p = q("select item_flags from item where parent = %d and id = %d limit 1",
- $r[0]['parent'],
- $r[0]['parent']
- );
- if($p) {
- if(($p[0]['item_flags'] & ITEM_ORIGIN) && (! $parent_author_signature)) {
-// FIXME so we can relay this
-// q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
-// $r[0]['id'],
-// dbesc($signed_data),
-// dbesc($sig),
-// dbesc($diaspora_handle)
-// );
-
- // the existence of parent_author_signature would have meant the parent_author or owner
- // is already relaying.
- logger('diaspora_signed_retraction: relaying relayable_retraction');
-
- proc_run('php','include/notifier.php','drop',$r[0]['id']);
- }
- }
- }
- }
- }
- else
- logger('diaspora_signed_retraction: unknown type: ' . $type);
-
- return 202;
- // NOTREACHED
-}
-
-function diaspora_profile($importer,$xml,$msg) {
-
- $a = get_app();
- $diaspora_handle = notags(unxmlify($xml->diaspora_handle));
-
-
- if($diaspora_handle != $msg['author']) {
- logger('diaspora_post: Potential forgery. Message handle is not the same as envelope sender.');
- return 202;
- }
-
- $contact = diaspora_get_contact_by_handle($importer['channel_id'],$diaspora_handle);
- if(! $contact)
- return;
-
- if($contact['blocked']) {
- logger('diaspora_post: Ignoring this author.');
- return 202;
- }
-
- $name = unxmlify($xml->first_name) . ((strlen($xml->last_name)) ? ' ' . unxmlify($xml->last_name) : '');
- $image_url = unxmlify($xml->image_url);
- $birthday = unxmlify($xml->birthday);
-
-
- $handle_parts = explode("@", $diaspora_handle);
- if($name === '') {
- $name = $handle_parts[0];
- }
-
- if( preg_match("|^https?://|", $image_url) === 0) {
- $image_url = "http://" . $handle_parts[1] . $image_url;
- }
-
- require_once('include/photo/photo_driver.php');
-
- $images = import_profile_photo($image_url,$contact['xchan_hash']);
-
- // Generic birthday. We don't know the timezone. The year is irrelevant.
-
- $birthday = str_replace('1000','1901',$birthday);
-
- $birthday = datetime_convert('UTC','UTC',$birthday,'Y-m-d');
-
- // this is to prevent multiple birthday notifications in a single year
- // if we already have a stored birthday and the 'm-d' part hasn't changed, preserve the entry, which will preserve the notify year
-
- if(substr($birthday,5) === substr($contact['bd'],5))
- $birthday = $contact['bd'];
-
- $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s' ",
- dbesc($name),
- dbesc(datetime_convert()),
- dbesc($images[0]),
- dbesc($images[1]),
- dbesc($images[2]),
- dbesc($images[3]),
- dbesc(datetime_convert()),
- intval($contact['xchan_hash'])
- );
-
- return;
-
-}
-
-function diaspora_share($owner,$contact) {
- $a = get_app();
-
- $enabled = intval(get_config('system','diaspora_enabled'));
- if(! $enabled) {
- logger('diaspora_share: disabled');
- return;
- }
-
- $allowed = get_pconfig($owner['channel_id'],'system','diaspora_allowed');
- if($allowed === false)
- $allowed = 1;
-
- if(! intval($allowed)) {
- logger('diaspora_share: disallowed for channel ' . $importer['channel_name']);
- return;
- }
-
-
-
- $myaddr = $owner['channel_address'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
-
- if(! array_key_exists('xchan_hash',$contact)) {
- $c = q("select * from xchan left join hubloc on xchan_hash = hubloc_hash where xchan_hash = '%s' limit 1",
- dbesc($contact['hubloc_hash'])
- );
- if(! $c) {
- logger('diaspora_share: ' . $contact['hubloc_hash'] . ' not found.');
- return;
- }
- $contact = $c[0];
- }
-
- $theiraddr = $contact['xchan_addr'];
-
- $tpl = get_markup_template('diaspora_share.tpl');
- $msg = replace_macros($tpl, array(
- '$sender' => $myaddr,
- '$recipient' => $theiraddr
- ));
-
- $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['channel_prvkey'],$contact['xchan_pubkey'])));
- return(diaspora_transmit($owner,$contact,$slap, false));
-}
-
-function diaspora_unshare($owner,$contact) {
-
- $a = get_app();
- $myaddr = $owner['channel_address'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
-
- $tpl = get_markup_template('diaspora_retract.tpl');
- $msg = replace_macros($tpl, array(
- '$guid' => $owner['channel_guid'],
- '$type' => 'Person',
- '$handle' => $myaddr
- ));
-
- $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['channel_prvkey'],$contact['xchan_pubkey'])));
-
- return(diaspora_transmit($owner,$contact,$slap, false));
-}
-
-
-function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
-
- $a = get_app();
- $myaddr = $owner['channel_address'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
-
- if(intval($item['id']) != intval($item['parent'])) {
- logger('attempted to send a comment as a top-level post');
- return;
- }
-
- $images = array();
-
- $title = $item['title'];
- $body = bb2diaspora_itembody($item,true);
-
-/*
- // We're trying to match Diaspora's split message/photo protocol but
- // all the photos are displayed on D* as links and not img's - even
- // though we're sending pretty much precisely what they send us when
- // doing the same operation.
- // Commented out for now, we'll use bb2diaspora to convert photos to markdown
- // which seems to get through intact.
-
- $cnt = preg_match_all('|\[img\](.*?)\[\/img\]|',$body,$matches,PREG_SET_ORDER);
- if($cnt) {
- foreach($matches as $mtch) {
- $detail = array();
- $detail['str'] = $mtch[0];
- $detail['path'] = dirname($mtch[1]) . '/';
- $detail['file'] = basename($mtch[1]);
- $detail['guid'] = $item['guid'];
- $detail['handle'] = $myaddr;
- $images[] = $detail;
- $body = str_replace($detail['str'],$mtch[1],$body);
- }
- }
-*/
-
- if($item['item_flags'] & ITEM_CONSENSUS) {
- $poll = replace_macros(get_markup_template('diaspora_consensus.tpl'), array(
- '$guid_q' => random_string(),
- '$question' => t('Please choose'),
- '$guid_y' => random_string(),
- '$agree' => t('Agree'),
- '$guid_n' => random_string(),
- '$disagree' => t('Disagree'),
- '$guid_a' => random_string(),
- '$abstain' => t('Abstain')
- ));
- }
- else
- $poll = '';
-
- $public = (($item['item_private']) ? 'false' : 'true');
-
- require_once('include/datetime.php');
- $created = datetime_convert('UTC','UTC',$item['created'],'Y-m-d H:i:s \U\T\C');
-
- // Detect a share element and do a reshare
- // see: https://github.com/Raven24/diaspora-federation/blob/master/lib/diaspora-federation/entities/reshare.rb
- if (!$item['item_private'] AND ($ret = diaspora_is_reshare($item["body"]))) {
- $tpl = get_markup_template('diaspora_reshare.tpl');
- $msg = replace_macros($tpl, array(
- '$root_handle' => xmlify($ret['root_handle']),
- '$root_guid' => $ret['root_guid'],
- '$guid' => $item['mid'],
- '$handle' => xmlify($myaddr),
- '$public' => $public,
- '$created' => $created,
- '$provider' => (($item['app']) ? $item['app'] : t('$projectname'))
- ));
- } else {
- $tpl = get_markup_template('diaspora_post.tpl');
- $msg = replace_macros($tpl, array(
- '$body' => xmlify($body),
- '$guid' => $item['mid'],
- '$poll' => $poll,
- '$handle' => xmlify($myaddr),
- '$public' => $public,
- '$created' => $created,
- '$provider' => (($item['app']) ? $item['app'] : t('$projectname'))
- ));
- }
-
- logger('diaspora_send_status: '.$owner['channel_name'].' -> '.$contact['xchan_name'].' base message: ' . $msg, LOGGER_DATA);
-
- $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['channel_prvkey'],$contact['xchan_pubkey'],$public_batch)));
-
- $return_code = diaspora_transmit($owner,$contact,$slap,$public_batch);
-
-// logger('diaspora_send_status: guid: '.$item['mid'].' result '.$return_code, LOGGER_DEBUG);
-
- if(count($images)) {
- diaspora_send_images($item,$owner,$contact,$images,$public_batch);
- }
-
- return $return_code;
-}
-
-function diaspora_is_reshare($body) {
-
- $body = trim($body);
-
- // Skip if it isn't a pure repeated messages
- // Does it start with a share?
- if(strpos($body, "[share") > 0)
- return(false);
-
- // Does it end with a share?
- if(strlen($body) > (strrpos($body, "[/share]") + 8))
- return(false);
-
- $attributes = preg_replace("/\[share(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","$1",$body);
- // Skip if there is no shared message in there
- if ($body == $attributes)
- return(false);
-
- $profile = "";
- preg_match("/profile='(.*?)'/ism", $attributes, $matches);
- if ($matches[1] != "")
- $profile = $matches[1];
-
- preg_match('/profile="(.*?)"/ism', $attributes, $matches);
- if ($matches[1] != "")
- $profile = $matches[1];
-
- $ret= array();
-
- $ret["root_handle"] = preg_replace("=https?://(.*)/u/(.*)=ism", "$2@$1", $profile);
- if (($ret["root_handle"] == $profile) OR ($ret["root_handle"] == ""))
- return(false);
-
- $link = "";
- preg_match("/link='(.*?)'/ism", $attributes, $matches);
- if ($matches[1] != "")
- $link = $matches[1];
-
- preg_match('/link="(.*?)"/ism', $attributes, $matches);
- if ($matches[1] != "")
- $link = $matches[1];
-
- $ret["root_guid"] = preg_replace("=https?://(.*)/posts/(.*)=ism", "$2", $link);
- if (($ret["root_guid"] == $link) OR ($ret["root_guid"] == ""))
- return(false);
-
- return($ret);
-}
-
-function diaspora_send_images($item,$owner,$contact,$images,$public_batch = false) {
- $a = get_app();
- if(! count($images))
- return;
- $mysite = substr($a->get_baseurl(),strpos($a->get_baseurl(),'://') + 3) . '/photo';
-
- $tpl = get_markup_template('diaspora_photo.tpl');
- foreach($images as $image) {
- if(! stristr($image['path'],$mysite))
- continue;
- $resource = str_replace('.jpg','',$image['file']);
- $resource = substr($resource,0,strpos($resource,'-'));
-
- $r = q("select * from photo where `resource_id` = '%s' and `uid` = %d limit 1",
- dbesc($resource),
- intval($owner['uid'])
- );
- if(! $r)
- continue;
- $public = (($r[0]['allow_cid'] || $r[0]['allow_gid'] || $r[0]['deny_cid'] || $r[0]['deny_gid']) ? 'false' : 'true' );
- $msg = replace_macros($tpl,array(
- '$path' => xmlify($image['path']),
- '$filename' => xmlify($image['file']),
- '$msg_guid' => xmlify($image['guid']),
- '$guid' => xmlify($r[0]['resource_id']),
- '$handle' => xmlify($image['handle']),
- '$public' => xmlify($public),
- '$created_at' => xmlify(datetime_convert('UTC','UTC',$r[0]['created'],'Y-m-d H:i:s \U\T\C'))
- ));
-
-
- logger('diaspora_send_photo: base message: ' . $msg, LOGGER_DATA);
- $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['channel_prvkey'],$contact['xchan_pubkey'],$public_batch)));
-
- diaspora_transmit($owner,$contact,$slap,$public_batch);
- }
-
-}
-
-function diaspora_send_followup($item,$owner,$contact,$public_batch = false) {
-
- $a = get_app();
- $myaddr = $owner['channel_address'] . '@' . get_app()->get_hostname();
- $theiraddr = $contact['xchan_addr'];
-
- // Diaspora doesn't support threaded comments, but some
- // versions of Diaspora (i.e. Diaspora-pistos) support
- // likes on comments
- if(($item['verb'] === ACTIVITY_LIKE || $item['verb'] === ACTIVITY_DISLIKE) && $item['thr_parent']) {
- $p = q("select mid, parent_mid from item where mid = '%s' limit 1",
- dbesc($item['thr_parent'])
- );
- }
- else {
- // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always
- // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent.
- // The only item with `parent` and `id` as the parent id is the parent item.
- $p = q("select * from item where parent = %d and id = %d limit 1",
- intval($item['parent']),
- intval($item['parent'])
- );
- }
- if($p)
- $parent = $p[0];
- else
- return;
-
-
- if(($item['verb'] === ACTIVITY_LIKE) && ($parent['mid'] === $parent['parent_mid'])) {
- $tpl = get_markup_template('diaspora_like.tpl');
- $like = true;
- $target_type = 'Post';
- $positive = 'true';
-
- if(($item_['item_restrict'] & ITEM_DELETED))
- logger('diaspora_send_followup: received deleted "like". Those should go to diaspora_send_retraction');
- }
- else {
- $tpl = get_markup_template('diaspora_comment.tpl');
- $like = false;
- }
-
- if($item['diaspora_meta'] && ! $like) {
- $diaspora_meta = json_decode($item['diaspora_meta'],true);
- if($diaspora_meta) {
- if(array_key_exists('iv',$diaspora_meta)) {
- $key = get_config('system','prvkey');
- $meta = json_decode(crypto_unencapsulate($diaspora_meta,$key),true);
- }
- else
- $meta = $diaspora_meta;
- }
- $signed_text = $meta['signed_text'];
- $authorsig = $meta['signature'];
- $signer = $meta['signer'];
- $text = $meta['body'];
- }
- else {
- $text = bb2diaspora_itembody($item);
-
- // sign it
-
- if($like)
- $signed_text = $item['mid'] . ';' . $target_type . ';' . $parent['mid'] . ';' . $positive . ';' . $myaddr;
- else
- $signed_text = $item['mid'] . ';' . $parent['mid'] . ';' . $text . ';' . $myaddr;
-
- $authorsig = base64_encode(rsa_sign($signed_text,$owner['channel_prvkey'],'sha256'));
-
- }
-
- $msg = replace_macros($tpl,array(
- '$guid' => xmlify($item['mid']),
- '$parent_guid' => xmlify($parent['mid']),
- '$target_type' =>xmlify($target_type),
- '$authorsig' => xmlify($authorsig),
- '$body' => xmlify($text),
- '$positive' => xmlify($positive),
- '$handle' => xmlify($myaddr)
- ));
-
- logger('diaspora_followup: base message: ' . $msg, LOGGER_DATA);
-
- $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['channel_prvkey'],$contact['xchan_pubkey'],$public_batch)));
-
-
- return(diaspora_transmit($owner,$contact,$slap,$public_batch));
-}
-
-
-function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
-
-
- $a = get_app();
- $myaddr = $owner['channel_address'] . '@' . get_app()->get_hostname();
-
- $text = bb2diaspora_itembody($item);
-
- $body = $text;
-
- // Diaspora doesn't support threaded comments, but some
- // versions of Diaspora (i.e. Diaspora-pistos) support
- // likes on comments
-
-
- // That version is now dead so detect a "sublike" and
- // just send it as an activity.
-
- $sublike = false;
-
-
- if($item['verb'] === ACTIVITY_LIKE && $item['thr_parent']) {
- $sublike = true;
- }
-
-
- // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always
- // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent.
- // The only item with `parent` and `id` as the parent id is the parent item.
- $p = q("select * from item where parent = %d and id = %d limit 1",
- intval($item['parent']),
- intval($item['parent'])
- );
-
- if($p)
- $parent = $p[0];
- else {
- logger('diaspora_send_relay: no parent');
- return;
- }
-
- $like = false;
- $relay_retract = false;
- $sql_sign_id = 'iid';
-
- if( $item['item_restrict'] & ITEM_DELETED) {
- $relay_retract = true;
-
- $target_type = ( ($item['verb'] === ACTIVITY_LIKE && (! $sublike)) ? 'Like' : 'Comment');
-
- $sql_sign_id = 'retract_iid';
- $tpl = get_markup_template('diaspora_relayable_retraction.tpl');
- }
- elseif(($item['verb'] === ACTIVITY_LIKE) && (! $sublike)) {
- $like = true;
-
- $target_type = ( $parent['mid'] === $parent['parent_mid'] ? 'Post' : 'Comment');
-// $positive = (($item['item_restrict'] & ITEM_DELETED) ? 'false' : 'true');
- $positive = 'true';
-
- $tpl = get_markup_template('diaspora_like_relay.tpl');
- }
- else { // item is a comment
- $tpl = get_markup_template('diaspora_comment_relay.tpl');
- }
-
- $diaspora_meta = (($item['diaspora_meta']) ? json_decode($item['diaspora_meta'],true) : '');
- if($diaspora_meta) {
- if(array_key_exists('iv',$diaspora_meta)) {
- $key = get_config('system','prvkey');
- $meta = json_decode(crypto_unencapsulate($diaspora_meta,$key),true);
- }
- else
- $meta = $diaspora_meta;
- $sender_signed_text = $meta['signed_text'];
- $authorsig = $meta['signature'];
- $handle = $meta['signer'];
- $text = $meta['body'];
- }
- else
- logger('diaspora_send_relay: original author signature not found');
-
- /* Since the author signature is only checked by the parent, not by the relay recipients,
- * I think it may not be necessary for us to do so much work to preserve all the original
- * signatures. The important thing that Diaspora DOES need is the original creator's handle.
- * Let's just generate that and forget about all the original author signature stuff.
- *
- * Note: this might be more of an problem if we want to support likes on comments for older
- * versions of Diaspora (diaspora-pistos), but since there are a number of problems with
- * doing that, let's ignore it for now.
- *
- *
- */
-// bug - nomadic identity may/will affect diaspora_handle_from_contact
- if(! $handle) {
- if($item['author_xchan'] === $owner['channel_hash'])
- $handle = $owner['channel_address'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
- else
- $handle = diaspora_handle_from_contact($item['author_xchan']);
- }
- if(! $handle) {
- logger('diaspora_send_relay: no handle');
- return;
- }
-
- if(! $sender_signed_text) {
- if($relay_retract)
- $sender_signed_text = $item['mid'] . ';' . $target_type;
- elseif($like)
- $sender_signed_text = $positive . ';' . $item['mid'] . ';' . $target_type . ';' . $parent['mid'] . ';' . $handle;
- else
- $sender_signed_text = $item['mid'] . ';' . $parent['mid'] . ';' . $text . ';' . $handle;
- }
-
- // Sign the relayable with the top-level owner's signature
- //
- // We'll use the $sender_signed_text that we just created, instead of the $signed_text
- // stored in the database, because that provides the best chance that Diaspora will
- // be able to reconstruct the signed text the same way we did. This is particularly a
- // concern for the comment, whose signed text includes the text of the comment. The
- // smallest change in the text of the comment, including removing whitespace, will
- // make the signature verification fail. Since we translate from BB code to Diaspora's
- // markup at the top of this function, which is AFTER we placed the original $signed_text
- // in the database, it's hazardous to trust the original $signed_text.
-
- $parentauthorsig = base64_encode(rsa_sign($sender_signed_text,$owner['channel_prvkey'],'sha256'));
-
- if(! $text)
- logger('diaspora_send_relay: no text');
-
- $msg = replace_macros($tpl,array(
- '$guid' => xmlify($item['mid']),
- '$parent_guid' => xmlify($parent['mid']),
- '$target_type' =>xmlify($target_type),
- '$authorsig' => xmlify($authorsig),
- '$parentsig' => xmlify($parentauthorsig),
- '$body' => xmlify($text),
- '$positive' => xmlify($positive),
- '$handle' => xmlify($handle)
- ));
-
- logger('diaspora_send_relay: base message: ' . $msg, LOGGER_DATA);
-
- $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['channel_prvkey'],$contact['xchan_pubkey'],$public_batch)));
-
- return(diaspora_transmit($owner,$contact,$slap,$public_batch));
-
-}
-
-
-
-function diaspora_send_retraction($item,$owner,$contact,$public_batch = false) {
-
- $a = get_app();
- $myaddr = $owner['channel_address'] . '@' . get_app()->get_hostname();
-
- // Check whether the retraction is for a top-level post or whether it's a relayable
- if( $item['mid'] !== $item['parent_mid'] ) {
-
- $tpl = get_markup_template('diaspora_relay_retraction.tpl');
- $target_type = (($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment');
- }
- else {
-
- $tpl = get_markup_template('diaspora_signed_retract.tpl');
- $target_type = 'StatusMessage';
- }
-
- $signed_text = $item['mid'] . ';' . $target_type;
-
- $msg = replace_macros($tpl, array(
- '$guid' => xmlify($item['mid']),
- '$type' => xmlify($target_type),
- '$handle' => xmlify($myaddr),
- '$signature' => xmlify(base64_encode(rsa_sign($signed_text,$owner['channel_prvkey'],'sha256')))
- ));
-
- $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['channel_prvkey'],$contact['xchan_pubkey'],$public_batch)));
-
- return(diaspora_transmit($owner,$contact,$slap,$public_batch));
-}
-
-function diaspora_send_mail($item,$owner,$contact) {
-
- $a = get_app();
- $myaddr = $owner['channel_address'] . '@' . get_app()->get_hostname();
-
- $r = q("select * from conv where id = %d and uid = %d limit 1",
- intval($item['convid']),
- intval($item['channel_id'])
- );
-
- if(! count($r)) {
- logger('diaspora_send_mail: conversation not found.');
- return;
- }
- $cnv = $r[0];
-
- $conv = array(
- 'guid' => xmlify($cnv['guid']),
- 'subject' => xmlify($cnv['subject']),
- 'created_at' => xmlify(datetime_convert('UTC','UTC',$cnv['created'],'Y-m-d H:i:s \U\T\C')),
- 'diaspora_handle' => xmlify($cnv['creator']),
- 'participant_handles' => xmlify($cnv['recips'])
- );
-
- if(array_key_exists('mail_flags',$item) && ($item['mail_flags'] & MAIL_OBSCURED)) {
- $key = get_config('system','prvkey');
-// if($item['title'])
-// $item['title'] = crypto_unencapsulate(json_decode_plus($item['title']),$key);
- if($item['body'])
- $item['body'] = crypto_unencapsulate(json_decode_plus($item['body']),$key);
- }
-
-
- $body = bb2diaspora($item['body']);
- $created = datetime_convert('UTC','UTC',$item['created'],'Y-m-d H:i:s \U\T\C');
-
- $signed_text = $item['mid'] . ';' . $cnv['guid'] . ';' . $body . ';'
- . $created . ';' . $myaddr . ';' . $cnv['guid'];
-
- $sig = base64_encode(rsa_sign($signed_text,$owner['channel_prvkey'],'sha256'));
-
- $msg = array(
- 'guid' => xmlify($item['mid']),
- 'parent_guid' => xmlify($cnv['guid']),
- 'parent_author_signature' => (($item['reply']) ? null : xmlify($sig)),
- 'author_signature' => xmlify($sig),
- 'text' => xmlify($body),
- 'created_at' => xmlify($created),
- 'diaspora_handle' => xmlify($myaddr),
- 'conversation_guid' => xmlify($cnv['guid'])
- );
-
- if($item['reply']) {
- $tpl = get_markup_template('diaspora_message.tpl');
- $xmsg = replace_macros($tpl, array('$msg' => $msg));
- }
- else {
- $conv['messages'] = array($msg);
- $tpl = get_markup_template('diaspora_conversation.tpl');
- $xmsg = replace_macros($tpl, array('$conv' => $conv));
- }
-
- logger('diaspora_conversation: ' . print_r($xmsg,true), LOGGER_DATA);
-
- $slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($xmsg,$owner,$contact,$owner['channel_prvkey'],$contact['xchan_pubkey'],false)));
-
- return(diaspora_transmit($owner,$contact,$slap,false));
-
-
-}
-
-function diaspora_transmit($owner,$contact,$slap,$public_batch,$queue_run=false) {
-
- $enabled = intval(get_config('system','diaspora_enabled'));
- if(! $enabled) {
- return 200;
- }
-
- $allowed = get_pconfig($owner['channel_id'],'system','diaspora_allowed');
- if($allowed === false)
- $allowed = 1;
-
- if(! intval($allowed)) {
- return 200;
- }
-
- if($public_batch)
- $dest_url = $contact['hubloc_callback'] . '/public';
- else
- $dest_url = $contact['hubloc_callback'] . '/users/' . $contact['hubloc_guid'];
-
- logger('diaspora_transmit: URL: ' . $dest_url, LOGGER_DEBUG);
-
- if(intval(get_config('system','diaspora_test')))
- return 200;
-
- $a = get_app();
- $logid = random_string(4);
-
- logger('diaspora_transmit: ' . $logid . ' ' . $dest_url, LOGGER_DEBUG);
-
- $hash = random_string();
-
- $interval = ((get_config('system','delivery_interval') !== false)
- ? intval(get_config('system','delivery_interval')) : 2 );
-
- q("insert into outq ( outq_hash, outq_account, outq_channel, outq_driver, outq_posturl, outq_async, outq_created, outq_updated, outq_notify, outq_msg ) values ( '%s', %d, %d, '%s', '%s', %d, '%s', '%s', '%s', '%s' )",
- dbesc($hash),
- intval($owner['account_id']),
- intval($owner['channel_id']),
- dbesc('post'),
- dbesc($dest_url),
- intval(1),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(''),
- dbesc($slap)
- );
-
- proc_run('php','include/deliver.php',$hash);
- if($interval)
- @time_sleep_until(microtime(true) + (float) $interval);
-
-}
diff --git a/include/dir_fns.php b/include/dir_fns.php
index 83073154a..38c92dd94 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -389,19 +389,13 @@ function local_dir_update($uid, $force) {
logger('hidden: ' . $hidden);
- $r = q("select xchan_flags from xchan where xchan_hash = '%s' limit 1",
+ $r = q("select xchan_hidden from xchan where xchan_hash = '%s' limit 1",
dbesc($p[0]['channel_hash'])
);
- // Be careful - XCHAN_FLAGS_HIDDEN should evaluate to 1
- if (($r[0]['xchan_flags'] & XCHAN_FLAGS_HIDDEN) != $hidden)
- $new_flags = $r[0]['xchan_flags'] ^ XCHAN_FLAGS_HIDDEN;
- else
- $new_flags = $r[0]['xchan_flags'];
-
- if ($new_flags != $r[0]['xchan_flags']) {
- $r = q("update xchan set xchan_flags = %d where xchan_hash = '%s'",
- intval($new_flags),
+ if(intval($r[0]['xchan_hidden']) != $hidden) {
+ $r = q("update xchan set xchan_hidden = %d where xchan_hash = '%s'",
+ intval($hidden),
dbesc($p[0]['channel_hash'])
);
}
diff --git a/include/enotify.php b/include/enotify.php
index b1aae816b..d0228bf50 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -36,9 +36,8 @@ function notification($params) {
}
if ($params['to_xchan']) {
$y = q("select channel.*, account.* from channel left join account on channel_account_id = account_id
- where channel_hash = '%s' and not (channel_pageflags & %d)>0 limit 1",
- dbesc($params['to_xchan']),
- intval(PAGE_REMOVED)
+ where channel_hash = '%s' and channel_removed = 0 limit 1",
+ dbesc($params['to_xchan'])
);
}
if ($x & $y) {
@@ -82,8 +81,9 @@ function notification($params) {
localize_item($i);
$title = $i['title'];
$body = $i['body'];
- $private = (($i['item_private']) || ($i['item_flags'] & ITEM_OBSCURED));
- } else {
+ $private = (($i['item_private']) || intval($i['item_obscured']));
+ }
+ else {
$title = $params['item']['title'];
$body = $params['item']['body'];
}
@@ -171,7 +171,7 @@ function notification($params) {
$item_post_type);
// "your post"
- if($p[0]['owner']['xchan_name'] == $p[0]['author']['xchan_name'] && ($p[0]['item_flags'] & ITEM_WALL))
+ if($p[0]['owner']['xchan_name'] == $p[0]['author']['xchan_name'] && intval($p[0]['item_wall']))
$dest_str = sprintf(t('%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]'),
$recip['channel_name'],
'[zrl=' . $sender['xchan_url'] . ']' . $sender['xchan_name'] . '[/zrl]',
@@ -642,4 +642,4 @@ class enotify {
);
logger("notification: enotify::send returns " . $res, LOGGER_DEBUG);
}
-} \ No newline at end of file
+}
diff --git a/include/event.php b/include/event.php
index 134c23aa2..6670bc53b 100644
--- a/include/event.php
+++ b/include/event.php
@@ -63,9 +63,9 @@ function ical_wrapper($ev) {
return '';
$o .= "BEGIN:VCALENDAR";
- $o .= "\nVERSION:2.0";
- $o .= "\nMETHOD:PUBLISH";
- $o .= "\nPRODID:-//" . get_config('system','sitename') . "//" . PLATFORM_NAME . "//" . strtoupper(get_app()->language). "\n";
+ $o .= "\r\nVERSION:2.0";
+ $o .= "\r\nMETHOD:PUBLISH";
+ $o .= "\r\nPRODID:-//" . get_config('system','sitename') . "//" . PLATFORM_NAME . "//" . strtoupper(get_app()->language). "\r\n";
if(array_key_exists('start', $ev))
$o .= format_event_ical($ev);
else {
@@ -73,38 +73,84 @@ function ical_wrapper($ev) {
$o .= format_event_ical($e);
}
}
- $o .= "\nEND:VCALENDAR\n";
+ $o .= "\r\nEND:VCALENDAR\r\n";
return $o;
}
function format_event_ical($ev) {
+ if($ev['type'] === 'task')
+ return format_todo_ical($ev);
+
+ $o = '';
+
+ $o .= "\r\nBEGIN:VEVENT";
+
+ $o .= "\r\nCREATED:" . datetime_convert('UTC','UTC', $ev['created'],'Ymd\\THis\\Z');
+ $o .= "\r\nLAST-MODIFIED:" . datetime_convert('UTC','UTC', $ev['edited'],'Ymd\\THis\\Z');
+ $o .= "\r\nDTSTAMP:" . datetime_convert('UTC','UTC', $ev['edited'],'Ymd\\THis\\Z');
+ if($ev['start'])
+ $o .= "\r\nDTSTART:" . datetime_convert('UTC','UTC', $ev['start'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
+ if($ev['finish'] && ! $ev['nofinish'])
+ $o .= "\r\nDTEND:" . datetime_convert('UTC','UTC', $ev['finish'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
+ if($ev['summary'])
+ $o .= "\r\nSUMMARY:" . format_ical_text($ev['summary']);
+ if($ev['location'])
+ $o .= "\r\nLOCATION:" . format_ical_text($ev['location']);
+ if($ev['description'])
+ $o .= "\r\nDESCRIPTION:" . format_ical_text($ev['description']);
+ if($ev['event_priority'])
+ $o .= "\r\nPRIORITY:" . intval($ev['event_priority']);
+ $o .= "\r\nUID:" . $ev['event_hash'] ;
+ $o .= "\r\nEND:VEVENT\r\n";
+
+ return $o;
+}
+
+
+function format_todo_ical($ev) {
+
$o = '';
- $o .= "\nBEGIN:VEVENT";
+ $o .= "\r\nBEGIN:VTODO";
+ $o .= "\r\nCREATED:" . datetime_convert('UTC','UTC', $ev['created'],'Ymd\\THis\\Z');
+ $o .= "\r\nLAST-MODIFIED:" . datetime_convert('UTC','UTC', $ev['edited'],'Ymd\\THis\\Z');
+ $o .= "\r\nDTSTAMP:" . datetime_convert('UTC','UTC', $ev['edited'],'Ymd\\THis\\Z');
if($ev['start'])
- $o .= "\nDTSTART:" . datetime_convert('UTC','UTC', $ev['start'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
+ $o .= "\r\nDTSTART:" . datetime_convert('UTC','UTC', $ev['start'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
if($ev['finish'] && ! $ev['nofinish'])
- $o .= "\nDTEND:" . datetime_convert('UTC','UTC', $ev['finish'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
+ $o .= "\r\nDUE:" . datetime_convert('UTC','UTC', $ev['finish'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
if($ev['summary'])
- $o .= "\nSUMMARY:" . format_ical_text($ev['summary']);
+ $o .= "\r\nSUMMARY:" . format_ical_text($ev['summary']);
+ if($ev['event_status']) {
+ $o .= "\r\nSTATUS:" . $ev['event_status'];
+ if($ev['event_status'] === 'COMPLETED')
+ $o .= "\r\nCOMPLETED:" . datetime_convert('UTC','UTC', $ev['event_status_date'],'Ymd\\THis\\Z');
+ }
+ if(intval($ev['event_percent']))
+ $o .= "\r\nPERCENT-COMPLETE:" . $ev['event_percent'];
+ if(intval($ev['event_sequence']))
+ $o .= "\r\nSEQUENCE:" . $ev['event_sequence'];
if($ev['location'])
- $o .= "\nLOCATION:" . format_ical_text($ev['location']);
+ $o .= "\r\nLOCATION:" . format_ical_text($ev['location']);
if($ev['description'])
- $o .= "\nDESCRIPTION:" . format_ical_text($ev['description']);
- $o .= "\nUID:" . $ev['event_hash'] ;
- $o .= "\nEND:VEVENT\n";
+ $o .= "\r\nDESCRIPTION:" . format_ical_text($ev['description']);
+ $o .= "\r\nUID:" . $ev['event_hash'] ;
+ if($ev['event_priority'])
+ $o .= "\r\nPRIORITY:" . intval($ev['event_priority']);
+ $o .= "\r\nEND:VTODO\r\n";
return $o;
}
+
function format_ical_text($s) {
require_once('include/bbcode.php');
require_once('include/html2plain.php');
- return(wordwrap(str_replace(',','\\,',html2plain(bbcode($s))),72,"\n ",true));
+ return(wordwrap(str_replace(array(',',';','\\'),array('\\,','\\;','\\\\'),html2plain(bbcode($s))),72,"\r\n ",true));
}
@@ -218,12 +264,18 @@ function ev_compare($a, $b) {
function event_store_event($arr) {
- $arr['created'] = (($arr['created']) ? $arr['created'] : datetime_convert());
- $arr['edited'] = (($arr['edited']) ? $arr['edited'] : datetime_convert());
- $arr['type'] = (($arr['type']) ? $arr['type'] : 'event' );
- $arr['event_xchan'] = (($arr['event_xchan']) ? $arr['event_xchan'] : '');
+ $arr['created'] = (($arr['created']) ? $arr['created'] : datetime_convert());
+ $arr['edited'] = (($arr['edited']) ? $arr['edited'] : datetime_convert());
+ $arr['type'] = (($arr['type']) ? $arr['type'] : 'event' );
+ $arr['event_xchan'] = (($arr['event_xchan']) ? $arr['event_xchan'] : '');
+ $arr['event_priority'] = (($arr['event_priority']) ? $arr['event_priority'] : 0);
+ if(array_key_exists('event_status_date',$arr))
+ $arr['event_status_date'] = datetime_convert('UTC','UTC', $arr['event_status_date']);
+ else
+ $arr['event_status_date'] = NULL_DATE;
+
// Existing event being modified
if($arr['id'] || $arr['event_hash']) {
@@ -265,6 +317,12 @@ function event_store_event($arr) {
`type` = '%s',
`adjust` = %d,
`nofinish` = %d,
+ `event_status` = '%s',
+ `event_status_date` = '%s',
+ `event_percent` = %d,
+ `event_repeat` = '%s',
+ `event_sequence` = %d,
+ `event_priority` = %d,
`allow_cid` = '%s',
`allow_gid` = '%s',
`deny_cid` = '%s',
@@ -280,6 +338,12 @@ function event_store_event($arr) {
dbesc($arr['type']),
intval($arr['adjust']),
intval($arr['nofinish']),
+ dbesc($arr['event_status']),
+ dbesc($arr['event_status_date']),
+ intval($arr['event_percent']),
+ dbesc($arr['event_repeat']),
+ intval($arr['event_sequence']),
+ intval($arr['event_priority']),
dbesc($arr['allow_cid']),
dbesc($arr['allow_gid']),
dbesc($arr['deny_cid']),
@@ -298,8 +362,8 @@ function event_store_event($arr) {
$hash = random_string() . '@' . get_app()->get_hostname();
$r = q("INSERT INTO event ( uid,aid,event_xchan,event_hash,created,edited,start,finish,summary,description,location,type,
- adjust,nofinish,allow_cid,allow_gid,deny_cid,deny_gid)
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ",
+ adjust,nofinish, event_status, event_status_date, event_percent, event_repeat, event_sequence, event_priority, allow_cid,allow_gid,deny_cid,deny_gid)
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', %d, '%s', %d, %d, '%s', '%s', '%s', '%s' ) ",
intval($arr['uid']),
intval($arr['account']),
dbesc($arr['event_xchan']),
@@ -314,6 +378,12 @@ function event_store_event($arr) {
dbesc($arr['type']),
intval($arr['adjust']),
intval($arr['nofinish']),
+ dbesc($arr['event_status']),
+ dbesc($arr['event_status_date']),
+ intval($arr['event_percent']),
+ dbesc($arr['event_repeat']),
+ intval($arr['event_sequence']),
+ intval($arr['event_priority']),
dbesc($arr['allow_cid']),
dbesc($arr['allow_gid']),
dbesc($arr['deny_cid']),
@@ -399,9 +469,15 @@ require_once('vendor/autoload.php');
$ical = VObject\Reader::read($s);
if($ical) {
- foreach($ical->VEVENT as $event) {
- event_import_ical($event,$uid);
-
+ if($ical->VEVENT) {
+ foreach($ical->VEVENT as $event) {
+ event_import_ical($event,$uid);
+ }
+ }
+ if($ical->VTODO) {
+ foreach($ical->VTODO as $event) {
+ event_import_ical_task($event,$uid);
+ }
}
}
@@ -475,6 +551,8 @@ function event_import_ical($ical, $uid) {
$ev['description'] = (string) $ical->DESCRIPTION;
if(isset($ical->SUMMARY))
$ev['summary'] = (string) $ical->SUMMARY;
+ if(isset($ical->PRIORITY))
+ $ev['event_priority'] = intval((string) $ical->PRIORITY);
if(isset($ical->UID)) {
$evuid = (string) $ical->UID;
@@ -507,6 +585,138 @@ function event_import_ical($ical, $uid) {
}
+function event_import_ical_task($ical, $uid) {
+
+ $c = q("select * from channel where channel_id = %d limit 1",
+ intval($uid)
+ );
+
+ if(! $c)
+ return false;
+
+ $channel = $c[0];
+ $ev = array();
+
+
+ if(! isset($ical->DTSTART)) {
+ logger('no event start');
+ return false;
+ }
+
+ $dtstart = $ical->DTSTART->getDateTime();
+
+// logger('dtstart: ' . var_export($dtstart,true));
+
+ if(($dtstart->timezone_type == 2) || (($dtstart->timezone_type == 3) && ($dtstart->timezone === 'UTC'))) {
+ $ev['adjust'] = 1;
+ }
+ else {
+ $ev['adjust'] = 0;
+ }
+
+ $ev['start'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC',
+ $dtstart->format(\DateTime::W3C));
+
+
+ if(isset($ical->DUE)) {
+ $dtend = $ical->DUE->getDateTime();
+ $ev['finish'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC',
+ $dtend->format(\DateTime::W3C));
+ }
+ else
+ $ev['nofinish'] = 1;
+
+
+ if($ev['start'] === $ev['finish'])
+ $ev['nofinish'] = 1;
+
+ if(isset($ical->CREATED)) {
+ $created = $ical->CREATED->getDateTime();
+ $ev['created'] = datetime_convert('UTC','UTC',$created->format(\DateTime::W3C));
+ }
+
+ if(isset($ical->{'DTSTAMP'})) {
+ $edited = $ical->{'DTSTAMP'}->getDateTime();
+ $ev['edited'] = datetime_convert('UTC','UTC',$edited->format(\DateTime::W3C));
+ }
+
+ if(isset($ical->{'LAST-MODIFIED'})) {
+ $edited = $ical->{'LAST-MODIFIED'}->getDateTime();
+ $ev['edited'] = datetime_convert('UTC','UTC',$edited->format(\DateTime::W3C));
+ }
+
+ if(isset($ical->LOCATION))
+ $ev['location'] = (string) $ical->LOCATION;
+ if(isset($ical->DESCRIPTION))
+ $ev['description'] = (string) $ical->DESCRIPTION;
+ if(isset($ical->SUMMARY))
+ $ev['summary'] = (string) $ical->SUMMARY;
+ if(isset($ical->PRIORITY))
+ $ev['event_priority'] = intval((string) $ical->PRIORITY);
+
+ $stored_event = null;
+
+ if(isset($ical->UID)) {
+ $evuid = (string) $ical->UID;
+ $r = q("SELECT * FROM event WHERE event_hash = '%s' AND uid = %d LIMIT 1",
+ dbesc($evuid),
+ intval($uid)
+ );
+ if($r) {
+ $ev['event_hash'] = $evuid;
+ $stored_event = $r[0];
+ }
+ else {
+ $ev['external_id'] = $evuid;
+ }
+ }
+
+ if(isset($ical->SEQUENCE)) {
+ $ev['event_sequence'] = (string) $ical->SEQUENCE;
+ // see if our stored event is more current than the one we're importing
+ if((intval($ev['event_sequence']) <= intval($stored_event['event_sequence']))
+ && ($ev['edited'] <= $stored_event['edited']))
+ return false;
+ }
+
+ if(isset($ical->STATUS)) {
+ $ev['event_status'] = (string) $ical->STATUS;
+ }
+
+ if(isset($ical->{'COMPLETED'})) {
+ $completed = $ical->{'COMPLETED'}->getDateTime();
+ $ev['event_status_date'] = datetime_convert('UTC','UTC',$completed->format(\DateTime::W3C));
+ }
+
+ if(isset($ical->{'PERCENT-COMPLETE'})) {
+ $ev['event_percent'] = (string) $ical->{'PERCENT-COMPLETE'} ;
+ }
+
+ $ev['type'] = 'task';
+
+ if($ev['summary'] && $ev['start']) {
+ $ev['event_xchan'] = $channel['channel_hash'];
+ $ev['uid'] = $channel['channel_id'];
+ $ev['account'] = $channel['channel_account_id'];
+ $ev['private'] = 1;
+ $ev['allow_cid'] = '<' . $channel['channel_hash'] . '>';
+
+ logger('storing event: ' . print_r($ev,true), LOGGER_ALL);
+ $event = event_store_event($ev);
+ if($event) {
+ $item_id = event_store_item($ev,$event);
+ return true;
+ }
+ }
+
+ return false;
+
+}
+
+
+
+
+
function event_store_item($arr, $event) {
@@ -568,7 +778,12 @@ function event_store_item($arr, $event) {
$private = (($arr['allow_cid'] || $arr['allow_gid'] || $arr['deny_cid'] || $arr['deny_gid']) ? 1 : 0);
- q("UPDATE item SET title = '%s', body = '%s', object = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', edited = '%s', item_flags = %d, item_private = %d, obj_type = '%s' WHERE id = %d AND uid = %d",
+ // @FIXME can only update sig if we have the author's channel on this site
+ // Until fixed, set it to nothing so it won't give us signature errors
+
+ $sig = '';
+
+ q("UPDATE item SET title = '%s', body = '%s', object = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', edited = '%s', sig = '%s', item_flags = %d, item_private = %d, obj_type = '%s' WHERE id = %d AND uid = %d",
dbesc($arr['summary']),
dbesc($prefix . format_event_bbcode($arr)),
dbesc($object),
@@ -577,6 +792,7 @@ function event_store_item($arr, $event) {
dbesc($arr['deny_cid']),
dbesc($arr['deny_gid']),
dbesc($arr['edited']),
+ dbesc($sig),
intval($r[0]['item_flags']),
intval($private),
dbesc(ACTIVITY_OBJ_EVENT),
@@ -615,48 +831,61 @@ function event_store_item($arr, $event) {
$private = (($arr['allow_cid'] || $arr['allow_gid'] || $arr['deny_cid'] || $arr['deny_gid']) ? 1 : 0);
+ $item_wall = 0;
+ $item_origin = 0;
+ $item_thread_top = 0;
+
if($item) {
$item_arr['id'] = $item['id'];
}
else {
$wall = (($z[0]['channel_hash'] == $event['event_xchan']) ? true : false);
-
- $item_flags = ITEM_THREAD_TOP;
+ $item_thread_top = 1;
if($wall) {
- $item_flags |= ITEM_WALL;
- $item_flags |= ITEM_ORIGIN;
+ $item_wall = 1;
+ $item_origin = 1;
}
- $item_arr['item_flags'] = $item_flags;
}
if(! $arr['mid'])
$arr['mid'] = item_message_id();
- $item_arr['aid'] = $z[0]['channel_account_id'];
- $item_arr['uid'] = $arr['uid'];
- $item_arr['author_xchan'] = $arr['event_xchan'];
- $item_arr['mid'] = $arr['mid'];
- $item_arr['parent_mid'] = $arr['mid'];
-
- $item_arr['owner_xchan'] = (($wall) ? $z[0]['channel_hash'] : $arr['event_xchan']);
- $item_arr['author_xchan'] = $arr['event_xchan'];
- $item_arr['title'] = $arr['summary'];
- $item_arr['allow_cid'] = $arr['allow_cid'];
- $item_arr['allow_gid'] = $arr['allow_gid'];
- $item_arr['deny_cid'] = $arr['deny_cid'];
- $item_arr['deny_gid'] = $arr['deny_gid'];
- $item_arr['item_private'] = $private;
- $item_arr['verb'] = ACTIVITY_POST;
+ $item_arr['aid'] = $z[0]['channel_account_id'];
+ $item_arr['uid'] = $arr['uid'];
+ $item_arr['author_xchan'] = $arr['event_xchan'];
+ $item_arr['mid'] = $arr['mid'];
+ $item_arr['parent_mid'] = $arr['mid'];
+ $item_arr['owner_xchan'] = (($wall) ? $z[0]['channel_hash'] : $arr['event_xchan']);
+ $item_arr['author_xchan'] = $arr['event_xchan'];
+ $item_arr['title'] = $arr['summary'];
+ $item_arr['allow_cid'] = $arr['allow_cid'];
+ $item_arr['allow_gid'] = $arr['allow_gid'];
+ $item_arr['deny_cid'] = $arr['deny_cid'];
+ $item_arr['deny_gid'] = $arr['deny_gid'];
+ $item_arr['item_private'] = $private;
+ $item_arr['verb'] = ACTIVITY_POST;
+ $item_arr['item_wall'] = $item_wall;
+ $item_arr['item_origin'] = $item_origin;
+ $item_arr['item_thread_top'] = $item_thread_top;;
+
+ $attach = array(array(
+ 'href' => z_root() . '/events/ical/' . urlencode($event['event_hash']),
+ 'length' => 0,
+ 'type' => 'text/calendar',
+ 'title' => t('event') . '-' . $event['event_hash'],
+ 'revision' => ''
+ ));
- if(array_key_exists('term', $arr))
- $item_arr['term'] = $arr['term'];
+ $item_arr['attach'] = $attach;
- $item_arr['resource_type'] = 'event';
- $item_arr['resource_id'] = $event['event_hash'];
- $item_arr['obj_type'] = ACTIVITY_OBJ_EVENT;
+ if(array_key_exists('term', $arr))
+ $item_arr['term'] = $arr['term'];
- $item_arr['body'] = $prefix . format_event_bbcode($arr);
+ $item_arr['resource_type'] = 'event';
+ $item_arr['resource_id'] = $event['event_hash'];
+ $item_arr['obj_type'] = ACTIVITY_OBJ_EVENT;
+ $item_arr['body'] = $prefix . format_event_bbcode($arr);
// if it's local send the permalink to the channel page.
// otherwise we'll fallback to /display/$message_id
@@ -696,3 +925,38 @@ function event_store_item($arr, $event) {
return $item_id;
}
}
+
+
+function todo_stat() {
+ return array(
+ '' => t('Not specified'),
+ 'NEEDS-ACTION' => t('Needs Action'),
+ 'COMPLETED' => t('Completed'),
+ 'IN-PROCESS' => t('In Process'),
+ 'CANCELLED' => t('Cancelled')
+ );
+}
+
+
+function tasks_fetch($arr) {
+
+ if(! local_channel())
+ return;
+
+ $ret = array();
+ $sql_extra = " and event_status != 'COMPLETED' ";
+ if($arr && $arr['all'] == 1)
+ $sql_extra = '';
+
+ $r = q("select * from event where type = 'task' and uid = %d $sql_extra order by created desc",
+ intval(local_channel())
+ );
+
+ $ret['success'] = (($r) ? true : false);
+ if($r) {
+ $ret['tasks'] = $r;
+ }
+
+ return $ret;
+
+} \ No newline at end of file
diff --git a/include/expire.php b/include/expire.php
index e5d456896..e75594b5f 100644
--- a/include/expire.php
+++ b/include/expire.php
@@ -12,10 +12,7 @@ function expire_run($argv, $argc){
// perform final cleanup on previously delete items
- $r = q("select id from item where (item_restrict & %d) > 0 and (item_restrict & %d) = 0
- and changed < %s - INTERVAL %s",
- intval(ITEM_DELETED),
- intval(ITEM_PENDING_REMOVE),
+ $r = q("select id from item where item_deleted = 1 and item_pending_remove = 0 and changed < %s - INTERVAL %s",
db_utcnow(), db_quoteinterval('10 DAY')
);
if ($r) {
@@ -27,8 +24,7 @@ function expire_run($argv, $argc){
// physically remove anything that has been deleted for more than two months
/** @FIXME - this is a wretchedly inefficient query */
- $r = q("delete from item where ( item_restrict & %d ) > 0 and changed < %s - INTERVAL %s",
- intval(ITEM_PENDING_REMOVE),
+ $r = q("delete from item where item_pending_remove = 1 and changed < %s - INTERVAL %s",
db_utcnow(), db_quoteinterval('36 DAY')
);
@@ -49,7 +45,7 @@ function expire_run($argv, $argc){
foreach ($r as $rr) {
// expire the sys channel separately
- if ($rr['channel_pageflags'] & PAGE_SYSTEM)
+ if (intval($rr['channel_system']))
continue;
// service class default (if non-zero) over-rides the site default
diff --git a/include/externals.php b/include/externals.php
index b0f853dc6..3b6d170d5 100644
--- a/include/externals.php
+++ b/include/externals.php
@@ -93,26 +93,6 @@ function externals_run($argv, $argc){
$results = process_delivery(array('hash' => 'undefined'), get_item_elements($message),
array(array('hash' => $sys['xchan_hash'])), false, true);
$total ++;
-// $z = q("select id from item where mid = '%s' and uid = %d limit 1",
-// dbesc($message['message_id']),
-// intval($sys['channel_id'])
-// );
-$z = null;
- if($z) {
- $flag_bits = ITEM_WALL|ITEM_ORIGIN|ITEM_UPLINK;
- // preserve the source
-
- $r = q("update item set source_xchan = owner_xchan where id = %d",
- intval($z[0]['id'])
- );
-
- $r = q("update item set item_flags = ( item_flags | %d ), owner_xchan = '%s'
- where id = %d",
- intval($flag_bits),
- dbesc($sys['xchan_hash']),
- intval($z[0]['id'])
- );
- }
}
logger('externals: import_public_posts: ' . $total . ' messages imported', LOGGER_DEBUG);
}
diff --git a/include/follow.php b/include/follow.php
index 54e16703d..960138743 100644
--- a/include/follow.php
+++ b/include/follow.php
@@ -37,9 +37,8 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
// check service class limits
- $r = q("select count(*) as total from abook where abook_channel = %d and not (abook_flags & %d)>0 ",
- intval($uid),
- intval(ABOOK_FLAG_SELF)
+ $r = q("select count(*) as total from abook where abook_channel = %d and abook_self = 0 ",
+ intval($uid)
);
if($r)
$total_channels = $r[0]['total'];
@@ -130,21 +129,6 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
}
}
else {
- if(! ($is_http)) {
- if(! intval(get_config('system','diaspora_enabled'))) {
- $result['message'] = t('Protocol disabled.');
- return $result;
- }
-
- $allowed = get_pconfig($uid,'system','diaspora_allowed');
- if($allowed === false)
- $allowed = 1;
-
- if(! intval($allowed)) {
- $result['message'] = t('Protocol blocked for this channel.');
- return $result;
- }
- }
$their_perms = 0;
$xchan_hash = '';
@@ -161,8 +145,15 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
}
elseif($is_http) {
$r = discover_by_url($url);
+ $r['allowed'] = intval(get_config('system','feed_contacts'));
}
if($r) {
+ $r['channel_id'] = $uid;
+ call_hooks('follow_allow',$r);
+ if(! $r['allowed']) {
+ $result['message'] = t('Protocol disabled.');
+ return $result;
+ }
$r = q("select * from xchan where xchan_hash = '%s' or xchan_url = '%s' limit 1",
dbesc($url),
dbesc($url)
@@ -202,14 +193,9 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
if($is_http) {
- if(! intval(get_config('system','feed_contacts'))) {
- $result['message'] = t('Protocol disabled.');
- return $result;
- }
- $r = q("select count(*) as total from abook where abook_account = %d and ( abook_flags & %d )>0",
- intval($aid),
- intval(ABOOK_FLAG_FEED)
+ $r = q("select count(*) as total from abook where abook_account = %d and abook_feed = 1 ",
+ intval($aid)
);
if($r)
$total_feeds = $r[0]['total'];
@@ -241,13 +227,13 @@ function new_contact($uid,$url,$channel,$interactive = false, $confirm = false)
if($closeness === false)
$closeness = 80;
- $r = q("insert into abook ( abook_account, abook_channel, abook_closeness, abook_xchan, abook_flags, abook_their_perms, abook_my_perms, abook_created, abook_updated )
+ $r = q("insert into abook ( abook_account, abook_channel, abook_closeness, abook_xchan, abook_feed, abook_their_perms, abook_my_perms, abook_created, abook_updated )
values( %d, %d, %d, '%s', %d, %d, %d, '%s', '%s' ) ",
intval($aid),
intval($uid),
intval($closeness),
dbesc($xchan_hash),
- intval(($is_http) ? ABOOK_FLAG_FEED : 0),
+ intval(($is_http) ? 1 : 0),
intval(($is_http) ? $their_perms|PERMS_R_STREAM|PERMS_A_REPUBLISH : $their_perms),
intval($my_perms),
dbesc(datetime_convert()),
diff --git a/include/group.php b/include/group.php
index fe55ec23f..0875b10f9 100644
--- a/include/group.php
+++ b/include/group.php
@@ -200,13 +200,10 @@ function group_get_members($gid) {
if(intval($gid)) {
$r = q("SELECT * FROM `group_member`
LEFT JOIN abook ON abook_xchan = `group_member`.`xchan` left join xchan on xchan_hash = abook_xchan
- WHERE `gid` = %d AND abook_channel = %d and `group_member`.`uid` = %d and not ( xchan_flags & %d )>0 and not ( abook_flags & %d )>0 and not ( abook_flags & %d )>0 ORDER BY xchan_name ASC ",
+ WHERE `gid` = %d AND abook_channel = %d and `group_member`.`uid` = %d and xchan_deleted = 0 and abook_blocked = 0 and abook_pending = 0 ORDER BY xchan_name ASC ",
intval($gid),
intval(local_channel()),
- intval(local_channel()),
- intval(XCHAN_FLAGS_DELETED),
- intval(ABOOK_FLAG_BLOCKED),
- intval(ABOOK_FLAG_PENDING)
+ intval(local_channel())
);
if(count($r))
$ret = $r;
@@ -232,7 +229,7 @@ function mini_group_select($uid,$group = '') {
logger('mini_group_select: ' . print_r($grps,true), LOGGER_DATA);
$o = replace_macros(get_markup_template('group_selection.tpl'), array(
- '$label' => t('Default privacy group for new contacts'),
+ '$label' => t('Add new connections to this collection (privacy group)'),
'$groups' => $grps
));
return $o;
@@ -245,7 +242,7 @@ function group_side($every="connections",$each="group",$edit = false, $group_id
$o = '';
- if(! local_channel())
+ if(! (local_channel() && feature_enabled(local_channel(),'groups')))
return '';
$groups = array();
diff --git a/include/hubloc.php b/include/hubloc.php
index a4efe1c75..396f4ddfa 100644
--- a/include/hubloc.php
+++ b/include/hubloc.php
@@ -96,8 +96,7 @@ function remove_obsolete_hublocs() {
? intval(get_config('system','delivery_interval')) : 2 );
foreach($r as $rr) {
- q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_id = %d",
- intval(HUBLOC_FLAGS_DELETED),
+ q("update hubloc set hubloc_deleted = 1 where hubloc_id = %d",
intval($rr['hubloc_id'])
);
@@ -121,7 +120,7 @@ function hubloc_change_primary($hubloc) {
logger('no hubloc');
return false;
}
- if(! ($hubloc['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY)) {
+ if(! (intval($hubloc['hubloc_primary']))) {
logger('not primary: ' . $hubloc['hubloc_url']);
return false;
}
@@ -206,7 +205,7 @@ function xchan_store($arr) {
if(! $arr['photo'])
$arr['photo'] = z_root() . '/' . get_default_profile_photo();
- $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_addr, xchan_url, xchan_connurl, xchan_follow, xchan_connpage, xchan_name, xchan_network, xchan_instance_url, xchan_flags, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s','%s','%s','%s',%d,'%s') ",
+ $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_addr, xchan_url, xchan_connurl, xchan_follow, xchan_connpage, xchan_name, xchan_network, xchan_instance_url, xchan_hidden, xchan_orphan, xchan_censored, xchan_selfcensored, xchan_system, xchan_pubforum, xchan_deleted, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s','%s','%s','%s',%d, %d, %d, %d, %d, %d, %d, '%s') ",
dbesc($arr['hash']),
dbesc($arr['guid']),
dbesc($arr['guid_sig']),
@@ -219,13 +218,19 @@ function xchan_store($arr) {
dbesc($arr['name']),
dbesc($arr['network']),
dbesc($arr['instance_url']),
- intval($arr['flags']),
+ intval($arr['hidden']),
+ intval($arr['orphan']),
+ intval($arr['censored']),
+ intval($arr['selfcensored']),
+ intval($arr['system']),
+ intval($arr['pubforum']),
+ intval($arr['deleted']),
dbesc(datetime_convert())
);
if(! $r)
return $r;
- $photos = import_profile_photo($arr['photo'],$arr['hash']);
+ $photos = import_xchan_photo($arr['photo'],$arr['hash']);
$r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'",
dbesc(datetime_convert()),
dbesc($photos[0]),
diff --git a/include/identity.php b/include/identity.php
index e236b5a90..115baddc1 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -24,9 +24,8 @@ require_once('include/crypto.php');
function identity_check_service_class($account_id) {
$ret = array('success' => false, 'message' => '');
- $r = q("select count(channel_id) as total from channel where channel_account_id = %d and not ( channel_pageflags & %d )>0 ",
- intval($account_id),
- intval(PAGE_REMOVED)
+ $r = q("select count(channel_id) as total from channel where channel_account_id = %d and channel_removed = 0 ",
+ intval($account_id)
);
if(! ($r && count($r))) {
$ret['total_identities'] = 0;
@@ -98,9 +97,9 @@ function create_sys_channel() {
'account_id' => 'xxx', // This will create an identity with an (integer) account_id of 0, but account_id is required
'nickname' => 'sys',
'name' => 'System',
- 'pageflags' => PAGE_SYSTEM,
+ 'pageflags' => 0,
'publish' => 0,
- 'xchanflags' => XCHAN_FLAGS_SYSTEM
+ 'system' => 1
));
}
@@ -111,9 +110,7 @@ function create_sys_channel() {
* @return array|boolean
*/
function get_sys_channel() {
- $r = q("select * from channel left join xchan on channel_hash = xchan_hash where (channel_pageflags & %d)>0 limit 1",
- intval(PAGE_SYSTEM)
- );
+ $r = q("select * from channel left join xchan on channel_hash = xchan_hash where channel_system = 1 limit 1");
if ($r)
return $r[0];
@@ -129,11 +126,11 @@ function get_sys_channel() {
* @return boolean
*/
function is_sys_channel($channel_id) {
- $r = q("select channel_pageflags from channel where channel_id = %d limit 1",
+ $r = q("select channel_system from channel where channel_id = %d and channel_system = 1 limit 1",
intval($channel_id)
);
- if (($r) && ($r[0]['channel_pageflags'] & PAGE_SYSTEM))
+ if($r)
return true;
return false;
@@ -149,9 +146,7 @@ function is_sys_channel($channel_id) {
* on error returns boolean false
*/
function channel_total() {
- $r = q("select channel_id from channel where not ( channel_pageflags & %d )>0",
- intval(PAGE_REMOVED)
- );
+ $r = q("select channel_id from channel where channel_removed = 0");
if (is_array($r))
return count($r);
@@ -201,14 +196,14 @@ function create_identity($arr) {
$name = escape_tags($arr['name']);
$pageflags = ((x($arr,'pageflags')) ? intval($arr['pageflags']) : PAGE_NORMAL);
- $xchanflags = ((x($arr,'xchanflags')) ? intval($arr['xchanflags']) : XCHAN_FLAGS_NORMAL);
+ $system = ((x($arr,'system')) ? intval($arr['system']) : 0);
$name_error = validate_channelname($arr['name']);
if($name_error) {
$ret['message'] = $name_error;
return $ret;
}
- if($nick === 'sys' && (! ($pageflags & PAGE_SYSTEM))) {
+ if($nick === 'sys' && (! $system)) {
$ret['message'] = t('Reserved nickname. Please choose another.');
return $ret;
}
@@ -265,8 +260,8 @@ function create_identity($arr) {
$r = q("insert into channel ( channel_account_id, channel_primary,
channel_name, channel_address, channel_guid, channel_guid_sig,
- channel_hash, channel_prvkey, channel_pubkey, channel_pageflags, channel_expire_days, channel_timezone $perms_keys )
- values ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s' $perms_vals ) ",
+ channel_hash, channel_prvkey, channel_pubkey, channel_pageflags, channel_system, channel_expire_days, channel_timezone $perms_keys )
+ values ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, '%s' $perms_vals ) ",
intval($arr['account_id']),
intval($primary),
@@ -278,6 +273,7 @@ function create_identity($arr) {
dbesc($key['prvkey']),
dbesc($key['pubkey']),
intval($pageflags),
+ intval($system),
intval($expire),
dbesc($a->timezone)
);
@@ -300,14 +296,14 @@ function create_identity($arr) {
// Create a verified hub location pointing to this site.
- $r = q("insert into hubloc ( hubloc_guid, hubloc_guid_sig, hubloc_hash, hubloc_addr, hubloc_flags,
+ $r = q("insert into hubloc ( hubloc_guid, hubloc_guid_sig, hubloc_hash, hubloc_addr, hubloc_primary,
hubloc_url, hubloc_url_sig, hubloc_host, hubloc_callback, hubloc_sitekey, hubloc_network )
values ( '%s', '%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s' )",
dbesc($guid),
dbesc($sig),
dbesc($hash),
dbesc($ret['channel']['channel_address'] . '@' . get_app()->get_hostname()),
- intval(($primary) ? HUBLOC_FLAGS_PRIMARY : 0),
+ intval($primary),
dbesc(z_root()),
dbesc(base64url_encode(rsa_sign(z_root(),$ret['channel']['channel_prvkey']))),
dbesc(get_app()->get_hostname()),
@@ -320,7 +316,7 @@ function create_identity($arr) {
$newuid = $ret['channel']['channel_id'];
- $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_l, xchan_photo_m, xchan_photo_s, xchan_addr, xchan_url, xchan_follow, xchan_connurl, xchan_name, xchan_network, xchan_photo_date, xchan_name_date, xchan_flags ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
+ $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_l, xchan_photo_m, xchan_photo_s, xchan_addr, xchan_url, xchan_follow, xchan_connurl, xchan_name, xchan_network, xchan_photo_date, xchan_name_date, xchan_system ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
dbesc($hash),
dbesc($guid),
dbesc($sig),
@@ -336,7 +332,7 @@ function create_identity($arr) {
dbesc('zot'),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
- intval($xchanflags)
+ intval($system)
);
// Not checking return value.
@@ -363,7 +359,7 @@ function create_identity($arr) {
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
- $r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_closeness, abook_created, abook_updated, abook_flags, abook_my_perms )
+ $r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_closeness, abook_created, abook_updated, abook_self, abook_my_perms )
values ( %d, %d, '%s', %d, '%s', '%s', %d, %d ) ",
intval($ret['channel']['channel_account_id']),
intval($newuid),
@@ -371,7 +367,7 @@ function create_identity($arr) {
intval(0),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
- intval(ABOOK_FLAG_SELF),
+ intval(1),
intval($myperms)
);
@@ -410,6 +406,11 @@ function create_identity($arr) {
}
}
+ if(! $system) {
+ set_pconfig($ret['channel']['channel_id'],'system','photo_path', '%Y-%m');
+ set_pconfig($ret['channel']['channel_id'],'system','attach_path','%Y-%m');
+ }
+
// auto-follow any of the hub's pre-configured channel choices.
// Only do this if it's the first channel for this account;
// otherwise it could get annoying. Don't make this list too big
@@ -426,7 +427,7 @@ function create_identity($arr) {
}
}
- call_hooks('register_account', $newuid);
+ call_hooks('create_identity', $newuid);
proc_run('php','include/directory.php', $ret['channel']['channel_id']);
}
@@ -536,15 +537,14 @@ function identity_basic_export($channel_id, $items = false) {
if($r)
$ret['config'] = $r;
- $r = q("select type, data from photo where scale = 4 and profile = 1 and uid = %d limit 1",
+ $r = q("select type, data, os_storage from photo where scale = 4 and profile = 1 and uid = %d limit 1",
intval($channel_id)
);
if($r) {
- $ret['photo'] = array('type' => $r[0]['type'], 'data' => base64url_encode($r[0]['data']));
+ $ret['photo'] = array('type' => $r[0]['type'], 'data' => (($r[0]['os_storage']) ? base64url_encode(file_get_contents($r[0]['data'])) : base64url_encode($r[0]['data'])));
}
-
// All other term types will be included in items, if requested.
$r = q("select * from term where type in (%d,%d) and uid = %d",
@@ -556,13 +556,9 @@ function identity_basic_export($channel_id, $items = false) {
$ret['term'] = $r;
- // make the obj output match the hubzilla file format
+ // add psuedo-column obj_baseurl to aid in relocations
- $datestamp = datetime_convert();
-
- $r = q("select obj.*, term.term as obj_term, term.url as obj_url, term.imgurl as obj_imgurl, '%s' as obj_created, '%s' as obj_edited, '%s' as obj_baseurl from obj left join term on obj_obj = term.term_hash where obj_channel = %d",
- dbesc($datestamp),
- dbesc($datestamp),
+ $r = q("select obj.*, '%s' as obj_baseurl from obj where obj_channel = %d",
dbesc(z_root()),
intval($channel_id)
);
@@ -598,10 +594,14 @@ function identity_basic_export($channel_id, $items = false) {
/** @warning this may run into memory limits on smaller systems */
- $r = q("select * from item where (item_flags & %d)>0 and not (item_restrict & %d)>0 and uid = %d order by created",
- intval(ITEM_WALL),
- intval(ITEM_DELETED),
- intval($channel_id)
+ /** export one year of posts. If you want to export and import all posts you have to start with
+ * the first year and export/import them in ascending order.
+ */
+
+ $r = q("select * from item where item_wall = 1 and item_deleted = 0 and uid = %d and created > %s - INTERVAL %s",
+ intval($channel_id),
+ db_utcnow(),
+ db_quoteinterval('1 YEAR')
);
if($r) {
$ret['item'] = array();
@@ -615,7 +615,6 @@ function identity_basic_export($channel_id, $items = false) {
}
-
function identity_export_year($channel_id,$year,$month = 0) {
if(! $year)
@@ -629,15 +628,14 @@ function identity_export_year($channel_id,$year,$month = 0) {
$target_month = '01';
$ret = array();
+
$mindate = datetime_convert('UTC','UTC',$year . '-' . $target_month . '-01 00:00:00');
if($month && $month < 12)
$maxdate = datetime_convert('UTC','UTC',$year . '-' . $target_month_plus . '-01 00:00:00');
else
$maxdate = datetime_convert('UTC','UTC',$year+1 . '-01-01 00:00:00');
- $r = q("select * from item where (item_flags & %d) > 0 and (item_restrict & %d) = 0 and uid = %d and created >= '%s' and created < '%s' order by created ",
- intval(ITEM_WALL),
- intval(ITEM_DELETED),
+ $r = q("select * from item where item_wall = 1 and item_deleted = 0 and uid = %d and created >= '%s' and created < '%s' order by created",
intval($channel_id),
dbesc($mindate),
dbesc($maxdate)
@@ -686,11 +684,10 @@ function identity_export_year($channel_id,$year,$month = 0) {
*/
function profile_load(&$a, $nickname, $profile = '') {
- logger('profile_load: ' . $nickname . (($profile) ? ' profile: ' . $profile : ''));
+// logger('profile_load: ' . $nickname . (($profile) ? ' profile: ' . $profile : ''));
- $user = q("select channel_id from channel where channel_address = '%s' and not ( channel_pageflags & %d ) > 0 limit 1",
- dbesc($nickname),
- intval(PAGE_REMOVED)
+ $user = q("select channel_id from channel where channel_address = '%s' and channel_removed = 0 limit 1",
+ dbesc($nickname)
);
if(! $user) {
@@ -733,10 +730,9 @@ function profile_load(&$a, $nickname, $profile = '') {
if(! $p) {
$p = q("SELECT profile.uid AS profile_uid, profile.*, channel.* FROM profile
LEFT JOIN channel ON profile.uid = channel.channel_id
- WHERE channel.channel_address = '%s' and not ( channel_pageflags & %d )>0
+ WHERE channel.channel_address = '%s' and channel_removed = 0
AND profile.is_default = 1 LIMIT 1",
- dbesc($nickname),
- intval(PAGE_REMOVED)
+ dbesc($nickname)
);
}
@@ -951,7 +947,8 @@ function profile_sidebar($profile, $block = 0, $show_connect = true) {
$marital = ((x($profile,'marital') == 1) ? t('Status:') : False);
$homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False);
$profile['online'] = (($profile['online_status'] === 'online') ? t('Online Now') : False);
- logger('online: ' . $profile['online']);
+
+// logger('online: ' . $profile['online']);
if(! perm_is_allowed($profile['uid'],((is_array($observer)) ? $observer['xchan_hash'] : ''),'view_profile')) {
$block = true;
@@ -1443,7 +1440,7 @@ function get_default_profile_photo($size = 300) {
}
/**
- * @brief Test whether a given identity is NOT a member of the Red Matrix.
+ * @brief Test whether a given identity is NOT a member of the Hubzilla.
*
* @param string $s;
* xchan_hash of the identity in question
@@ -1454,7 +1451,7 @@ function is_foreigner($s) {
}
/**
- * @brief Test whether a given identity is a member of the Red Matrix.
+ * @brief Test whether a given identity is a member of the Hubzilla.
*
* @param string $s;
* xchan_hash of the identity in question
@@ -1526,9 +1523,8 @@ function get_channel_by_nick($nick) {
*/
function identity_selector() {
if (local_channel()) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel.channel_account_id = %d and (channel_pageflags & %d) = 0 order by channel_name ",
- intval(get_account_id()),
- intval(PAGE_REMOVED)
+ $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel.channel_account_id = %d and channel_removed = 0 order by channel_name ",
+ intval(get_account_id())
);
if (count($r) > 1) {
//$account = get_app()->get_account();
@@ -1624,9 +1620,8 @@ function notifications_on($channel_id,$value) {
function get_channel_default_perms($uid) {
- $r = q("select abook_my_perms from abook where abook_channel = %d and (abook_flags & %d) > 0 limit 1",
- intval($uid),
- intval(ABOOK_FLAG_SELF)
+ $r = q("select abook_my_perms from abook where abook_channel = %d and abook_self = 1 limit 1",
+ intval($uid)
);
if($r)
return $r[0]['abook_my_perms'];
diff --git a/include/import.php b/include/import.php
new file mode 100644
index 000000000..cee0d14fd
--- /dev/null
+++ b/include/import.php
@@ -0,0 +1,312 @@
+<?php
+
+
+function import_channel($channel) {
+
+ if(! array_key_exists('channel_system',$channel)) {
+ $channel['channel_system'] = (($channel['channel_pageflags'] & 0x1000) ? 1 : 0);
+ $channel['channel_removed'] = (($channel['channel_pageflags'] & 0x8000) ? 1 : 0);
+ }
+
+ $r = q("select * from channel where (channel_guid = '%s' or channel_hash = '%s' or channel_address = '%s' ) limit 1",
+ dbesc($channel['channel_guid']),
+ dbesc($channel['channel_hash']),
+ dbesc($channel['channel_address'])
+ );
+
+ // We should probably also verify the hash
+
+ if($r) {
+ if($r[0]['channel_guid'] === $channel['channel_guid'] || $r[0]['channel_hash'] === $channel['channel_hash']) {
+ logger('mod_import: duplicate channel. ', print_r($channel,true));
+ notice( t('Cannot create a duplicate channel identifier on this system. Import failed.') . EOL);
+ return false;
+ }
+ else {
+ // try at most ten times to generate a unique address.
+ $x = 0;
+ $found_unique = false;
+ do {
+ $tmp = $channel['channel_address'] . mt_rand(1000,9999);
+ $r = q("select * from channel where channel_address = '%s' limit 1",
+ dbesc($tmp)
+ );
+ if(! $r) {
+ $channel['channel_address'] = $tmp;
+ $found_unique = true;
+ break;
+ }
+ $x ++;
+ } while ($x < 10);
+ if(! $found_unique) {
+ logger('mod_import: duplicate channel. randomisation failed.', print_r($channel,true));
+ notice( t('Unable to create a unique channel address. Import failed.') . EOL);
+ return false;
+ }
+ }
+ }
+
+ unset($channel['channel_id']);
+ $channel['channel_account_id'] = get_account_id();
+ $channel['channel_primary'] = (($seize) ? 1 : 0);
+
+ dbesc_array($channel);
+
+ $r = dbq("INSERT INTO channel (`"
+ . implode("`, `", array_keys($channel))
+ . "`) VALUES ('"
+ . implode("', '", array_values($channel))
+ . "')"
+ );
+
+ if(! $r) {
+ logger('mod_import: channel clone failed. ', print_r($channel,true));
+ notice( t('Channel clone failed. Import failed.') . EOL);
+ return false;
+ }
+
+ $r = q("select * from channel where channel_account_id = %d and channel_guid = '%s' limit 1",
+ intval(get_account_id()),
+ $channel['channel_guid'] // Already dbesc'd
+ );
+ if(! $r) {
+ logger('mod_import: channel not found. ', print_r($channel,true));
+ notice( t('Cloned channel not found. Import failed.') . EOL);
+ return false;
+ }
+ // reset
+ $channel = $r[0];
+
+ set_default_login_identity(get_account_id(),$channel['channel_id'],false);
+ logger('import step 1');
+ $_SESSION['import_step'] = 1;
+ ref_session_write(session_id(), serialize($_SESSION));
+ return $channel;
+
+}
+
+function import_config($channel,$configs) {
+
+ if($channel && $configs) {
+ foreach($configs as $config) {
+ unset($config['id']);
+ $config['uid'] = $channel['channel_id'];
+ dbesc_array($config);
+ $r = dbq("INSERT INTO pconfig (`"
+ . implode("`, `", array_keys($config))
+ . "`) VALUES ('"
+ . implode("', '", array_values($config))
+ . "')" );
+ }
+ load_pconfig($channel['channel_id']);
+ }
+}
+
+
+function import_profiles($channel,$profiles) {
+
+ if($channel && $profiles) {
+ foreach($profiles as $profile) {
+ unset($profile['id']);
+ $profile['aid'] = get_account_id();
+ $profile['uid'] = $channel['channel_id'];
+
+ // we are going to reset all profile photos to the original
+ // somebody will have to fix this later and put all the applicable photos into the export
+
+ $profile['photo'] = z_root() . '/photo/profile/l/' . $channel['channel_id'];
+ $profile['thumb'] = z_root() . '/photo/profile/m/' . $channel['channel_id'];
+
+ dbesc_array($profile);
+ $r = dbq("INSERT INTO profile (`"
+ . implode("`, `", array_keys($profile))
+ . "`) VALUES ('"
+ . implode("', '", array_values($profile))
+ . "')"
+ );
+ }
+ }
+}
+
+
+function import_hublocs($channel,$hublocs,$seize) {
+
+ if($channel && $hublocs) {
+ foreach($hublocs as $hubloc) {
+
+ $hash = make_xchan_hash($hubloc['hubloc_guid'],$hubloc['hubloc_guid_sig']);
+ if($hubloc['hubloc_network'] === 'zot' && $hash !== $hubloc['hubloc_hash']) {
+ logger('forged hubloc: ' . print_r($hubloc,true));
+ continue;
+ }
+
+ if(! array_key_exists('hubloc_primary',$hubloc)) {
+ $hubloc['hubloc_primary'] = (($hubloc['hubloc_flags'] & 0x0001) ? 1 : 0);
+ $hubloc['hubloc_orphancheck'] = (($hubloc['hubloc_flags'] & 0x0004) ? 1 : 0);
+ $hubloc['hubloc_error'] = (($hubloc['hubloc_status'] & 0x0003) ? 1 : 0);
+ $hubloc['hubloc_deleted'] = (($hubloc['hubloc_flags'] & 0x1000) ? 1 : 0);
+ }
+
+ $arr = array(
+ 'guid' => $hubloc['hubloc_guid'],
+ 'guid_sig' => $hubloc['hubloc_guid_sig'],
+ 'url' => $hubloc['hubloc_url'],
+ 'url_sig' => $hubloc['hubloc_url_sig']
+ );
+ if(($hubloc['hubloc_hash'] === $channel['channel_hash']) && intval($hubloc['hubloc_primary']) && ($seize))
+ $hubloc['hubloc_primary'] = 0;
+
+ if(! zot_gethub($arr)) {
+ unset($hubloc['hubloc_id']);
+ dbesc_array($hubloc);
+
+ $r = dbq("INSERT INTO hubloc (`"
+ . implode("`, `", array_keys($hubloc))
+ . "`) VALUES ('"
+ . implode("', '", array_values($hubloc))
+ . "')"
+ );
+ }
+ }
+ }
+}
+
+
+
+function import_objs($channel,$objs) {
+
+ if($channel && $objs) {
+ foreach($objs as $obj) {
+
+ // if it's the old term format - too hard to support
+ if(! $obj['obj_created'])
+ continue;
+
+ $baseurl = $obj['obj_baseurl'];
+ unset($obj['obj_id']);
+ unset($obj['obj_baseurl']);
+
+ $obj['obj_channel'] = $channel['channel_id'];
+
+ if($baseurl && (strpos($obj['obj_url'],$baseurl . '/thing/') !== false)) {
+ $obj['obj_url'] = str_replace($baseurl,z_root(),$obj['obj_url']);
+ }
+
+ if($obj['obj_imgurl']) {
+ $x = import_xchan_photo($obj['obj_imgurl'],$channel['channel_hash'],true);
+ $obj['obj_imgurl'] = $x[0];
+ }
+
+ dbesc_array($obj);
+
+ $r = dbq("INSERT INTO obj (`"
+ . implode("`, `", array_keys($obj))
+ . "`) VALUES ('"
+ . implode("', '", array_values($obj))
+ . "')"
+ );
+ }
+ }
+}
+
+function sync_objs($channel,$objs) {
+
+ if($channel && $objs) {
+ foreach($objs as $obj) {
+
+ if(array_key_exists('obj_deleted',$obj) && $obj['obj_deleted'] && $obj['obj_obj']) {
+ q("delete from obj where obj_obj = '%s' and obj_channel = %d limit 1",
+ dbesc($obj['obj_obj']),
+ intval($channel['channel_id'])
+ );
+ continue;
+ }
+
+ // if it's the old term format - too hard to support
+ if(! $obj['obj_created'])
+ continue;
+
+ $baseurl = $obj['obj_baseurl'];
+ unset($obj['obj_id']);
+ unset($obj['obj_baseurl']);
+
+ $obj['obj_channel'] = $channel['channel_id'];
+
+ if($baseurl && (strpos($obj['obj_url'],$baseurl . '/thing/') !== false)) {
+ $obj['obj_url'] = str_replace($baseurl,z_root(),$obj['obj_url']);
+ }
+
+ $exists = false;
+
+ $x = q("select * from obj where obj_obj = '%s' and obj_channel = %d limit 1",
+ dbesc($obj['obj_obj']),
+ intval($channel['channel_id'])
+ );
+ if($x) {
+ if($x[0]['obj_edited'] >= $obj['obj_edited'])
+ continue;
+
+ $exists = true;
+ }
+
+ if($obj['obj_imgurl']) {
+ $x = import_xchan_photo($obj['obj_imgurl'],$channel['channel_hash'],true);
+ $obj['obj_imgurl'] = $x[0];
+ }
+
+ $hash = $obj['obj_obj'];
+
+ if($exists) {
+ foreach($obj as $k => $v) {
+ $r = q("UPDATE obj SET `%s` = '%s' WHERE obj_obj = '%s' AND obj_channel = %d",
+ dbesc($k),
+ dbesc($v),
+ dbesc($hash),
+ intval($channel['channel_id'])
+ );
+ }
+ }
+ else {
+
+ dbesc_array($obj);
+
+ $r = dbq("INSERT INTO obj (`"
+ . implode("`, `", array_keys($obj))
+ . "`) VALUES ('"
+ . implode("', '", array_values($obj))
+ . "')"
+ );
+ }
+ }
+ }
+}
+
+
+
+
+
+function import_apps($channel,$apps) {
+
+ if($channel && $apps) {
+ foreach($apps as $app) {
+
+ unset($app['id']);
+ unset($app['app_channel']);
+
+ $app['app_channel'] = $channel['channel_id'];
+
+ if($app['app_photo']) {
+ $x = import_xchan_photo($app['app_photo'],$channel['channel_hash'],true);
+ $app['app_photo'] = $x[0];
+ }
+
+ dbesc_array($app);
+ $r = dbq("INSERT INTO app (`"
+ . implode("`, `", array_keys($app))
+ . "`) VALUES ('"
+ . implode("', '", array_values($app))
+ . "')"
+ );
+ }
+ }
+} \ No newline at end of file
diff --git a/include/importdoc.php b/include/importdoc.php
new file mode 100755
index 000000000..10f868697
--- /dev/null
+++ b/include/importdoc.php
@@ -0,0 +1,41 @@
+<?php
+
+
+
+require_once('include/cli_startup.php');
+
+
+function importdoc_run($argv, $argc){
+
+ cli_startup();
+
+ require_once('mod/help.php');
+
+
+ update_docs_dir('doc/*');
+
+}
+if (array_search(__file__,get_included_files())===0){
+ importdoc_run($argv,$argc);
+ killme();
+}
+
+function update_docs_dir($s) {
+ $f = basename($s);
+ $d = dirname($s);
+ if($s === 'doc/html')
+ return;
+ $files = glob("$d/$f");
+ if($files) {
+ foreach($files as $fi) {
+ if($fi === 'doc/html')
+ continue;
+ if(is_dir($fi))
+ update_docs_dir("$fi/*");
+ else
+ store_doc_file($fi);
+ }
+ }
+}
+
+
diff --git a/include/items.php b/include/items.php
index 01b4a3460..9807831e3 100755
--- a/include/items.php
+++ b/include/items.php
@@ -42,9 +42,8 @@ function collect_recipients($item, &$private_envelope) {
// as that would allow the denied person to see the post by logging out.
if((! $item['allow_cid']) && (! $item['allow_gid'])) {
- $r = q("select * from abook where abook_channel = %d and not (abook_flags & %d)>0 ",
- intval($item['uid']),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED)
+ $r = q("select * from abook where abook_channel = %d and abook_self = 0 and abook_pending = 0 and abook_archived = 0 ",
+ intval($item['uid'])
);
if($r) {
@@ -82,9 +81,8 @@ function collect_recipients($item, &$private_envelope) {
//$sys = get_sys_channel();
if(array_key_exists('public_policy',$item) && $item['public_policy'] !== 'self') {
- $r = q("select abook_xchan, xchan_network from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d)>0 ",
- intval($item['uid']),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED)
+ $r = q("select abook_xchan, xchan_network from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and abook_self = 0 and abook_pending = 0 and abook_archived = 0 ",
+ intval($item['uid'])
);
if($r) {
@@ -192,20 +190,30 @@ function comments_are_now_closed($item) {
return false;
}
+function item_normal() {
+ return " and item.item_hidden = 0 and item.item_type = 0 and item.item_deleted = 0
+ and item.item_unpublished = 0 and item.item_delayed = 0 and item.item_pending_remove = 0
+ and item.item_blocked = 0 ";
+}
+
/**
* @brief
*
* This is a compatibility function primarily for plugins, because
- * in future hubzilla (and later) DB schemas the definition of a
- * normal item gets a bit more complicated.
+ * in earlier DB schemas this was a much simpler single integer compare
*
*/
function is_item_normal($item) {
- return((intval($item['item_restrict'])) ? false : true);
-}
+ if(intval($item['item_hidden']) || intval($item['item_type']) || intval($item['item_deleted'])
+ || intval($item['item_unpublished']) || intval($item['item_delayed']) || intval($item['item_pending_remove'])
+ || intval($item['item_blocked']))
+ return false;
+ return true;
+
+}
/**
* @brief
@@ -264,6 +272,8 @@ function can_comment_on_post($observer_xchan, $item) {
}
if(strstr($item['comment_policy'],'network:') && strstr($item['comment_policy'],'red'))
return true;
+ if(strstr($item['comment_policy'],'network:') && strstr($item['comment_policy'],'diaspora'))
+ return true;
if(strstr($item['comment_policy'],'site:') && strstr($item['comment_policy'],get_app()->get_hostname()))
return true;
@@ -396,12 +406,12 @@ function post_activity_item($arr) {
if((($arr['parent']) && $arr['parent'] != $arr['id']) || (($arr['parent_mid']) && $arr['parent_mid'] != $arr['mid']))
$is_comment = true;
- if(! x($arr,'item_flags')) {
- if($is_comment)
- $arr['item_flags'] = ITEM_ORIGIN;
- else
- $arr['item_flags'] = ITEM_ORIGIN | ITEM_WALL | ITEM_THREAD_TOP;
- }
+ if(! array_key_exists('item_origin',$arr))
+ $arr['item_origin'] = 1;
+ if(! array_key_exists('item_wall',$arr) && (! $is_comment))
+ $arr['item_wall'] = 1;
+ if(! array_key_exists('item_thread_top',$arr) && (! $is_comment))
+ $arr['item_thread_top'] = 1;
$channel = get_app()->get_channel();
$observer = get_app()->get_observer();
@@ -428,17 +438,9 @@ function post_activity_item($arr) {
if($channel) {
if($channel['channel_hash'] === $arr['author_xchan']) {
$arr['sig'] = base64url_encode(rsa_sign($arr['body'],$channel['channel_prvkey']));
- $arr['item_flags'] = $arr['item_flags'] | ITEM_VERIFIED;
+ $arr['item_verified'] = 1;
}
}
-
- logger('Encrypting local storage');
- $key = get_config('system','pubkey');
- $arr['item_flags'] = $arr['item_flags'] | ITEM_OBSCURED;
- if($arr['title'])
- $arr['title'] = json_encode(crypto_encapsulate($arr['title'],$key));
- if($arr['body'])
- $arr['body'] = json_encode(crypto_encapsulate($arr['body'],$key));
}
$arr['mid'] = ((x($arr,'mid')) ? $arr['mid'] : item_message_id());
@@ -460,7 +462,7 @@ function post_activity_item($arr) {
$arr['comment_policy'] = map_scope($channel['channel_w_comment']);
- if ((! $arr['plink']) && ($arr['item_flags'] & ITEM_THREAD_TOP)) {
+ if ((! $arr['plink']) && (intval($arr['item_thread_top']))) {
$arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
}
@@ -495,6 +497,32 @@ function post_activity_item($arr) {
return $ret;
}
+
+function validate_item_elements($message,$arr) {
+
+ $result = array('success' => false);
+
+ if(! array_key_exists('created',$arr))
+ $result['message'] = 'missing created, possible author/owner lookup failure';
+
+ if((! $arr['mid']) || (! $arr['parent_mid']))
+ $result['message'] = 'missing message-id or parent message-id';
+
+ if(array_key_exists('flags',$message) && in_array('relay',$message['flags']) && $arr['mid'] === $arr['parent_mid'])
+ $result['message'] = 'relay set on top level post';
+
+ if(! $result['message'])
+ $result['success'] = true;
+
+ return $result;
+
+}
+
+
+
+
+
+
/**
* @brief Generate an Atom feed.
*
@@ -869,7 +897,8 @@ function get_item_elements($x) {
if(array_key_exists('diaspora_signature',$x) && is_array($x['diaspora_signature']))
$x['diaspora_signature'] = json_encode($x['diaspora_signature']);
- $arr['diaspora_meta'] = (($x['diaspora_signature']) ? json_encode(crypto_encapsulate($x['diaspora_signature'],$key)) : '');
+ $arr['diaspora_meta'] = (($x['diaspora_signature']) ? $x['diaspora_signature'] : '');
+
$arr['object'] = activity_sanitise($x['object']);
$arr['target'] = activity_sanitise($x['target']);
@@ -881,11 +910,12 @@ function get_item_elements($x) {
$arr['item_flags'] = 0;
if(array_key_exists('flags',$x) && in_array('consensus',$x['flags']))
- $arr['item_flags'] |= ITEM_CONSENSUS;
+ $arr['item_consensus'] = 1;
+
if(array_key_exists('flags',$x) && in_array('deleted',$x['flags']))
- $arr['item_restrict'] |= ITEM_DELETED;
+ $arr['item_deleted'] = 1;
if(array_key_exists('flags',$x) && in_array('hidden',$x['flags']))
- $arr['item_restrict'] |= ITEM_HIDDEN;
+ $arr['item_hidden'] = 1;
// Here's the deal - the site might be down or whatever but if there's a new person you've never
// seen before sending stuff to your stream, we MUST be able to look them up and import their data from their
@@ -913,27 +943,13 @@ function get_item_elements($x) {
dbesc($arr['author_xchan'])
);
if($r && rsa_verify($x['body'],base64url_decode($arr['sig']),$r[0]['xchan_pubkey']))
- $arr['item_flags'] |= ITEM_VERIFIED;
+ $arr['item_verified'] = 1;
else
logger('get_item_elements: message verification failed.');
}
-
- // if it's a private post, encrypt it in the DB.
- // We have to do that here because we need to cleanse the input and prevent bad stuff from getting in,
- // and we need plaintext to do that.
-
-
- if(intval($arr['item_private'])) {
- $arr['item_flags'] = $arr['item_flags'] | ITEM_OBSCURED;
- if($arr['title'])
- $arr['title'] = json_encode(crypto_encapsulate($arr['title'],$key));
- if($arr['body'])
- $arr['body'] = json_encode(crypto_encapsulate($arr['body'],$key));
- }
-
-
if(array_key_exists('revision',$x)) {
+
// extended export encoding
$arr['revision'] = $x['revision'];
@@ -945,9 +961,79 @@ function get_item_elements($x) {
$arr['postopts'] = $x['postopts'];
$arr['resource_id'] = $x['resource_id'];
$arr['resource_type'] = $x['resource_type'];
- $arr['item_restrict'] = $x['item_restrict'];
- $arr['item_flags'] = $x['item_flags'];
$arr['attach'] = $x['attach'];
+ $arr['item_origin'] = $x['item_origin'];
+ $arr['item_unseen'] = $x['item_unseen'];
+ $arr['item_starred'] = $x['item_starred'];
+ $arr['item_uplink'] = $x['item_uplink'];
+ $arr['item_consensus'] = $x['item_consensus'];
+ $arr['item_wall'] = $x['item_wall'];
+ $arr['item_thread_top'] = $x['item_thread_top'];
+ $arr['item_notshown'] = $x['item_notshown'];
+ $arr['item_nsfw'] = $x['item_nsfw'];
+ // local only $arr['item_relay'] = $x['item_relay'];
+ $arr['item_mentionsme'] = $x['item_mentionsme'];
+ $arr['item_nocomment'] = $x['item_nocomment'];
+ // local only $arr['item_obscured'] = $x['item_obscured'];
+ // local only $arr['item_verified'] = $x['item_verified'];
+ $arr['item_retained'] = $x['item_retained'];
+ $arr['item_rss'] = $x['item_rss'];
+ $arr['item_deleted'] = $x['item_deleted'];
+ $arr['item_type'] = $x['item_type'];
+ $arr['item_hidden'] = $x['item_hidden'];
+ $arr['item_unpublished'] = $x['item_unpublished'];
+ $arr['item_delayed'] = $x['item_delayed'];
+ $arr['item_pending_remove'] = $x['item_pending_remove'];
+ $arr['item_blocked'] = $x['item_blocked'];
+ if(array_key_exists('item_flags',$x)) {
+ if($x['item_flags'] & 0x0004)
+ $arr['item_starred'] = 1;
+ if($x['item_flags'] & 0x0008)
+ $arr['item_uplink'] = 1;
+ if($x['item_flags'] & 0x0010)
+ $arr['item_consensus'] = 1;
+ if($x['item_flags'] & 0x0020)
+ $arr['item_wall'] = 1;
+ if($x['item_flags'] & 0x0040)
+ $arr['item_thread_top'] = 1;
+ if($x['item_flags'] & 0x0080)
+ $arr['item_notshown'] = 1;
+ if($x['item_flags'] & 0x0100)
+ $arr['item_nsfw'] = 1;
+ if($x['item_flags'] & 0x0400)
+ $arr['item_mentionsme'] = 1;
+ if($x['item_flags'] & 0x0800)
+ $arr['item_nocomment'] = 1;
+ if($x['item_flags'] & 0x4000)
+ $arr['item_retained'] = 1;
+ if($x['item_flags'] & 0x8000)
+ $arr['item_rss'] = 1;
+
+ }
+ if(array_key_exists('item_restrict',$x)) {
+ if($x['item_restrict'] & 0x0001)
+ $arr['item_hidden'] = 1;
+ if($x['item_restrict'] & 0x0002)
+ $arr['item_blocked'] = 1;
+ if($x['item_restrict'] & 0x0010)
+ $arr['item_deleted'] = 1;
+ if($x['item_restrict'] & 0x0020)
+ $arr['item_unpublished'] = 1;
+ if($x['item_restrict'] & 0x0040)
+ $arr['item_type'] = ITEM_TYPE_WEBPAGE;
+ if($x['item_restrict'] & 0x0080)
+ $arr['item_delayed'] = 1;
+ if($x['item_restrict'] & 0x0100)
+ $arr['item_type'] = ITEM_TYPE_BLOCK;
+ if($x['item_restrict'] & 0x0200)
+ $arr['item_type'] = ITEM_TYPE_PDL;
+ if($x['item_restrict'] & 0x0400)
+ $arr['item_type'] = ITEM_TYPE_BUG;
+ if($x['item_restrict'] & 0x0800)
+ $arr['item_pending_remove'] = 1;
+ if($x['item_restrict'] & 0x1000)
+ $arr['item_type'] = ITEM_TYPE_DOC;
+ }
}
return $arr;
@@ -1041,7 +1127,7 @@ function import_author_rss($x) {
if($r && $x['photo']) {
- $photos = import_profile_photo($x['photo']['src'],$x['url']);
+ $photos = import_xchan_photo($x['photo']['src'],$x['url']);
if($photos) {
/** @bug $arr is undefined in this SQL query */
@@ -1086,7 +1172,7 @@ function import_author_unknown($x) {
);
if($r && $x['photo']) {
- $photos = import_profile_photo($x['photo']['src'],$x['url']);
+ $photos = import_xchan_photo($x['photo']['src'],$x['url']);
if($photos) {
/** @bug $arr is undefined in this SQL query */
@@ -1130,7 +1216,7 @@ function encode_item($item,$mirror = false) {
$key = get_config('system','prvkey');
- if(array_key_exists('item_flags',$item) && ($item['item_flags'] & ITEM_OBSCURED)) {
+ if(array_key_exists('item_obscured',$item) && intval($item['item_obscured'])) {
if($item['title'])
$item['title'] = crypto_unencapsulate(json_decode_plus($item['title']),$key);
if($item['body'])
@@ -1153,67 +1239,30 @@ function encode_item($item,$mirror = false) {
$x['postopts'] = $item['postopts'];
$x['resource_id'] = $item['resource_id'];
$x['resource_type'] = $item['resource_type'];
- $x['item_restrict'] = $item['item_restrict'];
- $x['item_flags'] = $item['item_flags'];
- $x['item_unseen'] = $item['item_unseen'];
$x['attach'] = $item['attach'];
- if(array_key_exists('item_starred',$item) && intval($item['item_starred']))
- $x['item_flags'] |= ITEM_STARRED;
- if(array_key_exists('item_uplink',$item) && intval($item['item_uplink']))
- $x['item_flags'] |= ITEM_UPLINK;
- if(array_key_exists('item_consensus',$item) && intval($item['item_consensus']))
- $x['item_flags'] |= ITEM_CONSENSUS;
- if(array_key_exists('item_wall',$item) && intval($item['item_wall']))
- $x['item_flags'] |= ITEM_WALL;
- if(array_key_exists('item_thread_top',$item) && intval($item['item_thread_top']))
- $x['item_flags'] |= ITEM_THREAD_TOP;
- if(array_key_exists('item_notshown',$item) && intval($item['item_notshown']))
- $x['item_flags'] |= ITEM_NOTSHOWN;
- if(array_key_exists('item_nsfw',$item) && intval($item['item_nsfw']))
- $x['item_flags'] |= ITEM_NSFW;
- if(array_key_exists('item_mentionsme',$item) && intval($item['item_mentionsme']))
- $x['item_flags'] |= ITEM_MENTIONSME;
- if(array_key_exists('item_nocomment',$item) && intval($item['item_nocomment']))
- $x['item_flags'] |= ITEM_NOCOMMENT;
- if(array_key_exists('item_retained',$item) && intval($item['item_retained']))
- $x['item_flags'] |= ITEM_RETAINED;
- if(array_key_exists('item_rss',$item) && intval($item['item_rss']))
- $x['item_flags'] |= ITEM_RSS;
- if(array_key_exists('item_deleted',$item) && intval($item['item_deleted']))
- $x['item_restrict'] |= ITEM_DELETED;
- if(array_key_exists('item_hidden',$item) && intval($item['item_hidden']))
- $x['item_restrict'] |= ITEM_HIDDEN;
- if(array_key_exists('item_unpublished',$item) && intval($item['item_unpublished']))
- $x['item_restrict'] |= ITEM_UNPUBLISHED;
- if(array_key_exists('item_delayed',$item) && intval($item['item_delayed']))
- $x['item_restrict'] |= ITEM_DELAYED_PUBLISH;
- if(array_key_exists('item_pending_remove',$item) && intval($item['item_pending_remove']))
- $x['item_restrict'] |= ITEM_PENDING_REMOVE;
- if(array_key_exists('item_blocked',$item) && intval($item['item_blocked']))
- $x['item_flags'] |= ITEM_BLOCKED;
- if(array_key_exists('item_',$item) && intval($item['item_']))
- $x['item_flags'] |= ITEM_;
- if(array_key_exists('item_type',$item) && intval($item['item_type'])) {
- switch(intval($item['item_type'])) {
- case 1:
- $x['item_restrict'] |= ITEM_BUILDBLOCK;
- break;
- case 2:
- $x['item_restrict'] |= ITEM_PDL;
- break;
- case 3:
- $x['item_restrict'] |= ITEM_WEBPAGE;
- break;
- case 4:
- $x['item_restrict'] |= ITEM_BUG;
- break;
- case 5:
- $x['item_restrict'] |= ITEM_DOC;
- break;
- default:
- break;
- }
- }
+ $x['item_origin'] = $item['item_origin'];
+ $x['item_unseen'] = $item['item_unseen'];
+ $x['item_starred'] = $item['item_starred'];
+ $x['item_uplink'] = $item['item_uplink'];
+ $x['item_consensus'] = $item['item_consensus'];
+ $x['item_wall'] = $item['item_wall'];
+ $x['item_thread_top'] = $item['item_thread_top'];
+ $x['item_notshown'] = $item['item_notshown'];
+ $x['item_nsfw'] = $item['item_nsfw'];
+ $x['item_relay'] = $item['item_relay'];
+ $x['item_mentionsme'] = $item['item_mentionsme'];
+ $x['item_nocomment'] = $item['item_nocomment'];
+ $x['item_obscured'] = $item['item_obscured'];
+ $x['item_verified'] = $item['item_verified'];
+ $x['item_retained'] = $item['item_retained'];
+ $x['item_rss'] = $item['item_rss'];
+ $x['item_deleted'] = $item['item_deleted'];
+ $x['item_type'] = $item['item_type'];
+ $x['item_hidden'] = $item['item_hidden'];
+ $x['item_unpublished'] = $item['item_unpublished'];
+ $x['item_delayed'] = $item['item_delayed'];
+ $x['item_pending_remove'] = $item['item_pending_remove'];
+ $x['item_blocked'] = $item['item_blocked'];
}
@@ -1254,7 +1303,7 @@ function encode_item($item,$mirror = false) {
$x['public_scope'] = $scope;
- if($item['item_flags'] & ITEM_NOCOMMENT)
+ if($item['item_nocomment'])
$x['comment_scope'] = 'none';
else
$x['comment_scope'] = $c_scope;
@@ -1262,9 +1311,17 @@ function encode_item($item,$mirror = false) {
if($item['term'])
$x['tags'] = encode_item_terms($item['term']);
- if($item['diaspora_meta'])
- $x['diaspora_signature'] = crypto_unencapsulate(json_decode($item['diaspora_meta'],true),$key);
-
+ if($item['diaspora_meta']) {
+ $z = json_decode($item['diaspora_meta'],true);
+ if($z) {
+ if(is_array($z) && array_key_exists('iv',$z))
+ $x['diaspora_signature'] = crypto_unencapsulate($z,$key);
+ else
+ $x['diaspora_signature'] = $z;
+ if(! is_array($z))
+ logger('encode_item: diaspora meta is not an array: ' . print_r($z,true));
+ }
+ }
logger('encode_item: ' . print_r($x,true), LOGGER_DATA);
return $x;
@@ -1477,17 +1534,17 @@ function encode_item_flags($item) {
$ret = array();
- if($item['item_restrict'] & ITEM_DELETED)
+ if(intval($item['item_deleted']))
$ret[] = 'deleted';
- if($item['item_restrict'] & ITEM_HIDDEN)
+ if(intval($item['item_hidden']))
$ret[] = 'hidden';
- if($item['item_flags'] & ITEM_THREAD_TOP)
+ if(intval($item['item_thread_top']))
$ret[] = 'thread_parent';
- if($item['item_flags'] & ITEM_NSFW)
+ if(intval($item['item_nsfw']))
$ret[] = 'nsfw';
- if($item['item_flags'] & ITEM_CONSENSUS)
+ if(intval($item['item_consensus']))
$ret[] = 'consensus';
- if($item['item_private'])
+ if(intval($item['item_private']))
$ret[] = 'private';
return $ret;
@@ -1498,12 +1555,11 @@ function encode_mail($item) {
$x['type'] = 'mail';
$x['encoding'] = 'zot';
- if(array_key_exists('mail_flags',$item) && ($item['mail_flags'] & MAIL_OBSCURED)) {
- $key = get_config('system','prvkey');
+ if(array_key_exists('mail_obscured',$item) && intval($item['mail_obscured'])) {
if($item['title'])
- $item['title'] = crypto_unencapsulate(json_decode_plus($item['title']),$key);
+ $item['title'] = base64url_decode(str_rot47($item['title']));
if($item['body'])
- $item['body'] = crypto_unencapsulate(json_decode_plus($item['body']),$key);
+ $item['body'] = base64url_decode(str_rot47($item['body']));
}
$x['message_id'] = $item['mid'];
@@ -1521,7 +1577,7 @@ function encode_mail($item) {
$x['flags'] = array();
- if($item['mail_flags'] & MAIL_RECALLED) {
+ if(intval($item['mail_recalled'])) {
$x['flags'][] = 'recalled';
$x['title'] = '';
$x['body'] = '';
@@ -1549,19 +1605,19 @@ function get_mail_elements($x) {
if($x['flags'] && is_array($x['flags'])) {
if(in_array('recalled',$x['flags'])) {
- $arr['mail_flags'] |= MAIL_RECALLED;
+ $arr['mail_recalled'] = 1;
}
}
$key = get_config('system','pubkey');
- $arr['mail_flags'] |= MAIL_OBSCURED;
- $arr['body'] = htmlspecialchars($arr['body'],ENT_COMPAT,'UTF-8',false);
- if($arr['body'])
- $arr['body'] = json_encode(crypto_encapsulate($arr['body'],$key));
- $arr['title'] = htmlspecialchars($arr['title'],ENT_COMPAT,'UTF-8',false);
- if($arr['title'])
- $arr['title'] = json_encode(crypto_encapsulate($arr['title'],$key));
+ $arr['mail_obscured'] = 1;
+ if($arr['body']) {
+ $arr['body'] = str_rot47(base64url_encode($arr['body']));
+ }
+ if($arr['title']) {
+ $arr['title'] = str_rot47(base64url_encode($arr['title']));
+ }
if($arr['created'] > datetime_convert())
$arr['created'] = datetime_convert();
@@ -1643,7 +1699,7 @@ function get_atom_elements($feed, $item, &$author) {
$res['title'] = unxmlify($item->get_title());
$res['body'] = unxmlify($item->get_content());
$res['plink'] = unxmlify($item->get_link(0));
- $res['item_flags'] = ITEM_RSS;
+ $res['item_rss'] = 1;
// removing the content of the title if its identically to the body
@@ -2083,11 +2139,11 @@ function item_store($arr, $allow_exec = false) {
// If a page layout is provided, ensure it exists and belongs to us.
if(array_key_exists('layout_mid',$arr) && $arr['layout_mid']) {
- $l = q("select item_restrict from item where mid = '%s' and uid = %d limit 1",
+ $l = q("select item_type from item where mid = '%s' and uid = %d limit 1",
dbesc($arr['layout_mid']),
intval($arr['uid'])
);
- if((! $l) || (! ($l[0]['item_restrict'] & ITEM_PDL)))
+ if((! $l) || (! ($l[0]['item_type'] != ITEM_TYPE_PDL)))
unset($arr['layout_mid']);
}
@@ -2116,12 +2172,13 @@ function item_store($arr, $allow_exec = false) {
$arr['deny_cid'] = ((x($arr,'deny_cid')) ? trim($arr['deny_cid']) : '');
$arr['deny_gid'] = ((x($arr,'deny_gid')) ? trim($arr['deny_gid']) : '');
$arr['item_private'] = ((x($arr,'item_private')) ? intval($arr['item_private']) : 0 );
- $arr['item_flags'] = ((x($arr,'item_flags')) ? intval($arr['item_flags']) : 0 );
+ $arr['item_wall'] = ((x($arr,'item_wall')) ? intval($arr['item_wall']) : 0 );
+ $arr['item_type'] = ((x($arr,'item_type')) ? intval($arr['item_type']) : 0 );
// only detect language if we have text content, and if the post is private but not yet
// obscured, make it so.
- if(! ($arr['item_flags'] & ITEM_OBSCURED)) {
+ if((! array_key_exists('item_obscured',$arr)) || $arr['item_obscured'] == 0) {
$arr['lang'] = detect_language($arr['body']);
// apply the input filter here - if it is obscured it has been filtered already
@@ -2131,7 +2188,7 @@ function item_store($arr, $allow_exec = false) {
$channel = get_app()->get_channel();
if($channel['channel_hash'] === $arr['author_xchan']) {
$arr['sig'] = base64url_encode(rsa_sign($arr['body'],$channel['channel_prvkey']));
- $arr['item_flags'] |= ITEM_VERIFIED;
+ $arr['item_verified'] = 1;
}
}
@@ -2147,14 +2204,6 @@ function item_store($arr, $allow_exec = false) {
}
$arr = $translate['item'];
}
- if($arr['item_private']) {
- $key = get_config('system','pubkey');
- $arr['item_flags'] = $arr['item_flags'] | ITEM_OBSCURED;
- if($arr['title'])
- $arr['title'] = json_encode(crypto_encapsulate($arr['title'],$key));
- if($arr['body'])
- $arr['body'] = json_encode(crypto_encapsulate($arr['body'],$key));
- }
}
if((x($arr,'object')) && is_array($arr['object'])) {
@@ -2196,16 +2245,16 @@ function item_store($arr, $allow_exec = false) {
$arr['plink'] = ((x($arr,'plink')) ? notags(trim($arr['plink'])) : '');
$arr['attach'] = ((x($arr,'attach')) ? notags(trim($arr['attach'])) : '');
$arr['app'] = ((x($arr,'app')) ? notags(trim($arr['app'])) : '');
- $arr['item_restrict'] = ((x($arr,'item_restrict')) ? intval($arr['item_restrict']) : 0 );
$arr['public_policy'] = ((x($arr,'public_policy')) ? notags(trim($arr['public_policy'])) : '' );
$arr['comment_policy'] = ((x($arr,'comment_policy')) ? notags(trim($arr['comment_policy'])) : 'contacts' );
+
+ if(! array_key_exists('item_unseen',$arr))
+ $arr['item_unseen'] = 1;
- $arr['item_unseen'] = ((array_key_exists('item_unseen',$arr)) ? intval($arr['item_unseen']) : 1);
-
- if($arr['comment_policy'] == 'none')
- $arr['item_flags'] = $arr['item_flags'] | ITEM_NOCOMMENT;
+ if((! array_key_exists('item_nocomment',$arr)) && ($arr['comment_policy'] == 'none'))
+ $arr['item_nocomment'] = 1;
// handle time travelers
// Allow a bit of fudge in case somebody just has a slightly slow/fast clock
@@ -2213,7 +2262,7 @@ function item_store($arr, $allow_exec = false) {
$d1 = new DateTime('now +10 minutes', new DateTimeZone('UTC'));
$d2 = new DateTime($arr['created'] . '+00:00');
if($d2 > $d1)
- $arr['item_restrict'] = $arr['item_restrict'] | ITEM_DELAYED_PUBLISH;
+ $arr['item_delayed'] = 1;
$arr['llink'] = z_root() . '/display/' . $arr['mid'];
@@ -2229,7 +2278,7 @@ function item_store($arr, $allow_exec = false) {
$deny_gid = $arr['deny_gid'];
$public_policy = $arr['public_policy'];
$comments_closed = $arr['comments_closed'];
- $arr['item_flags'] = $arr['item_flags'] | ITEM_THREAD_TOP;
+ $arr['item_thread_top'] = 1;
}
else {
@@ -2279,7 +2328,7 @@ function item_store($arr, $allow_exec = false) {
}
$parent_id = $r[0]['id'];
- $parent_deleted = $r[0]['item_restrict'] & ITEM_DELETED;
+ $parent_deleted = $r[0]['item_deleted'];
$allow_cid = $r[0]['allow_cid'];
$allow_gid = $r[0]['allow_gid'];
$deny_cid = $r[0]['deny_cid'];
@@ -2287,8 +2336,8 @@ function item_store($arr, $allow_exec = false) {
$public_policy = $r[0]['public_policy'];
$comments_closed = $r[0]['comments_closed'];
- if($r[0]['item_flags'] & ITEM_WALL)
- $arr['item_flags'] = $arr['item_flags'] | ITEM_WALL;
+ if(intval($r[0]['item_wall']))
+ $arr['item_wall'] = 1;
// An uplinked comment might arrive with a downstream owner.
// Fix it.
@@ -2307,7 +2356,7 @@ function item_store($arr, $allow_exec = false) {
// The original author commented, but as this is a comment, the permissions
// weren't fixed up so it will still show the comment as private unless we fix it here.
- if((intval($r[0]['item_flags']) & ITEM_UPLINK) && (! $r[0]['item_private']))
+ if(intval($r[0]['item_uplink']) && (! $r[0]['item_private']))
$arr['item_private'] = 0;
}
else {
@@ -2318,7 +2367,7 @@ function item_store($arr, $allow_exec = false) {
}
if($parent_deleted)
- $arr['item_restrict'] = $arr['item_restrict'] | ITEM_DELETED;
+ $arr['item_deleted'] = 1;
$r = q("SELECT `id` FROM `item` WHERE `mid` = '%s' AND `uid` = %d LIMIT 1",
dbesc($arr['mid']),
@@ -2430,10 +2479,9 @@ function item_store($arr, $allow_exec = false) {
// update the commented timestamp on the parent
- $z = q("select max(created) as commented from item where parent_mid = '%s' and uid = %d and not ( item_restrict & %d )>0 ",
+ $z = q("select max(created) as commented from item where parent_mid = '%s' and uid = %d and item_delayed = 0 ",
dbesc($arr['parent_mid']),
- intval($arr['uid']),
- intval(ITEM_DELAYED_PUBLISH)
+ intval($arr['uid'])
);
q("UPDATE item set commented = '%s', changed = '%s' WHERE id = %d",
@@ -2448,7 +2496,7 @@ function item_store($arr, $allow_exec = false) {
// so that we have an item in the DB that's marked deleted and won't store a fresh post
// that isn't aware that we were already told to delete it.
- if(! ($arr['item_restrict'] & ITEM_DELETED)) {
+ if(! intval($arr['item_deleted'])) {
send_status_notifications($current_post,$arr);
tag_deliver($arr['uid'],$current_post);
}
@@ -2495,17 +2543,8 @@ function item_store_update($arr,$allow_exec = false) {
// override the unseen flag with the original
- if(intval($arr['item_flags']))
- $arr['item_unseen'] = 0;
-
- if($orig[0]['item_flags'] & ITEM_VERIFIED)
- $orig[0]['item_flags'] = $orig[0]['item_flags'] ^ ITEM_VERIFIED;
-
- if($orig[0]['item_flags'] & ITEM_OBSCURED)
- $orig[0]['item_flags'] = $orig[0]['item_flags'] ^ ITEM_OBSCURED;
+ $arr['item_unseen'] = $orig[0]['item_unseen'];
- $arr['item_flags'] = intval($arr['item_flags']) | $orig[0]['item_flags'];
- $arr['item_restrict'] = intval($arr['item_restrict']) | $orig[0]['item_restrict'];
if(array_key_exists('edit',$arr))
unset($arr['edit']);
@@ -2518,19 +2557,20 @@ function item_store_update($arr,$allow_exec = false) {
return $ret;
}
- if(! ($arr['item_flags'] & ITEM_OBSCURED)) {
+ if((! array_key_exists('item_obscured', $arr)) || $arr['item_obscured'] == 0) {
$arr['lang'] = detect_language($arr['body']);
- // apply the input filter here - if it is obscured it has been filtered already
- $arr['body'] = trim(z_input_filter($arr['uid'],$arr['body'],$arr['mimetype']));
- if(local_channel() && (! $arr['sig'])) {
- $channel = get_app()->get_channel();
- if($channel['channel_hash'] === $arr['author_xchan']) {
- $arr['sig'] = base64url_encode(rsa_sign($arr['body'],$channel['channel_prvkey']));
- $arr['item_flags'] |= ITEM_VERIFIED;
- }
- }
+ // apply the input filter here - if it is obscured it has been filtered already
+ $arr['body'] = trim(z_input_filter($arr['uid'],$arr['body'],$arr['mimetype']));
+
+ if(local_channel() && (! $arr['sig'])) {
+ $channel = get_app()->get_channel();
+ if($channel['channel_hash'] === $arr['author_xchan']) {
+ $arr['sig'] = base64url_encode(rsa_sign($arr['body'],$channel['channel_prvkey']));
+ $arr['item_verified'] = 1;
+ }
+ }
$allowed_languages = get_pconfig($arr['uid'],'system','allowed_languages');
@@ -2544,14 +2584,6 @@ function item_store_update($arr,$allow_exec = false) {
}
$arr = $translate['item'];
}
- if($arr['item_private']) {
- $key = get_config('system','pubkey');
- $arr['item_flags'] = $arr['item_flags'] | ITEM_OBSCURED;
- if($arr['title'])
- $arr['title'] = json_encode(crypto_encapsulate($arr['title'],$key));
- if($arr['body'])
- $arr['body'] = json_encode(crypto_encapsulate($arr['body'],$key));
- }
}
if((x($arr,'object')) && is_array($arr['object'])) {
@@ -2609,13 +2641,38 @@ function item_store_update($arr,$allow_exec = false) {
$arr['deny_gid'] = ((array_key_exists('deny_gid',$arr)) ? trim($arr['deny_gid']) : $orig[0]['deny_gid']);
$arr['item_private'] = ((array_key_exists('item_private',$arr)) ? intval($arr['item_private']) : $orig[0]['item_private']);
- $arr['title'] = ((array_key_exists('title',$arr)) ? trim($arr['title']) : $orig[0]['title']);
- $arr['body'] = ((array_key_exists('body',$arr)) ? trim($arr['body']) : $orig[0]['body']);
+ $arr['title'] = ((array_key_exists('title',$arr) && strlen($arr['title'])) ? trim($arr['title']) : '');
+ $arr['body'] = ((array_key_exists('body',$arr) && strlen($arr['body'])) ? trim($arr['body']) : '');
+ $arr['html'] = ((array_key_exists('html',$arr) && strlen($arr['html'])) ? trim($arr['html']) : '');
+
+ $arr['attach'] = ((array_key_exists('attach',$arr)) ? notags(trim($arr['attach'])) : $orig[0]['attach']);
+ $arr['app'] = ((array_key_exists('app',$arr)) ? notags(trim($arr['app'])) : $orig[0]['app']);
+
+ $arr['item_origin'] = ((array_key_exists('item_origin',$arr)) ? intval($arr['item_origin']) : $orig[0]['item_origin'] );
+ $arr['item_unseen'] = ((array_key_exists('item_unseen',$arr)) ? intval($arr['item_unseen']) : $orig[0]['item_unseen'] );
+ $arr['item_starred'] = ((array_key_exists('item_starred',$arr)) ? intval($arr['item_starred']) : $orig[0]['item_starred'] );
+ $arr['item_uplink'] = ((array_key_exists('item_uplink',$arr)) ? intval($arr['item_uplink']) : $orig[0]['item_uplink'] );
+ $arr['item_consensus'] = ((array_key_exists('item_consensus',$arr)) ? intval($arr['item_consensus']) : $orig[0]['item_consensus'] );
+ $arr['item_wall'] = ((array_key_exists('item_wall',$arr)) ? intval($arr['item_wall']) : $orig[0]['item_wall'] );
+ $arr['item_thread_top'] = ((array_key_exists('item_thread_top',$arr)) ? intval($arr['item_thread_top']) : $orig[0]['item_thread_top'] );
+ $arr['item_notshown'] = ((array_key_exists('item_notshown',$arr)) ? intval($arr['item_notshown']) : $orig[0]['item_notshown'] );
+ $arr['item_nsfw'] = ((array_key_exists('item_nsfw',$arr)) ? intval($arr['item_nsfw']) : $orig[0]['item_nsfw'] );
+ $arr['item_relay'] = ((array_key_exists('item_relay',$arr)) ? intval($arr['item_relay']) : $orig[0]['item_relay'] );
+ $arr['item_mentionsme'] = ((array_key_exists('item_mentionsme',$arr)) ? intval($arr['item_mentionsme']) : $orig[0]['item_mentionsme'] );
+ $arr['item_nocomment'] = ((array_key_exists('item_nocomment',$arr)) ? intval($arr['item_nocomment']) : $orig[0]['item_nocomment'] );
+ $arr['item_obscured'] = ((array_key_exists('item_obscured',$arr)) ? intval($arr['item_obscured']) : $orig[0]['item_obscured'] );
+ $arr['item_verified'] = ((array_key_exists('item_verified',$arr)) ? intval($arr['item_verified']) : $orig[0]['item_verified'] );
+ $arr['item_retained'] = ((array_key_exists('item_retained',$arr)) ? intval($arr['item_retained']) : $orig[0]['item_retained'] );
+ $arr['item_rss'] = ((array_key_exists('item_rss',$arr)) ? intval($arr['item_rss']) : $orig[0]['item_rss'] );
+ $arr['item_deleted'] = ((array_key_exists('item_deleted',$arr)) ? intval($arr['item_deleted']) : $orig[0]['item_deleted'] );
+ $arr['item_type'] = ((array_key_exists('item_type',$arr)) ? intval($arr['item_type']) : $orig[0]['item_type'] );
+ $arr['item_hidden'] = ((array_key_exists('item_hidden',$arr)) ? intval($arr['item_hidden']) : $orig[0]['item_hidden'] );
+ $arr['item_unpublished'] = ((array_key_exists('item_unpublished',$arr)) ? intval($arr['item_unpublished']) : $orig[0]['item_unpublished'] );
+ $arr['item_delayed'] = ((array_key_exists('item_delayed',$arr)) ? intval($arr['item_delayed']) : $orig[0]['item_delayed'] );
+ $arr['item_pending_remove'] = ((array_key_exists('item_pending_remove',$arr)) ? intval($arr['item_pending_remove']) : $orig[0]['item_pending_remove'] );
+ $arr['item_blocked'] = ((array_key_exists('item_blocked',$arr)) ? intval($arr['item_blocked']) : $orig[0]['item_blocked'] );
+
- $arr['attach'] = ((x($arr,'attach')) ? notags(trim($arr['attach'])) : $orig[0]['attach']);
- $arr['app'] = ((x($arr,'app')) ? notags(trim($arr['app'])) : $orig[0]['app']);
-// $arr['item_restrict'] = ((x($arr,'item_restrict')) ? intval($arr['item_restrict']) : $orig[0]['item_restrict'] );
-// $arr['item_flags'] = ((x($arr,'item_flags')) ? intval($arr['item_flags']) : $orig[0]['item_flags'] );
$arr['sig'] = ((x($arr,'sig')) ? $arr['sig'] : '');
$arr['layout_mid'] = ((array_key_exists('layout_mid',$arr)) ? dbesc($arr['layout_mid']) : $orig[0]['layout_mid'] );
@@ -2726,11 +2783,10 @@ function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id,
$x = array('signer' => $diaspora_handle, 'body' => $signed_body, 'signed_text' => $signed_text, 'signature' => base64_encode($authorsig));
- $key = get_config('system','pubkey');
- $y = crypto_encapsulate(json_encode($x),$key);
+ $y = json_encode($x);
$r = q("update item set diaspora_meta = '%s' where id = %d",
- dbesc(json_encode($y)),
+ dbesc($y),
intval($post_id)
);
@@ -2855,8 +2911,8 @@ function tag_deliver($uid, $item_id) {
$item = $i[0];
- if(($item['source_xchan']) && ($item['item_flags'] & ITEM_UPLINK)
- && ($item['item_flags'] & ITEM_THREAD_TOP) && ($item['edited'] != $item['created'])) {
+ if(($item['source_xchan']) && intval($item['item_uplink'])
+ && intval($item['item_thread_top']) && ($item['edited'] != $item['created'])) {
// this is an update (edit) to a post which was already processed by us and has a second delivery chain
// Just start the second delivery chain to deliver the updated post
proc_run('php','include/notifier.php','tgroup',$item['id']);
@@ -2878,7 +2934,7 @@ function tag_deliver($uid, $item_id) {
if($obj['id'] !== $u[0]['channel_hash'])
$poke_notify = false;
}
- if($item['item_restrict'] & ITEM_DELETED)
+ if(intval($item['item_deleted']))
$poke_notify = false;
$verb = urldecode(substr($item['verb'],strpos($item['verb'],'#')+1));
@@ -2955,13 +3011,13 @@ function tag_deliver($uid, $item_id) {
// This might be a followup (e.g. comment) by the original post author to a tagged forum
// If so setup a second delivery chain
- if( ! ($item['item_flags'] & ITEM_THREAD_TOP)) {
+ if( ! intval($item['item_thread_top'])) {
$x = q("select * from item where id = parent and parent = %d and uid = %d limit 1",
intval($item['parent']),
intval($uid)
);
- if(($x) && ($x[0]['item_flags'] & ITEM_UPLINK)) {
+ if(($x) && intval($x[0]['item_uplink'])) {
start_delivery_chain($u[0],$item,$item_id,$x[0]);
}
}
@@ -2989,9 +3045,8 @@ function tag_deliver($uid, $item_id) {
if($mention) {
logger('tag_deliver: mention found for ' . $u[0]['channel_name']);
-
- $r = q("update item set item_flags = ( item_flags | %d ) where id = %d",
- intval(ITEM_MENTIONSME),
+
+ $r = q("update item set item_mentionsme = 1 where id = %d",
intval($item_id)
);
@@ -3001,7 +3056,7 @@ function tag_deliver($uid, $item_id) {
$body = '';
- if($item['item_flags'] & ITEM_OBSCURED) {
+ if(intval($item['item_obscured'])) {
$key = get_config('system','prvkey');
if($item['body'])
$body = crypto_unencapsulate(json_decode_plus($item['body']),$key);
@@ -3085,10 +3140,8 @@ function tag_deliver($uid, $item_id) {
// prevent delivery looping - only proceed
// if the message originated elsewhere and is a top-level post
- if(($item['item_flags'] & ITEM_WALL)
- || ($item['item_flags'] & ITEM_ORIGIN)
- || (!($item['item_flags'] & ITEM_THREAD_TOP))
- || ($item['id'] != $item['parent'])) {
+
+ if(intval($item['item_wall']) || intval($item['item_origin']) || (! intval($item['item_thread_top'])) || ($item['id'] != $item['parent'])) {
logger('tag_deliver: item was local or a comment. rejected.');
return;
}
@@ -3113,10 +3166,9 @@ function tgroup_check($uid,$item) {
// or is a followup and we have already accepted the top level post as an uplink
if($item['mid'] != $item['parent_mid']) {
- $r = q("select id from item where mid = '%s' and uid = %d and ( item_flags & %d )>0 limit 1",
+ $r = q("select id from item where mid = '%s' and uid = %d and item_uplink = 1 limit 1",
dbesc($item['parent_mid']),
- intval($uid),
- intval(ITEM_UPLINK)
+ intval($uid)
);
if($r)
return true;
@@ -3162,7 +3214,7 @@ function tgroup_check($uid,$item) {
$body = $item['body'];
- if(array_key_exists('item_flags',$item) && ($item['item_flags'] & ITEM_OBSCURED) && $body) {
+ if(array_key_exists('item_obscured',$item) && intval($item['item_obscured']) && $body) {
$key = get_config('system','prvkey');
$body = crypto_unencapsulate(json_decode($body,true),$key);
}
@@ -3225,20 +3277,14 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
if((! $private) && $new_public_policy)
$private = 1;
- $flag_bits = $item['item_flags'] | ITEM_WALL;
-
- // The message didn't necessarily originate on this site, (we'll honour it if it did),
- // but the parent post of this thread will be reset as a local post, as it is the top of
- // this delivery chain and is coming from this site, regardless of where the original
- // originated.
- if(! $parent)
- $flag_bits = $flag_bits | ITEM_ORIGIN;
+ $item_wall = 1;
+ $item_origin = 1;
+ $item_uplink = 0;
+ $item_nocomment = 0;
+ $item_obscured = 0;
- // unset the nocomment bit if it's there.
-
- if($flag_bits & ITEM_NOCOMMENT)
- $flag_bits = $flag_bits ^ ITEM_NOCOMMENT;
+ $flag_bits = $item['item_flags'];
// maintain the original source, which will be the original item owner and was stored in source_xchan
// when we created the delivery fork
@@ -3250,7 +3296,7 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
);
}
else {
- $flag_bits = $flag_bits | ITEM_UPLINK;
+ $item_uplink = 1;
$r = q("update item set source_xchan = owner_xchan where id = %d",
intval($item_id)
);
@@ -3259,29 +3305,11 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
$title = $item['title'];
$body = $item['body'];
- if($private) {
- if(!($flag_bits & ITEM_OBSCURED)) {
- $key = get_config('system','pubkey');
- $flag_bits = $flag_bits|ITEM_OBSCURED;
- if($title)
- $title = json_encode(crypto_encapsulate($title,$key));
- if($body)
- $body = json_encode(crypto_encapsulate($body,$key));
- }
- }
- else {
- if($flag_bits & ITEM_OBSCURED) {
- $key = get_config('system','prvkey');
- $flag_bits = $flag_bits ^ ITEM_OBSCURED;
- if($title)
- $title = crypto_unencapsulate(json_decode($title,true),$key);
- if($body)
- $body = crypto_unencapsulate(json_decode($body,true),$key);
- }
- }
-
- $r = q("update item set item_flags = %d, owner_xchan = '%s', allow_cid = '%s', allow_gid = '%s',
- deny_cid = '%s', deny_gid = '%s', item_private = %d, public_policy = '%s', comment_policy = '%s', title = '%s', body = '%s' where id = %d",
+ $r = q("update item set item_uplink = %d, item_nocomment = %d, item_obscured = %d, item_flags = %d, owner_xchan = '%s', allow_cid = '%s', allow_gid = '%s',
+ deny_cid = '%s', deny_gid = '%s', item_private = %d, public_policy = '%s', comment_policy = '%s', title = '%s', body = '%s', item_wall = %d, item_origin = %d where id = %d",
+ intval($item_uplink),
+ intval($item_nocomment),
+ intval($item_obscured),
intval($flag_bits),
dbesc($channel['channel_hash']),
dbesc($channel['channel_allow_cid']),
@@ -3293,6 +3321,8 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
dbesc(map_scope($channel['channel_w_comment'])),
dbesc($title),
dbesc($body),
+ intval($item_wall),
+ $intval($item_origin),
intval($item_id)
);
@@ -3321,7 +3351,7 @@ function check_item_source($uid, $item) {
if(! $r)
return false;
- $x = q("select abook_their_perms, abook_flags from abook where abook_channel = %d and abook_xchan = '%s' limit 1",
+ $x = q("select abook_their_perms, abook_feed from abook where abook_channel = %d and abook_xchan = '%s' limit 1",
intval($uid),
dbesc($item['owner_xchan'])
);
@@ -3332,7 +3362,7 @@ function check_item_source($uid, $item) {
if(! ($x[0]['abook_their_perms'] & PERMS_A_REPUBLISH))
return false;
- if($item['item_private'] && (! ($x[0]['abook_flags'] & ABOOK_FLAG_FEED)))
+ if($item['item_private'] && (! intval($x[0]['abook_feed'])))
return false;
if($r[0]['src_channel_xchan'] === $item['owner_xchan'])
@@ -3450,8 +3480,10 @@ function mail_store($arr) {
return 0;
}
- if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
- $arr['body'] = escape_tags($arr['body']);
+ if(! $arr['mail_obscured']) {
+ if((strpos($arr['body'],'<') !== false) || (strpos($arr['body'],'>') !== false))
+ $arr['body'] = escape_tags($arr['body']);
+ }
if(array_key_exists('attach',$arr) && is_array($arr['attach']))
$arr['attach'] = json_encode($arr['attach']);
@@ -3462,7 +3494,7 @@ function mail_store($arr) {
$arr['to_xchan'] = ((x($arr,'to_xchan')) ? notags(trim($arr['to_xchan'])) : '');
$arr['created'] = ((x($arr,'created') !== false) ? datetime_convert('UTC','UTC',$arr['created']) : datetime_convert());
$arr['expires'] = ((x($arr,'expires') !== false) ? datetime_convert('UTC','UTC',$arr['expires']) : NULL_DATE);
- $arr['title'] = ((x($arr,'title')) ? notags(trim($arr['title'])) : '');
+ $arr['title'] = ((x($arr,'title')) ? trim($arr['title']) : '');
$arr['parent_mid'] = ((x($arr,'parent_mid')) ? notags(trim($arr['parent_mid'])) : '');
$arr['body'] = ((x($arr,'body')) ? trim($arr['body']) : '');
@@ -3617,7 +3649,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
if($r) {
$item = $r[0];
- if(! ($item['item_restrict'] & ITEM_DELETED)) {
+ if(! intval($item['item_deleted'])) {
logger('consume_feed: deleting item ' . $item['id'] . ' mid=' . base64url_decode($item['mid']), LOGGER_DEBUG);
drop_item($item['id'],false);
}
@@ -4115,22 +4147,23 @@ function item_expire($uid,$days) {
$expire_network_only = 1;
+ $sql_extra = ((intval($expire_network_only)) ? " AND item_wall = 0 " : "");
+
$expire_limit = get_config('system','expire_limit');
if(! intval($expire_limit))
$expire_limit = 5000;
- $sql_extra = ((intval($expire_network_only)) ? " AND (item_flags & " . intval(ITEM_WALL) . ") = 0 " : "");
+ $item_normal = item_normal();
$r = q("SELECT * FROM `item`
WHERE `uid` = %d
AND `created` < %s - INTERVAL %s
AND `id` = `parent`
$sql_extra
- AND ( item_flags & %d ) = 0
- AND ( item_restrict = 0 ) LIMIT $expire_limit ",
+ AND item_retained = 0
+ $item_normal LIMIT $expire_limit ",
intval($uid),
- db_utcnow(), db_quoteinterval(intval($days).' DAY'),
- intval(ITEM_RETAINED)
+ db_utcnow(), db_quoteinterval(intval($days).' DAY')
);
if(! $r)
@@ -4154,7 +4187,7 @@ function item_expire($uid,$days) {
retain_item($item['id']);
continue;
}
- if($item['item_flags'] & ITEM_STARRED) {
+ if(intval($item['item_starred'])) {
retain_item($item['id']);
continue;
}
@@ -4166,8 +4199,7 @@ function item_expire($uid,$days) {
}
function retain_item($id) {
- $r = q("update item set item_flags = (item_flags | %d ) where id = %d",
- intval(ITEM_RETAINED),
+ $r = q("update item set item_retained = 1 where id = %d",
intval($id)
);
}
@@ -4212,7 +4244,7 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL,$force = fal
intval($id)
);
- if((! $r) || (($r[0]['item_restrict'] & ITEM_DELETED) && ($stage === DROPITEM_NORMAL))) {
+ if((! $r) || (intval($r[0]['item_deleted']) && ($stage === DROPITEM_NORMAL))) {
if(! $interactive)
return 0;
notice( t('Item not found.') . EOL);
@@ -4248,10 +4280,16 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL,$force = fal
// set the deleted flag immediately on this item just in case the
// hook calls a remote process which loops. We'll delete it properly in a second.
- $r = q("UPDATE item SET item_restrict = ( item_restrict | %d ) WHERE id = %d",
- intval(($linked_item && ! $force) ? ITEM_HIDDEN : ITEM_DELETED),
- intval($item['id'])
- );
+ if(($linked_item) && (! $force)) {
+ $r = q("UPDATE item SET item_hidden = 1 WHERE id = %d",
+ intval($item['id'])
+ );
+ }
+ else {
+ $r = q("UPDATE item SET item_deleted = 1 WHERE id = %d",
+ intval($item['id'])
+ );
+ }
$arr = array('item' => $item, 'interactive' => $interactive, 'stage' => $stage);
call_hooks('drop_item', $arr );
@@ -4280,7 +4318,7 @@ function drop_item($id,$interactive = true,$stage = DROPITEM_NORMAL,$force = fal
// We'll rely on the undocumented behaviour that DROPITEM_PHASE1 is (hopefully) only
// set if we know we're going to send delete notifications out to others.
- if((($item['item_flags'] & ITEM_WALL) && ($stage != DROPITEM_PHASE2)) || ($stage == DROPITEM_PHASE1))
+ if((intval($item['item_wall']) && ($stage != DROPITEM_PHASE2)) || ($stage == DROPITEM_PHASE1))
proc_run('php','include/notifier.php','drop',$notify_id);
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
@@ -4312,9 +4350,8 @@ function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false) {
switch($stage) {
case DROPITEM_PHASE2:
- $r = q("UPDATE item SET item_restrict = ( item_restrict | %d ), body = '', title = '',
+ $r = q("UPDATE item SET item_pending_remove = 1, body = '', title = '',
changed = '%s', edited = '%s' WHERE id = %d",
- intval(ITEM_PENDING_REMOVE),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
intval($item['id'])
@@ -4322,30 +4359,37 @@ function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false) {
break;
case DROPITEM_PHASE1:
- $r = q("UPDATE item SET item_restrict = ( item_restrict | %d ),
- changed = '%s', edited = '%s' WHERE id = %d",
- intval(($linked_item && ! $force) ? ITEM_HIDDEN : ITEM_DELETED),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- intval($item['id'])
- );
+ if($linked_item && ! $force) {
+ $r = q("UPDATE item SET item_hidden = 1,
+ changed = '%s', edited = '%s' WHERE id = %d",
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ intval($item['id'])
+ );
+ }
+ else {
+ $r = q("UPDATE item set item_deleted = 1, changed = '%s', edited = '%s' where id = %d",
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ intval($item['id'])
+ );
+ }
+
break;
case DROPITEM_NORMAL:
default:
if($linked_item && ! $force) {
- $r = q("UPDATE item SET item_restrict = ( item_restrict | %d ),
+ $r = q("UPDATE item SET item_hidden = 1,
changed = '%s', edited = '%s' WHERE id = %d",
- intval(ITEM_HIDDEN),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
intval($item['id'])
);
}
else {
- $r = q("UPDATE item SET item_restrict = ( item_restrict | %d ), body = '', title = '',
+ $r = q("UPDATE item SET item_deleted = 1, body = '', title = '',
changed = '%s', edited = '%s' WHERE id = %d",
- intval(ITEM_DELETED),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
intval($item['id'])
@@ -4390,12 +4434,12 @@ function delete_item_lowlevel($item, $stage = DROPITEM_NORMAL, $force = false) {
function first_post_date($uid,$wall = false) {
- $wall_sql = (($wall) ? sprintf(" and (item_flags & %d)>0 ", ITEM_WALL) : "" );
+ $wall_sql = (($wall) ? " and item_wall = 1 " : "" );
+ $item_normal = item_normal();
$r = q("select id, created from item
- where item_restrict = %d and uid = %d and id = parent $wall_sql
+ where uid = %d and id = parent $item_normal $wall_sql
order by created asc limit 1",
- intval(ITEM_VISIBLE),
intval($uid)
);
@@ -4594,23 +4638,23 @@ function zot_feed($uid,$observer_hash,$arr) {
return array();
}
+ $item_normal = item_normal();
+
if(is_sys_channel($uid)) {
$r = q("SELECT parent, created, postopts from item
WHERE uid != %d
- AND item_private = 0 AND item_restrict = 0 AND uid in (" . stream_perms_api_uids(PERMS_PUBLIC,10,1) . ")
- AND (item_flags & %d) > 0
- $sql_extra GROUP BY parent ORDER BY created ASC $limit",
- intval($uid),
- intval(ITEM_WALL)
+ $item_normal
+ AND item_wall = 1
+ and item_private = 0 $sql_extra GROUP BY parent ORDER BY created ASC $limit",
+ intval($uid)
);
}
else {
$r = q("SELECT parent, created, postopts from item
- WHERE uid = %d AND item_restrict = 0
- AND (item_flags & %d) > 0
+ WHERE uid = %d $item_normal
+ AND item_wall = 1
$sql_extra GROUP BY parent ORDER BY created ASC $limit",
- intval($uid),
- intval(ITEM_WALL)
+ intval($uid)
);
}
@@ -4623,10 +4667,10 @@ function zot_feed($uid,$observer_hash,$arr) {
$parents_str = ids_to_querystr($r,'parent');
$sys_query = ((is_sys_channel($uid)) ? $sql_extra : '');
+ $item_normal = item_normal();
$items = q("SELECT `item`.*, `item`.`id` AS `item_id` FROM `item`
- WHERE `item`.`item_restrict` = 0
- AND `item`.`parent` IN ( %s ) $sys_query ",
+ WHERE `item`.`parent` IN ( %s ) $item_normal $sys_query ",
dbesc($parents_str)
);
}
@@ -4664,6 +4708,8 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
$def_acl = '';
$item_uids = ' true ';
+ $item_normal = item_normal();
+
if ($arr['uid']) $uid= $arr['uid'];
@@ -4674,13 +4720,13 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
if($arr['star'])
- $sql_options .= " and (item_flags & " . intval(ITEM_STARRED) . ")>0 ";
+ $sql_options .= " and item_starred = 1 ";
if($arr['wall'])
- $sql_options .= " and (item_flags & " . intval(ITEM_WALL) . ")>0 ";
-
- $sql_extra = " AND item.parent IN ( SELECT parent FROM item WHERE (item_flags & " . intval(ITEM_THREAD_TOP) . ")>0 $sql_options ) ";
-
+ $sql_options .= " and item_wall = 1 ";
+
+ $sql_extra = " AND item.parent IN ( SELECT parent FROM item WHERE item_thread_top = 1 $sql_options ) ";
+
if($arr['since_id'])
$sql_extra .= " and item.id > " . $since_id . " ";
@@ -4710,19 +4756,19 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
return $result;
}
- $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str)) or allow_gid like '" . protect_sprintf('%<' . dbesc($r[0]['hash']) . '>%') . "' ) and id = parent and item_restrict = 0 ) ";
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str)) or allow_gid like '" . protect_sprintf('%<' . dbesc($r[0]['hash']) . '>%') . "' ) and id = parent $item_normal ) ";
$x = group_rec_byhash($uid,$r[0]['hash']);
$result['headline'] = sprintf( t('Collection: %s'),$x['name']);
}
elseif($arr['cid'] && $uid) {
- $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ")>0 limit 1",
+ $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and abook_blocked = 0 limit 1",
intval($arr['cid']),
intval(local_channel())
);
if ($r) {
- $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval($arr['uid']) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) and item_restrict = 0 ) ";
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval($arr['uid']) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) $item_normal ) ";
$result['headline'] = sprintf( t('Connection: %s'),$r[0]['xchan_name']);
} else {
$result['message'] = t('Connection not found.');
@@ -4743,24 +4789,24 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
if($arr['search']) {
- if(strpos($arr['search'],'#') === 0)
- $sql_extra .= term_query('item',substr($arr['search'],1),TERM_HASHTAG);
- else
- $sql_extra .= sprintf(" AND item.body like '%s' ",
- dbesc(protect_sprintf('%' . $arr['search'] . '%'))
- );
- }
- if (strlen($arr['file'])) {
- $sql_extra .= term_query('item',$arr['files'],TERM_FILE);
- }
+ if(strpos($arr['search'],'#') === 0)
+ $sql_extra .= term_query('item',substr($arr['search'],1),TERM_HASHTAG);
+ else
+ $sql_extra .= sprintf(" AND item.body like '%s' ",
+ dbesc(protect_sprintf('%' . $arr['search'] . '%'))
+ );
+ }
- if ($arr['conv'] && $channel) {
- $sql_extra .= sprintf(" AND parent IN (SELECT distinct parent from item where ( author_xchan like '%s' or ( item_flags & %d )>0)) ",
- dbesc(protect_sprintf($uidhash)),
- intval(ITEM_MENTIONSME)
- );
- }
+ if(strlen($arr['file'])) {
+ $sql_extra .= term_query('item',$arr['files'],TERM_FILE);
+ }
+
+ if($arr['conv'] && $channel) {
+ $sql_extra .= sprintf(" AND parent IN (SELECT distinct parent from item where ( author_xchan like '%s' or item_mentionsme = 1 )) ",
+ dbesc(protect_sprintf($uidhash))
+ );
+ }
if (($client_mode & CLIENT_MODE_UPDATE) && (! ($client_mode & CLIENT_MODE_LOAD))) {
// only setup pagination on initial page view
@@ -4795,19 +4841,19 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
}
}
- $simple_update = (($client_mode & CLIENT_MODE_UPDATE) ? " and ( item.item_unseen = 1 ) " : '');
- if ($client_mode & CLIENT_MODE_LOAD)
- $simple_update = '';
+ $simple_update = (($client_mode & CLIENT_MODE_UPDATE) ? " and item.item_unseen = 1 " : '');
+ if($client_mode & CLIENT_MODE_LOAD)
+ $simple_update = '';
//$start = dba_timer();
require_once('include/security.php');
$sql_extra .= item_permissions_sql($channel['channel_id'],$observer_hash);
- if ($arr['pages'])
- $item_restrict = " AND (item_restrict & " . ITEM_WEBPAGE . ") ";
+ if($arr['pages'])
+ $item_restrict = " AND item_type = " . ITEM_TYPE_WEBPAGE . " ";
else
- $item_restrict = " AND item_restrict = 0 ";
+ $item_restrict = " AND item_type = 0 ";
if ($arr['nouveau'] && ($client_mode & CLIENT_MODE_LOAD) && $channel) {
// "New Item View" - show all items unthreaded in reverse created date order
@@ -4841,10 +4887,9 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
left join abook on item.author_xchan = abook.abook_xchan
WHERE $item_uids $item_restrict
AND item.parent = item.id
- and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
+ and (abook.abook_blocked = 0 or abook.abook_flags is null)
$sql_extra3 $sql_extra $sql_nets
- ORDER BY item.$ordering DESC $pager_sql ",
- intval(ABOOK_FLAG_BLOCKED)
+ ORDER BY item.$ordering DESC $pager_sql "
);
}
@@ -4853,9 +4898,8 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
$r = q("SELECT item.parent AS item_id FROM item
left join abook on item.author_xchan = abook.abook_xchan
WHERE $item_uids $item_restrict $simple_update
- and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
- $sql_extra3 $sql_extra $sql_nets ",
- intval(ABOOK_FLAG_BLOCKED)
+ and (abook.abook_blocked = 0 or abook.abook_flags is null)
+ $sql_extra3 $sql_extra $sql_nets "
);
}
@@ -4911,12 +4955,14 @@ function update_remote_id($channel,$post_id,$webpage,$pagetitle,$namespace,$remo
if(! $post_id)
return;
- if($webpage & ITEM_WEBPAGE)
+ if($webpage == ITEM_TYPE_WEBPAGE)
$page_type = 'WEBPAGE';
- elseif($webpage & ITEM_BUILDBLOCK)
+ elseif($webpage == ITEM_TYPE_BLOCK)
$page_type = 'BUILDBLOCK';
- elseif($webpage & ITEM_PDL)
+ elseif($webpage == ITEM_TYPE_PDL)
$page_type = 'PDL';
+ elseif($webpage == ITEM_TYPE_DOC)
+ $page_type = 'docfile';
elseif($namespace && $remote_id) {
$page_type = $namespace;
$pagetitle = $remote_id;
diff --git a/include/js_strings.php b/include/js_strings.php
index cae8da5de..a21461a52 100644
--- a/include/js_strings.php
+++ b/include/js_strings.php
@@ -39,7 +39,50 @@ function js_strings() {
'$t14' => t('about a year'),
'$t15' => t('%d years'),
'$t16' => t(' '), // wordSeparator
- '$t17' => ((t('timeago.numbers') != 'timeago.numbers') ? t('timeago.numbers') : '[]')
+ '$t17' => ((t('timeago.numbers') != 'timeago.numbers') ? t('timeago.numbers') : '[]'),
+ '$January' => t('January'),
+ '$February' => t('February'),
+ '$March' => t('March'),
+ '$April' => t('April'),
+ '$May' => t('May','long'),
+ '$June' => t('June'),
+ '$July' => t('July'),
+ '$August' => t('August'),
+ '$September' => t('September'),
+ '$October' => t('October'),
+ '$November' => t('November'),
+ '$December' => t('December'),
+ '$Jan' => t('Jan'),
+ '$Feb' => t('Feb'),
+ '$Mar' => t('Mar'),
+ '$Apr' => t('Apr'),
+ '$MayShort' => t('May','short'),
+ '$Jun' => t('Jun'),
+ '$Jul' => t('Jul'),
+ '$Aug' => t('Aug'),
+ '$Sep' => t('Sep'),
+ '$Oct' => t('Oct'),
+ '$Nov' => t('Nov'),
+ '$Dec' => t('Dec'),
+ '$Sunday' => t('Sunday'),
+ '$Monday' => t('Monday'),
+ '$Tuesday' => t('Tuesday'),
+ '$Wednesday' => t('Wednesday'),
+ '$Thursday' => t('Thursday'),
+ '$Friday' => t('Friday'),
+ '$Saturday' => t('Saturday'),
+ '$Sun' => t('Sun'),
+ '$Mon' => t('Mon'),
+ '$Tue' => t('Tue'),
+ '$Wed' => t('Wed'),
+ '$Thu' => t('Thu'),
+ '$Fri' => t('Fri'),
+ '$Sat' => t('Sat'),
+ '$today' => t('today','calendar'),
+ '$month' => t('month','calendar'),
+ '$week' => t('week','calendar'),
+ '$day' => t('day','calendar'),
+ '$allday' => t('All day','calendar')
));
}
diff --git a/include/menu.php b/include/menu.php
index d20df1d6e..7ed931a59 100644
--- a/include/menu.php
+++ b/include/menu.php
@@ -3,6 +3,7 @@
require_once('include/security.php');
require_once('include/bbcode.php');
+
function menu_fetch($name,$uid,$observer_xchan) {
$sql_options = permissions_sql($uid);
@@ -299,19 +300,18 @@ function menu_add_item($menu_id, $uid, $arr) {
$channel = get_app()->get_channel();
}
- $str_group_allow = perms2str($arr['group_allow']);
- $str_contact_allow = perms2str($arr['contact_allow']);
- $str_group_deny = perms2str($arr['group_deny']);
- $str_contact_deny = perms2str($arr['contact_deny']);
+ $acl = new AccessList($channel);
+ $acl->set_from_array($arr);
+ $p = $acl->get();
$r = q("insert into menu_item ( mitem_link, mitem_desc, mitem_flags, allow_cid, allow_gid, deny_cid, deny_gid, mitem_channel_id, mitem_menu_id, mitem_order ) values ( '%s', '%s', %d, '%s', '%s', '%s', '%s', %d, %d, %d ) ",
dbesc($mitem_link),
dbesc($mitem_desc),
intval($mitem_flags),
- dbesc($str_contact_allow),
- dbesc($str_group_allow),
- dbesc($str_contact_deny),
- dbesc($str_group_deny),
+ dbesc($p['allow_cid']),
+ dbesc($p['allow_gid']),
+ dbesc($p['deny_cid']),
+ dbesc($p['deny_gid']),
intval($uid),
intval($menu_id),
intval($mitem_order)
@@ -341,19 +341,19 @@ function menu_edit_item($menu_id, $uid, $arr) {
$channel = get_app()->get_channel();
}
- $str_group_allow = perms2str($arr['group_allow']);
- $str_contact_allow = perms2str($arr['contact_allow']);
- $str_group_deny = perms2str($arr['group_deny']);
- $str_contact_deny = perms2str($arr['contact_deny']);
+ $acl = new AccessList($channel);
+ $acl->set_from_array($arr);
+ $p = $acl->get();
+
$r = q("update menu_item set mitem_link = '%s', mitem_desc = '%s', mitem_flags = %d, allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', mitem_order = %d where mitem_channel_id = %d and mitem_menu_id = %d and mitem_id = %d",
dbesc($mitem_link),
dbesc($mitem_desc),
intval($mitem_flags),
- dbesc($str_contact_allow),
- dbesc($str_group_allow),
- dbesc($str_contact_deny),
- dbesc($str_group_deny),
+ dbesc($p['allow_cid']),
+ dbesc($p['allow_gid']),
+ dbesc($p['deny_cid']),
+ dbesc($p['deny_gid']),
intval($mitem_order),
intval($uid),
intval($menu_id),
diff --git a/include/message.php b/include/message.php
index bfc92cd6d..396e3162c 100644
--- a/include/message.php
+++ b/include/message.php
@@ -75,13 +75,16 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
$handles = $recip_handle . ';' . $sender_handle;
+ if($subject)
+ $nsubject = str_rot47(base64url_encode($subject));
+
$r = q("insert into conv (uid,guid,creator,created,updated,subject,recips) values(%d, '%s', '%s', '%s', '%s', '%s', '%s') ",
intval(local_channel()),
dbesc($conv_guid),
dbesc($sender_handle),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
- dbesc($subject),
+ dbesc($nsubject),
dbesc($handles)
);
@@ -163,19 +166,18 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
$jattach = (($attachments) ? json_encode($attachments) : '');
- $key = get_config('system','pubkey');
if($subject)
- $subject = json_encode(crypto_encapsulate($subject,$key));
+ $subject = str_rot47(base64url_encode($subject));
if($body)
- $body = json_encode(crypto_encapsulate($body,$key));
+ $body = str_rot47(base64url_encode($body));
- $r = q("INSERT INTO mail ( account_id, convid, mail_flags, channel_id, from_xchan, to_xchan, title, body, attach, mid, parent_mid, created, expires )
+ $r = q("INSERT INTO mail ( account_id, convid, mail_obscured, channel_id, from_xchan, to_xchan, title, body, attach, mid, parent_mid, created, expires )
VALUES ( %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
intval($channel['channel_account_id']),
intval($convid),
- intval(MAIL_OBSCURED),
+ intval(1),
intval($channel['channel_id']),
dbesc($channel['channel_hash']),
dbesc($recipient),
@@ -213,6 +215,12 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
intval($channel['channel_id']),
dbesc('<' . $channel['channel_hash'] . '>')
);
+ $r = q("UPDATE attach SET allow_cid = '%s' WHERE hash = '%s' AND is_photo = 1 and uid = %d and allow_cid = '%s'",
+ dbesc('<' . $recipient . '>'),
+ dbesc($image_uri),
+ intval($channel['channel_id']),
+ dbesc('<' . $channel['channel_hash'] . '>')
+ );
}
}
@@ -242,6 +250,8 @@ function private_messages_list($uid, $mailbox = '', $start = 0, $numitems = 0) {
$where = '';
$limit = '';
+ $t0 = dba_timer();
+
if($numitems)
$limit = " LIMIT " . intval($numitems) . " OFFSET " . intval($start);
@@ -282,13 +292,12 @@ function private_messages_list($uid, $mailbox = '', $start = 0, $numitems = 0) {
foreach($r as $k => $rr) {
$r[$k]['from'] = find_xchan_in_array($rr['from_xchan'],$c);
$r[$k]['to'] = find_xchan_in_array($rr['to_xchan'],$c);
- $r[$k]['seen'] = (($rr['mail_flags'] & MAIL_SEEN) ? 1 : 0);
- if($r[$k]['mail_flags'] & MAIL_OBSCURED) {
- $key = get_config('system','prvkey');
+ $r[$k]['seen'] = intval($rr['mail_seen']);
+ if(intval($r[$k]['mail_obscured'])) {
if($r[$k]['title'])
- $r[$k]['title'] = crypto_unencapsulate(json_decode_plus($r[$k]['title']),$key);
+ $r[$k]['title'] = base64url_decode(str_rot47($r[$k]['title']));
if($r[$k]['body'])
- $r[$k]['body'] = crypto_unencapsulate(json_decode_plus($r[$k]['body']),$key);
+ $r[$k]['body'] = base64url_decode(str_rot47($r[$k]['body']));
}
}
@@ -322,19 +331,17 @@ function private_messages_fetch_message($channel_id, $messageitem_id, $updatesee
foreach($messages as $k => $message) {
$messages[$k]['from'] = find_xchan_in_array($message['from_xchan'],$c);
$messages[$k]['to'] = find_xchan_in_array($message['to_xchan'],$c);
- if($messages[$k]['mail_flags'] & MAIL_OBSCURED) {
- $key = get_config('system','prvkey');
+ if(intval($messages[$k]['mail_obscured'])) {
if($messages[$k]['title'])
- $messages[$k]['title'] = crypto_unencapsulate(json_decode_plus($messages[$k]['title']),$key);
+ $messages[$k]['title'] = base64url_decode(str_rot47($messages[$k]['title']));
if($messages[$k]['body'])
- $messages[$k]['body'] = crypto_unencapsulate(json_decode_plus($messages[$k]['body']),$key);
+ $messages[$k]['body'] = base64url_decode(str_rot47($messages[$k]['body']));
}
}
+
if($updateseen) {
- $r = q("UPDATE `mail` SET mail_flags = (mail_flags | %d) where not (mail_flags & %d)>0 and id = %d AND channel_id = %d",
- intval(MAIL_SEEN),
- intval(MAIL_SEEN),
+ $r = q("UPDATE `mail` SET mail_seen = 1 where mail_seen = 0 and id = %d AND channel_id = %d",
dbesc($messageitem_id),
intval($channel_id)
);
@@ -410,20 +417,18 @@ function private_messages_fetch_conversation($channel_id, $messageitem_id, $upda
foreach($messages as $k => $message) {
$messages[$k]['from'] = find_xchan_in_array($message['from_xchan'],$c);
$messages[$k]['to'] = find_xchan_in_array($message['to_xchan'],$c);
- if($messages[$k]['mail_flags'] & MAIL_OBSCURED) {
- $key = get_config('system','prvkey');
+ if(intval($messages[$k]['mail_obscured'])) {
if($messages[$k]['title'])
- $messages[$k]['title'] = crypto_unencapsulate(json_decode_plus($messages[$k]['title']),$key);
+ $messages[$k]['title'] = base64url_decode(str_rot47($messages[$k]['title']));
if($messages[$k]['body'])
- $messages[$k]['body'] = crypto_unencapsulate(json_decode_plus($messages[$k]['body']),$key);
+ $messages[$k]['body'] = base64url_decode(str_rot47($messages[$k]['body']));
}
}
+
if($updateseen) {
- $r = q("UPDATE `mail` SET mail_flags = (mail_flags | %d) where not (mail_flags & %d)>0 and parent_mid = '%s' AND channel_id = %d",
- intval(MAIL_SEEN),
- intval(MAIL_SEEN),
+ $r = q("UPDATE `mail` SET mail_seen = 1 where mail_seen = 0 and parent_mid = '%s' AND channel_id = %d",
dbesc($r[0]['parent_mid']),
intval($channel_id)
);
diff --git a/include/nav.php b/include/nav.php
index 77287c021..898805bba 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -30,14 +30,9 @@ EOT;
intval($channel['channel_id'])
);
- $chans = q("select channel_name, channel_id from channel where channel_account_id = %d and not ( channel_pageflags & %d )>0 order by channel_name ",
- intval(get_account_id()),
- intval(PAGE_REMOVED)
+ $chans = q("select channel_name, channel_id from channel where channel_account_id = %d and channel_removed = 0 order by channel_name ",
+ intval(get_account_id())
);
-
-
-
-
}
elseif(remote_channel())
$observer = $a->get_observer();
@@ -162,7 +157,7 @@ EOT;
$nav['apps'] = array('apps', t('Apps'), "", t('Applications, utilities, links, games'),'apps_nav_btn');
- $nav['search'] = array('search', t('Search'), "", t('Search site content'));
+ $nav['search'] = array('search', t('Search'), "", t('Search site @name, #tag, ?docs, content'));
$nav['directory'] = array('directory', t('Directory'), "", t('Channel Directory'),'directory_nav_btn');
@@ -249,7 +244,7 @@ $powered_by = '';
'$localuser' => local_channel(),
'$sel' => $a->nav_sel,
'$powered_by' => $powered_by,
- '$help' => t('@name, #tag, content'),
+ '$help' => t('@name, #tag, ?doc, content'),
'$pleasewait' => t('Please wait...')
));
diff --git a/include/network.php b/include/network.php
index d9546a074..75729d6e4 100644
--- a/include/network.php
+++ b/include/network.php
@@ -1035,7 +1035,7 @@ function discover_by_url($url,$arr = null) {
dbesc(datetime_convert())
);
- $photos = import_profile_photo($photo,$guid);
+ $photos = import_xchan_photo($photo,$guid);
$r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'",
dbesc(datetime_convert()),
dbesc($photos[0]),
@@ -1068,6 +1068,11 @@ function discover_by_webbie($webbie) {
}
}
+ $arr = array('address' => $webbie, 'success' => false);
+ call_hooks('discover_by_webbie', $arr);
+ if($arr['success'])
+ return true;
+
$result = array();
$network = null;
$diaspora = false;
@@ -1135,9 +1140,27 @@ function discover_by_webbie($webbie) {
}
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
- dbesc($webbie)
+ dbesc($addr)
);
- if(! $r) {
+
+ /**
+ *
+ * Diaspora communications are notoriously unreliable and receiving profile update messages (indeed any messages)
+ * are pretty much random luck. We'll check the timestamp of the xchan_name_date at a higher level and refresh
+ * this record once a month; because if you miss a profile update message and they update their profile photo or name
+ * you're otherwise stuck with stale info until they change their profile again - which could be years from now.
+ *
+ */
+
+ if($r) {
+ $r = q("update xchan set xchan_name = '%s', xchan_network = '%s', xchan_name_date = '%s' where xchan_hash = '%s' limit 1",
+ dbesc($vcard['fn']),
+ dbesc($network),
+ dbesc(datetime_convert()),
+ dbesc($addr)
+ );
+ }
+ else {
$r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_pubkey, xchan_addr, xchan_url, xchan_name, xchan_network, xchan_instance_url, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') ",
dbesc($addr),
@@ -1158,7 +1181,7 @@ function discover_by_webbie($webbie) {
if(! $r) {
- $r = q("insert into hubloc ( hubloc_guid, hubloc_hash, hubloc_addr, hubloc_network, hubloc_url, hubloc_host, hubloc_callback, hubloc_updated, hubloc_flags ) values ('%s','%s','%s','%s','%s','%s','%s','%s', %d)",
+ $r = q("insert into hubloc ( hubloc_guid, hubloc_hash, hubloc_addr, hubloc_network, hubloc_url, hubloc_host, hubloc_callback, hubloc_updated, hubloc_primary ) values ('%s','%s','%s','%s','%s','%s','%s','%s', 1)",
dbesc($guid),
dbesc($addr),
dbesc($addr),
@@ -1166,11 +1189,10 @@ function discover_by_webbie($webbie) {
dbesc(trim($diaspora_base,'/')),
dbesc($hostname),
dbesc($notify),
- dbescdate(datetime_convert()),
- intval(HUBLOC_FLAGS_PRIMARY)
+ dbescdate(datetime_convert())
);
}
- $photos = import_profile_photo($vcard['photo'],$addr);
+ $photos = import_xchan_photo($vcard['photo'],$addr);
$r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'",
dbescdate(datetime_convert('UTC','UTC',$arr['photo_updated'])),
dbesc($photos[0]),
diff --git a/include/notifier.php b/include/notifier.php
index ecd2ac86f..62aea4106 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -100,10 +100,9 @@ function notifier_run($argv, $argc){
// Get the recipient
$r = q("select abook.*, hubloc.* from abook
left join hubloc on hubloc_hash = abook_xchan
- where abook_id = %d and not ( abook_flags & %d ) > 0
+ where abook_id = %d and abook_self = 0
and not (hubloc_flags & %d) > 0 and not (hubloc_status & %d) > 0 limit 1",
intval($item_id),
- intval(ABOOK_FLAG_SELF),
intval(HUBLOC_FLAGS_DELETED),
intval(HUBLOC_OFFLINE)
);
@@ -114,11 +113,9 @@ function notifier_run($argv, $argc){
intval($r[0]['abook_channel'])
);
if($s) {
- if($r[0]['hubloc_network'] === 'diaspora' || $r[0]['hubloc_network'] === 'friendica-over-diaspora') {
- require_once('include/diaspora.php');
- diaspora_share($s[0],$r[0]);
- }
- else {
+ $perm_update = array('sender' => $s[0], 'recipient' => $r[0], 'success' => false);
+ call_hooks('permissions_update',$perm_update);
+ if(! $perm_update['success']) {
// send a refresh message to each hub they have registered here
$h = q("select * from hubloc where hubloc_hash = '%s'
and not (hubloc_flags & %d) > 0 and not (hubloc_status & %d) > 0",
@@ -228,11 +225,9 @@ function notifier_run($argv, $argc){
$normal_mode = false;
$expire = true;
- $items = q("SELECT * FROM item WHERE uid = %d AND ( item_flags & %d )>0
- AND ( item_restrict & %d )>0 AND `changed` > %s - INTERVAL %s",
+ $items = q("SELECT * FROM item WHERE uid = %d AND item_wall = 1
+ AND item_deleted = 1 AND `changed` > %s - INTERVAL %s",
intval($item_id),
- intval(ITEM_WALL),
- intval(ITEM_DELETED),
db_utcnow(), db_quoteinterval('10 MINUTE')
);
$uid = $item_id;
@@ -338,19 +333,22 @@ function notifier_run($argv, $argc){
$target_item = $r[0];
$deleted_item = false;
- if($target_item['item_restrict'] & ITEM_DELETED) {
+ if(intval($target_item['item_deleted'])) {
logger('notifier: target item ITEM_DELETED', LOGGER_DEBUG);
$deleted_item = true;
}
- if(strpos($target_item['postopts'],'nodeliver') !== false) {
- logger('notifier: target item is undeliverable', LOGGER_DEBUG);
+ if(intval($target_item['item_type']) != ITEM_TYPE_POST) {
+ logger('notifier: target item not forwardable: type ' . $target_item['item_type'], LOGGER_DEBUG);
+ return;
+ }
+ if(intval($target_item['item_unpublished']) || intval($target_item['item_delayed_publish'])) {
+ logger('notifier: target item not published, so not forwardable', LOGGER_DEBUG);
return;
}
- $unforwardable = ITEM_UNPUBLISHED|ITEM_DELAYED_PUBLISH|ITEM_WEBPAGE|ITEM_BUILDBLOCK|ITEM_PDL;
- if($target_item['item_restrict'] & $unforwardable) {
- logger('notifier: target item not forwardable: flags ' . $target_item['item_restrict'], LOGGER_DEBUG);
+ if(strpos($target_item['postopts'],'nodeliver') !== false) {
+ logger('notifier: target item is undeliverable', LOGGER_DEBUG);
return;
}
@@ -407,10 +405,7 @@ function notifier_run($argv, $argc){
// flag on comments for an extended period. So we'll also call comment_local_origin() which looks at
// the hostname in the message_id and provides a second (fallback) opinion.
- $relay_to_owner = (((! $top_level_post) && ($target_item['item_flags'] & ITEM_ORIGIN) && comment_local_origin($target_item))
- ? true
- : false
- );
+ $relay_to_owner = (((! $top_level_post) && (intval($target_item['item_origin'])) && comment_local_origin($target_item)) ? true : false);
@@ -421,11 +416,10 @@ function notifier_run($argv, $argc){
logger('notifier: relay_to_owner: ' . (($relay_to_owner) ? 'true' : 'false'), LOGGER_DATA);
logger('notifier: top_level_post: ' . (($top_level_post) ? 'true' : 'false'), LOGGER_DATA);
- logger('notifier: target_item_flags: ' . $target_item['item_flags'] . ' ' . (($target_item['item_flags'] & ITEM_ORIGIN ) ? 'true' : 'false'), LOGGER_DATA);
// tag_deliver'd post which needs to be sent back to the original author
- if(($cmd === 'uplink') && ($parent_item['item_flags'] & ITEM_UPLINK) && (! $top_level_post)) {
+ if(($cmd === 'uplink') && intval($parent_item['item_uplink']) && (! $top_level_post)) {
logger('notifier: uplink');
$uplink = true;
}
@@ -446,7 +440,7 @@ function notifier_run($argv, $argc){
// if our parent is a tag_delivery recipient, uplink to the original author causing
// a delivery fork.
- if(($parent_item['item_flags'] & ITEM_UPLINK) && (! $top_level_post) && ($cmd !== 'uplink')) {
+ if(intval($parent_item['item_uplink']) && (! $top_level_post) && ($cmd !== 'uplink')) {
logger('notifier: uplinking this item');
proc_run('php','include/notifier.php','uplink',$item_id);
}
@@ -459,7 +453,7 @@ function notifier_run($argv, $argc){
// don't send deletions onward for other people's stuff
// TODO verify this is needed - copied logic from same place in old code
- if(($target_item['item_restrict'] & ITEM_DELETED) && (!($target_item['item_flags'] & ITEM_WALL))) {
+ if(intval($target_item['item_deleted']) && (! intval($target_item['item_wall']))) {
logger('notifier: ignoring delete notification for non-wall item');
return;
}
@@ -550,15 +544,12 @@ function notifier_run($argv, $argc){
// aren't the owner or author.
- $r = q("select hubloc_guid, hubloc_url, hubloc_sitekey, hubloc_network, hubloc_flags, hubloc_callback, hubloc_host from hubloc
+ $r = q("select * from hubloc
where hubloc_hash in (" . implode(',',$recipients) . ") order by hubloc_connected desc limit 1");
}
else {
- $r = q("select hubloc_guid, hubloc_url, hubloc_sitekey, hubloc_network, hubloc_flags, hubloc_callback, hubloc_host from hubloc
- where hubloc_hash in (" . implode(',',$recipients) . ") and not (hubloc_flags & %d) > 0 and not (hubloc_status & %d) > 0",
- intval(HUBLOC_FLAGS_DELETED),
- intval(HUBLOC_OFFLINE)
- );
+ $r = q("select * from hubloc where hubloc_hash in (" . implode(',',$recipients) . ")
+ and hubloc_error = 0 and hubloc_deleted = 0");
}
if(! $r) {
@@ -613,18 +604,9 @@ function notifier_run($argv, $argc){
foreach($dhubs as $hub) {
- if($hub['hubloc_network'] === 'diaspora' || $hub['hubloc_network'] === 'friendica-over-diaspora') {
- if(! get_config('system','diaspora_enabled'))
- continue;
-
- // allow this to be set per message
-
- if(strpos($target_item['postopts'],'nodspr') !== false)
- continue;
+ if($hub['hubloc_network'] !== 'zot') {
- require_once('include/diaspora.php');
-
- diaspora_process_outbound(array(
+ $narr = array(
'channel' => $channel,
'env_recips' => $env_recips,
'recipients' => $recipients,
@@ -645,13 +627,14 @@ function notifier_run($argv, $argc){
'normal_mode' => $normal_mode,
'packet_type' => $packet_type,
'walltowall' => $walltowall
- ));
+ );
+
+ call_hooks('notifier_hub',$narr);
continue;
}
-
// default: zot protocol
diff --git a/include/notify.php b/include/notify.php
index eef838664..2b032b56b 100644
--- a/include/notify.php
+++ b/include/notify.php
@@ -5,9 +5,6 @@ function format_notification($item) {
$ret = '';
-// return array();
-
-
require_once('include/conversation.php');
// Call localize_item with the "brief" flag to get a one line status for activities.
@@ -19,7 +16,7 @@ function format_notification($item) {
$itemem_text = $item['localize'];
}
else {
- $itemem_text = (($item['item_flags'] & ITEM_THREAD_TOP)
+ $itemem_text = (($item['item_thread_top'])
? t('created a new post')
: sprintf( t('commented on %s\'s post'), $item['owner']['xchan_name']));
}
diff --git a/include/oembed.php b/include/oembed.php
index 0628afaa9..e50d34c7d 100755
--- a/include/oembed.php
+++ b/include/oembed.php
@@ -2,6 +2,35 @@
function oembed_replacecb($matches){
$embedurl=$matches[1];
+
+ // implements a personal embed white/black list for logged in members
+ if(local_channel()) {
+ if(($x = get_pconfig(local_channel(),'system','embed_deny'))) {
+ $l = explode("\n",$x);
+ if($l) {
+ foreach($l as $ll) {
+ if(trim($ll) && strpos($embedurl,trim($ll)) !== false)
+ return '<a href="' . $embedurl . '">' . $embedurl . '</a>';
+ }
+ }
+ }
+ if(($x = get_pconfig(local_channel(),'system','embed_allow'))) {
+ $found = false;
+ $l = explode("\n",$x);
+ if($l) {
+ foreach($l as $ll) {
+ if(trim($ll) && strpos($embedurl,trim($ll)) !== false) {
+ $found = true;
+ break;
+ }
+ }
+ }
+ if(! $found) {
+ return '<a href="' . $embedurl . '">' . $embedurl . '</a>';
+ }
+ }
+ }
+
$j = oembed_fetch_url($embedurl);
$s = oembed_format_object($j);
return $s;
@@ -95,7 +124,8 @@ function oembed_fetch_url($embedurl){
Cache::set($a->videowidth . $embedurl,$txt);
}
-
+
+
$j = json_decode($txt);
$j->embedurl = $embedurl;
return $j;
diff --git a/include/onedirsync.php b/include/onedirsync.php
index de8dab92d..ce516da9d 100644
--- a/include/onedirsync.php
+++ b/include/onedirsync.php
@@ -41,7 +41,7 @@ function onedirsync_run($argv, $argc){
intval(UPDATE_FLAGS_UPDATED)
);
if($x) {
- $y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date < '%s' ",
+ $y = q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date != '%s'",
intval(UPDATE_FLAGS_UPDATED),
dbesc($r[0]['ud_addr']),
intval(UPDATE_FLAGS_UPDATED),
diff --git a/include/onepoll.php b/include/onepoll.php
index 66b000934..fedeb1e95 100644
--- a/include/onepoll.php
+++ b/include/onepoll.php
@@ -28,13 +28,9 @@ function onepoll_run($argv, $argc){
$contacts = q("SELECT abook.*, xchan.*, account.*
FROM abook LEFT JOIN account on abook_account = account_id left join xchan on xchan_hash = abook_xchan
where abook_id = %d
- AND (( abook_flags & %d )>0 OR ( abook_flags = %d ))
- AND NOT ( abook_flags & %d )>0
+ and abook_pending = 0 and abook_archived = 0 and abook_blocked = 0 and abook_ignored = 0
AND (( account_flags = %d ) OR ( account_flags = %d )) limit 1",
intval($contact_id),
- intval(ABOOK_FLAG_HIDDEN|ABOOK_FLAG_PENDING|ABOOK_FLAG_UNCONNECTED|ABOOK_FLAG_FEED),
- intval(0),
- intval(ABOOK_FLAG_ARCHIVED|ABOOK_FLAG_BLOCKED|ABOOK_FLAG_IGNORED),
intval(ACCOUNT_OK),
intval(ACCOUNT_UNVERIFIED)
);
diff --git a/include/permissions.php b/include/permissions.php
index f63c6da18..a8e761f87 100644
--- a/include/permissions.php
+++ b/include/permissions.php
@@ -25,9 +25,8 @@ function get_perms() {
// Read only permissions
'view_stream' => array('channel_r_stream', intval(PERMS_R_STREAM), true, t('Can view my normal stream and posts'), ''),
'view_profile' => array('channel_r_profile', intval(PERMS_R_PROFILE), true, t('Can view my default channel profile'), ''),
- 'view_photos' => array('channel_r_photos', intval(PERMS_R_PHOTOS), true, t('Can view my photo albums'), ''),
'view_contacts' => array('channel_r_abook', intval(PERMS_R_ABOOK), true, t('Can view my connections'), ''),
- 'view_storage' => array('channel_r_storage', intval(PERMS_R_STORAGE), true, t('Can view my file storage'), ''),
+ 'view_storage' => array('channel_r_storage', intval(PERMS_R_STORAGE), true, t('Can view my file storage and photos'), ''),
'view_pages' => array('channel_r_pages', intval(PERMS_R_PAGES), true, t('Can view my webpages'), ''),
// Write permissions
@@ -35,12 +34,11 @@ function get_perms() {
'post_wall' => array('channel_w_wall', intval(PERMS_W_WALL), false, t('Can post on my channel page ("wall")'), ''),
'post_comments' => array('channel_w_comment', intval(PERMS_W_COMMENT), false, t('Can comment on or like my posts'), ''),
'post_mail' => array('channel_w_mail', intval(PERMS_W_MAIL), false, t('Can send me private mail messages'), ''),
- 'post_photos' => array('channel_w_photos', intval(PERMS_W_PHOTOS), false, t('Can post photos to my photo albums'), ''),
'post_like' => array('channel_w_like', intval(PERMS_W_LIKE), false, t('Can like/dislike stuff'), t('Profiles and things other than posts/comments')),
'tag_deliver' => array('channel_w_tagwall', intval(PERMS_W_TAGWALL), false, t('Can forward to all my channel contacts via post @mentions'), t('Advanced - useful for creating group forum channels')),
'chat' => array('channel_w_chat', intval(PERMS_W_CHAT), false, t('Can chat with me (when available)'), t('')),
- 'write_storage' => array('channel_w_storage', intval(PERMS_W_STORAGE), false, t('Can write to my file storage'), ''),
+ 'write_storage' => array('channel_w_storage', intval(PERMS_W_STORAGE), false, t('Can write to my file storage and photos'), ''),
'write_pages' => array('channel_w_pages', intval(PERMS_W_PAGES), false, t('Can edit my webpages'), ''),
'republish' => array('channel_a_republish', intval(PERMS_A_REPUBLISH), false, t('Can source my public posts in derived channels'), t('Somewhat advanced - very useful in open communities')),
@@ -113,11 +111,10 @@ function get_all_perms($uid, $observer_xchan, $internal_use = true) {
}
if(! $abook_checked) {
- $x = q("select abook_my_perms, abook_flags, xchan_network from abook left join xchan on abook_xchan = xchan_hash
- where abook_channel = %d and abook_xchan = '%s' and not ( abook_flags & %d )>0 limit 1",
+ $x = q("select abook_my_perms, abook_blocked, abook_ignored, abook_pending, xchan_network from abook left join xchan on abook_xchan = xchan_hash
+ where abook_channel = %d and abook_xchan = '%s' and abook_self = 0 limit 1",
intval($uid),
- dbesc($observer_xchan),
- intval(ABOOK_FLAG_SELF)
+ dbesc($observer_xchan)
);
if(! $x) {
// not in address book, see if they've got an xchan
@@ -131,7 +128,7 @@ function get_all_perms($uid, $observer_xchan, $internal_use = true) {
// If they're blocked - they can't read or write
- if(($x) && ($x[0]['abook_flags'] & ABOOK_FLAG_BLOCKED)) {
+ if(($x) && intval($x[0]['abook_blocked'])) {
$ret[$perm_name] = false;
continue;
}
@@ -139,7 +136,7 @@ function get_all_perms($uid, $observer_xchan, $internal_use = true) {
// Check if this is a write permission and they are being ignored
// This flag is only visible internally.
- if(($x) && ($internal_use) && (! $global_perms[$perm_name][2]) && ($x[0]['abook_flags'] & ABOOK_FLAG_IGNORED)) {
+ if(($x) && ($internal_use) && (! $global_perms[$perm_name][2]) && intval($x[0]['abook_ignored'])) {
$ret[$perm_name] = false;
continue;
}
@@ -218,7 +215,7 @@ function get_all_perms($uid, $observer_xchan, $internal_use = true) {
continue;
}
- if($x[0]['abook_flags'] & ABOOK_FLAG_PENDING) {
+ if(intval($x[0]['abook_pending'])) {
$ret[$perm_name] = false;
continue;
}
@@ -300,19 +297,18 @@ function perm_is_allowed($uid, $observer_xchan, $permission) {
if($r[0][$channel_perm] & PERMS_AUTHED)
return true;
- $x = q("select abook_my_perms, abook_flags, xchan_network from abook left join xchan on abook_xchan = xchan_hash
- where abook_channel = %d and abook_xchan = '%s' and not ( abook_flags & %d )>0 limit 1",
+ $x = q("select abook_my_perms, abook_blocked, abook_ignored, abook_pending, xchan_network from abook left join xchan on abook_xchan = xchan_hash
+ where abook_channel = %d and abook_xchan = '%s' and abook_self = 0 limit 1",
intval($uid),
- dbesc($observer_xchan),
- intval(ABOOK_FLAG_SELF)
+ dbesc($observer_xchan)
);
// If they're blocked - they can't read or write
- if(($x) && ($x[0]['abook_flags'] & ABOOK_FLAG_BLOCKED))
+ if(($x) && intval($x[0]['abook_blocked']))
return false;
- if(($x) && (! $global_perms[$permission][2]) && ($x[0]['abook_flags'] & ABOOK_FLAG_IGNORED))
+ if(($x) && (! $global_perms[$permission][2]) && intval($x[0]['abook_ignored']))
return false;
if(! $x) {
@@ -374,7 +370,7 @@ function perm_is_allowed($uid, $observer_xchan, $permission) {
return true;
}
- if($x[0]['abook_flags'] & ABOOK_FLAG_PENDING) {
+ if(intval($x[0]['abook_pending'])) {
return false;
}
@@ -498,7 +494,6 @@ function site_default_perms() {
$typical = array(
'view_stream' => PERMS_PUBLIC,
'view_profile' => PERMS_PUBLIC,
- 'view_photos' => PERMS_PUBLIC,
'view_contacts' => PERMS_PUBLIC,
'view_storage' => PERMS_PUBLIC,
'view_pages' => PERMS_PUBLIC,
@@ -506,7 +501,6 @@ function site_default_perms() {
'post_wall' => PERMS_SPECIFIC,
'post_comments' => PERMS_SPECIFIC,
'post_mail' => PERMS_SPECIFIC,
- 'post_photos' => PERMS_SPECIFIC,
'tag_deliver' => PERMS_SPECIFIC,
'chat' => PERMS_SPECIFIC,
'write_storage' => PERMS_SPECIFIC,
@@ -556,22 +550,20 @@ function get_role_perms($role) {
$ret['default_collection'] = false;
$ret['directory_publish'] = true;
$ret['online'] = true;
- $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE;
- $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
$ret['channel_w_stream'] = PERMS_SPECIFIC;
$ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
@@ -588,22 +580,20 @@ function get_role_perms($role) {
$ret['default_collection'] = true;
$ret['directory_publish'] = true;
$ret['online'] = true;
- $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
- $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
$ret['channel_w_stream'] = PERMS_SPECIFIC;
$ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
@@ -620,22 +610,20 @@ function get_role_perms($role) {
$ret['default_collection'] = true;
$ret['directory_publish'] = false;
$ret['online'] = false;
- $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
- $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_SPECIFIC;
$ret['channel_w_stream'] = PERMS_SPECIFIC;
$ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
@@ -652,22 +640,20 @@ function get_role_perms($role) {
$ret['default_collection'] = false;
$ret['directory_publish'] = true;
$ret['online'] = false;
- $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE|PERMS_W_TAGWALL;
- $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE|PERMS_W_TAGWALL;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
$ret['channel_w_stream'] = PERMS_SPECIFIC;
$ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
@@ -684,22 +670,20 @@ function get_role_perms($role) {
$ret['default_collection'] = true;
$ret['directory_publish'] = true;
$ret['online'] = false;
- $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE|PERMS_W_TAGWALL;
- $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE|PERMS_W_TAGWALL;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
$ret['channel_w_stream'] = PERMS_SPECIFIC;
$ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
@@ -716,22 +700,20 @@ function get_role_perms($role) {
$ret['default_collection'] = true;
$ret['directory_publish'] = false;
$ret['online'] = false;
- $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
- $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILEPERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_SPECIFIC;
- $ret['channel_r_photos'] = PERMS_SPECIFIC;
$ret['channel_r_abook'] = PERMS_SPECIFIC;
$ret['channel_w_stream'] = PERMS_SPECIFIC;
$ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_SPECIFIC;
@@ -748,22 +730,20 @@ function get_role_perms($role) {
$ret['default_collection'] = false;
$ret['directory_publish'] = true;
$ret['online'] = false;
- $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE;
- $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
$ret['channel_w_stream'] = PERMS_SPECIFIC;
$ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
@@ -780,22 +760,20 @@ function get_role_perms($role) {
$ret['default_collection'] = true;
$ret['directory_publish'] = false;
$ret['online'] = false;
- $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
- $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
$ret['channel_w_stream'] = PERMS_SPECIFIC;
$ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
@@ -812,20 +790,18 @@ function get_role_perms($role) {
$ret['default_collection'] = false;
$ret['directory_publish'] = true;
$ret['online'] = false;
- $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE;
- $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_R_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
$ret['channel_w_stream'] = PERMS_SPECIFIC;
$ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
@@ -842,22 +818,20 @@ function get_role_perms($role) {
$ret['default_collection'] = false;
$ret['directory_publish'] = true;
$ret['online'] = false;
- $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_follow'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_W_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE|PERMS_W_TAGWALL;
- $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK
+ $ret['perms_accept'] = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_ABOOK
|PERMS_W_STREAM|PERMS_W_WALL|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT
|PERMS_R_STORAGE|PERMS_W_STORAGE|PERMS_R_PAGES|PERMS_A_REPUBLISH|PERMS_W_LIKE|PERMS_W_TAGWALL;
$ret['channel_r_stream'] = PERMS_PUBLIC;
$ret['channel_r_profile'] = PERMS_PUBLIC;
- $ret['channel_r_photos'] = PERMS_PUBLIC;
$ret['channel_r_abook'] = PERMS_PUBLIC;
$ret['channel_w_stream'] = PERMS_SPECIFIC;
$ret['channel_w_wall'] = PERMS_SPECIFIC;
$ret['channel_w_tagwall'] = PERMS_SPECIFIC;
$ret['channel_w_comment'] = PERMS_SPECIFIC;
$ret['channel_w_mail'] = PERMS_SPECIFIC;
- $ret['channel_w_photos'] = PERMS_SPECIFIC;
$ret['channel_w_chat'] = PERMS_SPECIFIC;
$ret['channel_a_delegate'] = PERMS_SPECIFIC;
$ret['channel_r_storage'] = PERMS_PUBLIC;
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php
index 5d61556ab..2a7d1ae01 100644
--- a/include/photo/photo_driver.php
+++ b/include/photo/photo_driver.php
@@ -238,10 +238,12 @@ abstract class photo_driver {
if(! $this->is_valid())
return FALSE;
+
if((! function_exists('exif_read_data')) || ($this->getType() !== 'image/jpeg'))
return;
$exif = @exif_read_data($filename,null,true);
+
if($exif) {
$ort = $exif['IFD0']['Orientation'];
@@ -281,7 +283,6 @@ abstract class photo_driver {
break;
}
- // logger('exif: ' . print_r($exif,true));
return $exif;
}
@@ -302,7 +303,6 @@ abstract class photo_driver {
$p['filename'] = (($arr['filename']) ? $arr['filename'] : '');
$p['album'] = (($arr['album']) ? $arr['album'] : '');
$p['scale'] = ((intval($arr['scale'])) ? intval($arr['scale']) : 0);
- $p['photo_flags'] = ((intval($arr['photo_flags'])) ? intval($arr['photo_flags']) : 0);
$p['allow_cid'] = (($arr['allow_cid']) ? $arr['allow_cid'] : '');
$p['allow_gid'] = (($arr['allow_gid']) ? $arr['allow_gid'] : '');
$p['deny_cid'] = (($arr['deny_cid']) ? $arr['deny_cid'] : '');
@@ -311,12 +311,12 @@ abstract class photo_driver {
$p['edited'] = (($arr['edited']) ? $arr['edited'] : $p['created']);
$p['title'] = (($arr['title']) ? $arr['title'] : '');
$p['description'] = (($arr['description']) ? $arr['description'] : '');
+ $p['photo_usage'] = intval($arr['photo_usage']);
+ $p['os_storage'] = intval($arr['os_storage']);
+ $p['os_path'] = $arr['os_path'];
- // temporary until we get rid of photo['profile'] and just use photo['photo_flags']
- // but this will require updating all existing photos in the DB.
-
- $p['profile'] = (($p['photo_flags'] & PHOTO_PROFILE) ? 1 : 0);
-
+ if(! intval($p['scale']))
+ logger('save: ' . print_r($arr,true));
$x = q("select id from photo where resource_id = '%s' and uid = %d and xchan = '%s' and `scale` = %d limit 1",
dbesc($p['resource_id']),
@@ -338,10 +338,10 @@ abstract class photo_driver {
`height` = %d,
`width` = %d,
`data` = '%s',
+ `os_storage` = %d,
`size` = %d,
`scale` = %d,
- `profile` = %d,
- `photo_flags` = %d,
+ `photo_usage` = %d,
`title` = '%s',
`description` = '%s',
`allow_cid` = '%s',
@@ -361,11 +361,11 @@ abstract class photo_driver {
dbesc($p['album']),
intval($this->getHeight()),
intval($this->getWidth()),
- dbescbin($this->imageString()),
+ (intval($p['os_storage']) ? dbesc($p['os_path']) : dbescbin($this->imageString())),
+ intval($p['os_storage']),
intval(strlen($this->imageString())),
intval($p['scale']),
- intval($p['profile']),
- intval($p['photo_flags']),
+ intval($p['photo_usage']),
dbesc($p['title']),
dbesc($p['description']),
dbesc($p['allow_cid']),
@@ -377,7 +377,7 @@ abstract class photo_driver {
}
else {
$r = q("INSERT INTO `photo`
- ( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `size`, `scale`, `profile`, `photo_flags`, `title`, `description`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
+ ( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `os_storage`, `size`, `scale`, `photo_usage`, `title`, `description`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s' )",
intval($p['aid']),
intval($p['uid']),
@@ -390,11 +390,11 @@ abstract class photo_driver {
dbesc($p['album']),
intval($this->getHeight()),
intval($this->getWidth()),
- dbescbin($this->imageString()),
+ (intval($p['os_storage']) ? dbesc($p['os_path']) : dbescbin($this->imageString())),
+ intval($p['os_storage']),
intval(strlen($this->imageString())),
intval($p['scale']),
- intval($p['profile']),
- intval($p['photo_flags']),
+ intval($p['photo_usage']),
dbesc($p['title']),
dbesc($p['description']),
dbesc($p['allow_cid']),
@@ -406,7 +406,7 @@ abstract class photo_driver {
return $r;
}
- public function store($aid, $uid, $xchan, $rid, $filename, $album, $scale, $profile = 0, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
+ public function store($aid, $uid, $xchan, $rid, $filename, $album, $scale, $usage = PHOTO_NORMAL, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
$x = q("select id from photo where `resource_id` = '%s' and uid = %d and `xchan` = '%s' and `scale` = %d limit 1",
dbesc($rid),
@@ -430,7 +430,7 @@ abstract class photo_driver {
`data` = '%s',
`size` = %d,
`scale` = %d,
- `profile` = %d,
+ `photo_usage` = %d,
`allow_cid` = '%s',
`allow_gid` = '%s',
`deny_cid` = '%s',
@@ -451,7 +451,7 @@ abstract class photo_driver {
dbescbin($this->imageString()),
intval(strlen($this->imageString())),
intval($scale),
- intval($profile),
+ intval($photo_usage),
dbesc($allow_cid),
dbesc($allow_gid),
dbesc($deny_cid),
@@ -461,7 +461,7 @@ abstract class photo_driver {
}
else {
$r = q("INSERT INTO `photo`
- ( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `size`, `scale`, `profile`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
+ ( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `size`, `scale`, `photo_usage`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s' )",
intval($aid),
intval($uid),
@@ -477,7 +477,7 @@ abstract class photo_driver {
dbescbin($this->imageString()),
intval(strlen($this->imageString())),
intval($scale),
- intval($profile),
+ intval($photo_usage),
dbesc($allow_cid),
dbesc($allow_gid),
dbesc($deny_cid),
@@ -557,19 +557,19 @@ function guess_image_type($filename, $headers = '') {
}
-function import_profile_photo($photo,$xchan,$thing = false) {
+function import_xchan_photo($photo,$xchan,$thing = false) {
$a = get_app();
$flags = (($thing) ? PHOTO_THING : PHOTO_XCHAN);
$album = (($thing) ? 'Things' : 'Contact Photos');
- logger('import_profile_photo: updating channel photo from ' . $photo . ' for ' . $xchan, LOGGER_DEBUG);
+ logger('import_xchan_photo: updating channel photo from ' . $photo . ' for ' . $xchan, LOGGER_DEBUG);
if($thing)
$hash = photo_new_resource();
else {
- $r = q("select resource_id from photo where xchan = '%s' and (photo_flags & %d )>0 and scale = 4 limit 1",
+ $r = q("select resource_id from photo where xchan = '%s' and photo_usage = %d and scale = 4 limit 1",
dbesc($xchan),
intval(PHOTO_XCHAN)
);
@@ -622,7 +622,7 @@ function import_profile_photo($photo,$xchan,$thing = false) {
else
$photo_failure = true;
- $p = array('xchan' => $xchan,'resource_id' => $hash, 'filename' => basename($photo), 'album' => $album, 'photo_flags' => $flags, 'scale' => 4);
+ $p = array('xchan' => $xchan,'resource_id' => $hash, 'filename' => basename($photo), 'album' => $album, 'photo_usage' => $flags, 'scale' => 4);
$r = $img->save($p);
@@ -650,7 +650,7 @@ function import_profile_photo($photo,$xchan,$thing = false) {
$micro = $a->get_baseurl() . '/photo/' . $hash . '-6';
}
else {
- logger('import_profile_photo: invalid image from ' . $photo);
+ logger('import_xchan_photo: invalid image from ' . $photo);
$photo_failure = true;
}
if($photo_failure) {
@@ -684,7 +684,7 @@ function import_channel_photo($photo,$type,$aid,$uid) {
$img->scaleImageSquare(300);
- $p = array('aid' => $aid, 'uid' => $uid, 'resource_id' => $hash, 'filename' => $filename, 'album' => t('Profile Photos'), 'photo_flags' => PHOTO_PROFILE, 'scale' => 4);
+ $p = array('aid' => $aid, 'uid' => $uid, 'resource_id' => $hash, 'filename' => $filename, 'album' => t('Profile Photos'), 'photo_usage' => PHOTO_PROFILE, 'scale' => 4);
$r = $img->save($p);
diff --git a/include/photos.php b/include/photos.php
index ca8c53679..b4129fbf1 100644
--- a/include/photos.php
+++ b/include/photos.php
@@ -22,7 +22,7 @@ function photo_upload($channel, $observer, $args) {
$channel_id = $channel['channel_id'];
$account_id = $channel['channel_account_id'];
- if(! perm_is_allowed($channel_id, $observer['xchan_hash'], 'post_photos')) {
+ if(! perm_is_allowed($channel_id, $observer['xchan_hash'], 'write_storage')) {
$ret['message'] = t('Permission denied.');
return $ret;
}
@@ -34,28 +34,43 @@ function photo_upload($channel, $observer, $args) {
*/
$album = $args['album'];
- $newalbum = $args['newalbum'];
-
- logger('photo_upload: album= ' . $album . ' newalbum= ' . $newalbum , LOGGER_DEBUG);
-
- if(! $album) {
- if($newalbum)
- $album = $newalbum;
- else
- $album = datetime_convert('UTC',date_default_timezone_get(),'now', 'Y-m');
- }
if(intval($args['visible']) || $args['visible'] === 'true')
$visible = 1;
else
$visible = 0;
- $str_group_allow = perms2str(((is_array($args['group_allow'])) ? $args['group_allow'] : explode(',',$args['group_allow'])));
- $str_contact_allow = perms2str(((is_array($args['contact_allow'])) ? $args['contact_allow'] : explode(',',$args['contact_allow'])));
- $str_group_deny = perms2str(((is_array($args['group_deny'])) ? $args['group_deny'] : explode(',',$args['group_deny'])));
- $str_contact_deny = perms2str(((is_array($args['contact_deny'])) ? $args['contact_deny'] : explode(',',$args['contact_deny'])));
+ // Set to default channel permissions. If the parent directory (album) has permissions set,
+ // use those instead. If we have specific permissions supplied, they take precedence over
+ // all other settings. 'allow_cid' being passed from an external source takes priority over channel settings.
+ // ...messy... needs re-factoring once the photos/files integration stabilises
+
+ $acl = new AccessList($channel);
+ if(array_key_exists('directory',$args) && $args['directory'])
+ $acl->set($args['directory']);
+ if(array_key_exists('allow_cid',$args))
+ $acl->set($args);
+ if( (array_key_exists('group_allow',$args))
+ || (array_key_exists('contact_allow',$args))
+ || (array_key_exists('group_deny',$args))
+ || (array_key_exists('contact_deny',$args))) {
+ $acl->set_from_array($args);
+ }
+
+ $ac = $acl->get();
- if ($args['data']) {
+ $os_storage = 0;
+
+ if($args['os_path'] && $args['getimagesize']) {
+ $imagedata = @file_get_contents($args['os_path']);
+ $filename = $args['filename'];
+ $filesize = strlen($imagedata);
+ // this is going to be deleted if it exists
+ $src = '/tmp/deletemenow';
+ $type = $args['getimagesize']['mime'];
+ $os_storage = 1;
+ }
+ elseif ($args['data']) {
// allow an import from a binary string representing the image.
// This bypasses the upload step and max size limit checking
@@ -132,7 +147,7 @@ function photo_upload($channel, $observer, $args) {
return $ret;
}
- $exif = $ph->orient($src);
+ $exif = $ph->orient(($args['os_path']) ? $args['os_path'] : $src);
@unlink($src);
@@ -156,9 +171,10 @@ function photo_upload($channel, $observer, $args) {
$errors = false;
$p = array('aid' => $account_id, 'uid' => $channel_id, 'xchan' => $visitor, 'resource_id' => $photo_hash,
- 'filename' => $filename, 'album' => $album, 'scale' => 0, 'photo_flags' => PHOTO_NORMAL,
- 'allow_cid' => $str_contact_allow, 'allow_gid' => $str_group_allow,
- 'deny_cid' => $str_contact_deny, 'deny_gid' => $str_group_deny
+ 'filename' => $filename, 'album' => $album, 'scale' => 0, 'photo_usage' => PHOTO_NORMAL,
+ 'allow_cid' => $ac['allow_cid'], 'allow_gid' => $ac['allow_gid'],
+ 'deny_cid' => $ac['deny_cid'], 'deny_gid' => $ac['deny_gid'],
+ 'os_storage' => $os_storage, 'os_path' => $args['os_path']
);
if($args['created'])
$p['created'] = $args['created'];
@@ -173,6 +189,10 @@ function photo_upload($channel, $observer, $args) {
if(! $r1)
$errors = true;
+
+ unset($p['os_storage']);
+ unset($p['os_path']);
+
if(($width > 640 || $height > 640) && (! $errors)) {
$ph->scaleImage(640);
$p['scale'] = 1;
@@ -210,6 +230,9 @@ function photo_upload($channel, $observer, $args) {
// Create item container
+
+ $item_hidden = (($visible) ? 0 : 1 );
+
$lat = $lon = null;
if($exif && $exif['GPS']) {
@@ -219,62 +242,105 @@ function photo_upload($channel, $observer, $args) {
}
}
- $item_flags = ITEM_WALL|ITEM_ORIGIN|ITEM_THREAD_TOP;
- $item_restrict = (($visible) ? ITEM_VISIBLE : ITEM_HIDDEN);
- $title = '';
- $mid = item_message_id();
+ if($args['item']) {
+ foreach($args['item'] as $i) {
- $arr = array();
+ $item = get_item_elements($i);
+ $force = false;
- if($lat && $lon)
- $arr['coord'] = $lat . ' ' . $lon;
-
- $arr['aid'] = $account_id;
- $arr['uid'] = $channel_id;
- $arr['mid'] = $mid;
- $arr['parent_mid'] = $mid;
- $arr['item_flags'] = $item_flags;
- $arr['item_restrict'] = $item_restrict;
- $arr['resource_type'] = 'photo';
- $arr['resource_id'] = $photo_hash;
- $arr['owner_xchan'] = $channel['channel_hash'];
- $arr['author_xchan'] = $observer['xchan_hash'];
- $arr['title'] = $title;
- $arr['allow_cid'] = $str_contact_allow;
- $arr['allow_gid'] = $str_group_allow;
- $arr['deny_cid'] = $str_contact_deny;
- $arr['deny_gid'] = $str_group_deny;
- $arr['verb'] = ACTIVITY_POST;
-
- $arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
-
- // We should also put a width_x_height on large photos. Left as an exercise for
- // devs looking fo simple stuff to fix.
-
- $larger = feature_enabled($channel['channel_id'], 'large_photos');
- if($larger) {
- $tag = '[zmg]';
- if($r2)
- $smallest = 1;
- else
- $smallest = 0;
+ if($item['mid'] === $item['parent_mid']) {
+
+ $item['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
+ . $tag . z_root() . "/photo/{$photo_hash}-{$smallest}.".$ph->getExt() . '[/zmg]'
+ . '[/zrl]';
+
+ if($item['author_xchan'] === $channel['channel_hash']) {
+ $item['sig'] = base64url_encode(rsa_sign($item['body'],$channel['channel_prvkey']));
+ $item['item_verified'] = 1;
+ }
+ else {
+ $item['sig'] = '';
+ }
+ $force = true;
+
+ }
+ $r = q("select id, edited from item where mid = '%s' and uid = %d limit 1",
+ dbesc($item['mid']),
+ intval($channel['channel_id'])
+ );
+ if($r) {
+ if(($item['edited'] > $r[0]['edited']) || $force) {
+ $item['id'] = $r[0]['id'];
+ $item['uid'] = $channel['channel_id'];
+ item_store_update($item);
+ continue;
+ }
+ }
+ else {
+ $item['aid'] = $channel['channel_account_id'];
+ $item['uid'] = $channel['channel_id'];
+ $item_result = item_store($item);
+ }
+ }
}
else {
- if ($width_x_height)
- $tag = '[zmg=' . $width_x_height. ']';
- else
+ $title = '';
+ $mid = item_message_id();
+
+ $arr = array();
+
+ if($lat && $lon)
+ $arr['coord'] = $lat . ' ' . $lon;
+
+ $arr['aid'] = $account_id;
+ $arr['uid'] = $channel_id;
+ $arr['mid'] = $mid;
+ $arr['parent_mid'] = $mid;
+ $arr['item_hidden'] = $item_hidden;
+ $arr['resource_type'] = 'photo';
+ $arr['resource_id'] = $photo_hash;
+ $arr['owner_xchan'] = $channel['channel_hash'];
+ $arr['author_xchan'] = $observer['xchan_hash'];
+ $arr['title'] = $title;
+ $arr['allow_cid'] = $ac['allow_cid'];
+ $arr['allow_gid'] = $ac['allow_gid'];
+ $arr['deny_cid'] = $ac['deny_cid'];
+ $arr['deny_gid'] = $ac['deny_gid'];
+ $arr['verb'] = ACTIVITY_POST;
+ $arr['item_wall'] = 1;
+ $arr['item_origin'] = 1;
+ $arr['item_thread_top'] = 1;
+ $arr['item_private'] = intval($acl->is_private());
+ $arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
+
+ // We should also put a width_x_height on large photos. Left as an exercise for
+ // devs looking for simple stuff to fix.
+
+ $larger = feature_enabled($channel['channel_id'], 'large_photos');
+ if($larger) {
$tag = '[zmg]';
- }
+ if($r2)
+ $smallest = 1;
+ else
+ $smallest = 0;
+ }
+ else {
+ if ($width_x_height)
+ $tag = '[zmg=' . $width_x_height. ']';
+ else
+ $tag = '[zmg]';
+ }
- $arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
+ $arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash . ']'
. $tag . z_root() . "/photo/{$photo_hash}-{$smallest}.".$ph->getExt() . '[/zmg]'
. '[/zrl]';
- $result = item_store($arr);
- $item_id = $result['item_id'];
+ $result = item_store($arr);
+ $item_id = $result['item_id'];
- if($visible)
- proc_run('php', "include/notifier.php", 'wall-new', $item_id);
+ if($visible)
+ proc_run('php', "include/notifier.php", 'wall-new', $item_id);
+ }
$ret['success'] = true;
$ret['item'] = $arr;
@@ -294,7 +360,7 @@ function photo_upload($channel, $observer, $args) {
*
* @param array $channel
* @param array $observer
- * @return bool|array false if no view_photos permission or an array
+ * @return bool|array false if no view_storage permission or an array
* * success (bool)
* * albums (array)
*/
@@ -303,14 +369,14 @@ function photos_albums_list($channel, $observer) {
$channel_id = $channel['channel_id'];
$observer_xchan = (($observer) ? $observer['xchan_hash'] : '');
- if(! perm_is_allowed($channel_id, $observer_xchan, 'view_photos'))
+ if(! perm_is_allowed($channel_id, $observer_xchan, 'view_storage'))
return false;
/** @FIXME create a permissions SQL which works on arbitrary observers and channels, regardless of login or web status */
$sql_extra = permissions_sql($channel_id);
- $albums = q("SELECT count( distinct resource_id ) as total, album from photo where uid = %d and ( photo_flags = %d or photo_flags = %d ) $sql_extra group by album order by max(created) desc",
+ $albums = q("SELECT count( distinct resource_id ) as total, album from photo where uid = %d and photo_usage IN ( %d, %d ) $sql_extra group by album order by max(created) desc",
intval($channel_id),
intval(PHOTO_NORMAL),
intval(PHOTO_PROFILE)
@@ -325,7 +391,7 @@ function photos_albums_list($channel, $observer) {
$ret['albums'] = array();
foreach($albums as $k => $album) {
$entry = array(
- 'text' => $album['album'],
+ 'text' => (($album['album']) ? $album['album'] : '/'),
'total' => $album['total'],
'url' => z_root() . '/photos/' . $channel['channel_address'] . '/album/' . bin2hex($album['album']),
'urlencode' => urlencode($album['album']),
@@ -359,7 +425,7 @@ function photos_album_widget($channelx,$observer,$albums = null) {
'$title' => t('Photo Albums'),
'$albums' => $albums['albums'],
'$baseurl' => z_root(),
- '$upload' => ((perm_is_allowed($channelx['channel_id'],(($observer) ? $observer['xchan_hash'] : ''),'post_photos'))
+ '$upload' => ((perm_is_allowed($channelx['channel_id'],(($observer) ? $observer['xchan_hash'] : ''),'write_storage'))
? t('Upload New Photos') : '')
));
}
@@ -380,7 +446,7 @@ function photos_list_photos($channel, $observer, $album = '') {
$channel_id = $channel['channel_id'];
$observer_xchan = (($observer) ? $observer['xchan_hash'] : '');
- if(! perm_is_allowed($channel_id,$observer_xchan,'view_photos'))
+ if(! perm_is_allowed($channel_id,$observer_xchan,'view_storage'))
return false;
$sql_extra = permissions_sql($channel_id);
@@ -390,7 +456,7 @@ function photos_list_photos($channel, $observer, $album = '') {
$ret = array('success' => false);
- $r = q("select resource_id, created, edited, title, description, album, filename, type, height, width, size, scale, profile, photo_flags, allow_cid, allow_gid, deny_cid, deny_gid from photo where uid = %d and ( photo_flags = %d or photo_flags = %d ) $sql_extra ",
+ $r = q("select resource_id, created, edited, title, description, album, filename, type, height, width, size, scale, photo_usage, allow_cid, allow_gid, deny_cid, deny_gid from photo where uid = %d and photo_usage in ( %d, %d ) $sql_extra ",
intval($channel_id),
intval(PHOTO_NORMAL),
intval(PHOTO_PROFILE)
@@ -488,32 +554,34 @@ function photos_create_item($channel, $creator_hash, $photo, $visible = false) {
// Create item container
- $item_flags = ITEM_WALL|ITEM_ORIGIN|ITEM_THREAD_TOP;
- $item_restrict = (($visible) ? ITEM_VISIBLE : ITEM_HIDDEN);
+
+ $item_hidden = (($visible) ? 0 : 1 );
$mid = item_message_id();
$arr = array();
- $arr['aid'] = $channel['channel_account_id'];
- $arr['uid'] = $channel['channel_id'];
- $arr['mid'] = $mid;
- $arr['parent_mid'] = $mid;
- $arr['item_flags'] = $item_flags;
- $arr['item_restrict'] = $item_restrict;
- $arr['resource_type'] = 'photo';
- $arr['resource_id'] = $photo['resource_id'];
- $arr['owner_xchan'] = $channel['channel_hash'];
- $arr['author_xchan'] = $creator_hash;
-
- $arr['allow_cid'] = $photo['allow_cid'];
- $arr['allow_gid'] = $photo['allow_gid'];
- $arr['deny_cid'] = $photo['deny_cid'];
- $arr['deny_gid'] = $photo['deny_gid'];
-
- $arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
-
- $arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo['resource_id'] . ']'
+ $arr['aid'] = $channel['channel_account_id'];
+ $arr['uid'] = $channel['channel_id'];
+ $arr['mid'] = $mid;
+ $arr['parent_mid'] = $mid;
+ $arr['item_wall'] = 1;
+ $arr['item_origin'] = 1;
+ $arr['item_thread_top'] = 1;
+ $arr['item_hidden'] = $item_hidden;
+ $arr['resource_type'] = 'photo';
+ $arr['resource_id'] = $photo['resource_id'];
+ $arr['owner_xchan'] = $channel['channel_hash'];
+ $arr['author_xchan'] = $creator_hash;
+
+ $arr['allow_cid'] = $photo['allow_cid'];
+ $arr['allow_gid'] = $photo['allow_gid'];
+ $arr['deny_cid'] = $photo['deny_cid'];
+ $arr['deny_gid'] = $photo['deny_gid'];
+
+ $arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
+
+ $arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo['resource_id'] . ']'
. '[zmg]' . z_root() . '/photo/' . $photo['resource_id'] . '-' . $photo['scale'] . '[/zmg]'
. '[/zrl]';
@@ -535,6 +603,16 @@ function getGps($exifCoord, $hemi) {
return floatval($flip * ($degrees + ($minutes / 60) + ($seconds / 3600)));
}
+function getGpstimestamp($exifCoord) {
+
+ $hours = count($exifCoord) > 0 ? gps2Num($exifCoord[0]) : 0;
+ $minutes = count($exifCoord) > 1 ? gps2Num($exifCoord[1]) : 0;
+ $seconds = count($exifCoord) > 2 ? gps2Num($exifCoord[2]) : 0;
+
+ return sprintf('%02d:%02d:%02d',$hours,$minutes,$seconds);
+}
+
+
function gps2Num($coordPart) {
$parts = explode('/', $coordPart);
diff --git a/include/poller.php b/include/poller.php
index bc48c3f00..a1b25bf41 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -59,10 +59,9 @@ function poller_run($argv, $argc){
// expire any expired items
$r = q("select id from item where expires != '%s' and expires < %s
- and ( item_restrict & %d ) = 0 ",
+ and item_deleted = 0 ",
dbesc(NULL_DATE),
- db_utcnow(),
- intval(ITEM_DELETED)
+ db_utcnow()
);
if($r) {
require_once('include/items.php');
@@ -91,15 +90,13 @@ function poller_run($argv, $argc){
// (time travel posts). Restrict to items that have come of age in the last
// couple of days to limit the query to something reasonable.
- $r = q("select id from item where ( item_restrict & %d ) > 0 and created <= %s and created > '%s' ",
- intval(ITEM_DELAYED_PUBLISH),
+ $r = q("select id from item where item_delayed = 1 and created <= %s and created > '%s' ",
db_utcnow(),
dbesc(datetime_convert('UTC','UTC','now - 2 days'))
);
if($r) {
foreach($r as $rr) {
- $x = q("update item set item_restrict = ( item_restrict & ~%d ) where id = %d",
- intval(ITEM_DELAYED_PUBLISH),
+ $x = q("update item set item_delayed = 0 where id = %d",
intval($rr['id'])
);
if($x) {
@@ -178,6 +175,9 @@ function poller_run($argv, $argc){
logger('regdir: ' . print_r(z_fetch_url(get_directory_primary() . '/regdir?f=&url=' . urlencode(z_root()) . '&realm=' . urlencode(get_directory_realm())),true));
}
+
+ proc_run('php', 'include/importdoc.php');
+
/**
* End Cron Weekly
*/
@@ -235,7 +235,7 @@ function poller_run($argv, $argc){
if($r) {
require_once('include/photo/photo_driver.php');
foreach($r as $rr) {
- $photos = import_profile_photo($rr['xchan_photo_l'],$rr['xchan_hash']);
+ $photos = import_xchan_photo($rr['xchan_photo_l'],$rr['xchan_hash']);
$x = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s'
where xchan_hash = '%s'",
dbesc($photos[0]),
@@ -296,13 +296,11 @@ function poller_run($argv, $argc){
$randfunc = db_getfunc('RAND');
- $contacts = q("SELECT abook_id, abook_flags, abook_updated, abook_connected, abook_closeness, abook_xchan, abook_channel, xchan_network
- FROM abook LEFT JOIN xchan on abook_xchan = xchan_hash LEFT JOIN account on abook_account = account_id
+ $contacts = q("SELECT * FROM abook LEFT JOIN xchan on abook_xchan = xchan_hash
+ LEFT JOIN account on abook_account = account_id
+ where abook_self = 0
$sql_extra
- AND (( abook_flags & %d ) > 0 OR ( abook_flags = %d ))
AND (( account_flags = %d ) OR ( account_flags = %d )) $abandon_sql ORDER BY $randfunc",
- intval(ABOOK_FLAG_HIDDEN|ABOOK_FLAG_PENDING|ABOOK_FLAG_UNCONNECTED|ABOOK_FLAG_FEED),
- intval(0),
intval(ACCOUNT_OK),
intval(ACCOUNT_UNVERIFIED) // FIXME
@@ -312,15 +310,12 @@ function poller_run($argv, $argc){
foreach($contacts as $contact) {
- if($contact['abook_flags'] & ABOOK_FLAG_SELF)
- continue;
-
$update = false;
$t = $contact['abook_updated'];
$c = $contact['abook_connected'];
- if($contact['abook_flags'] & ABOOK_FLAG_FEED) {
+ if(intval($contact['abook_feed'])) {
$min = service_class_fetch($contact['abook_channel'],'minimum_feedcheck_minutes');
if(! $min)
$min = intval(get_config('system','minimum_feedcheck_minutes'));
@@ -359,15 +354,14 @@ function poller_run($argv, $argc){
// He's dead, Jim
if(strcmp(datetime_convert('UTC','UTC', 'now'),datetime_convert('UTC','UTC', $c . " + 30 day")) > 0) {
- $r = q("update abook set abook_flags = (abook_flags | %d) where abook_id = %d",
- intval(ABOOK_FLAG_ARCHIVED),
+ $r = q("update abook set abook_archived = 1 where abook_id = %d",
intval($contact['abook_id'])
);
$update = false;
continue;
}
- if($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) {
+ if(intval($contact['abook_archived'])) {
$update = false;
continue;
}
@@ -388,7 +382,7 @@ function poller_run($argv, $argc){
}
- if($contact['abook_flags'] & (ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED|ABOOK_FLAG_IGNORED))
+ if(intval($contact['abook_pending']) || intval($contact['abook_archived']) || intval($contact['abook_ignored']) || intval($contact['abook_blocked']))
continue;
if((! $update) && (! $force))
diff --git a/include/reddav.php b/include/reddav.php
index 750ca1b24..c592597a9 100644
--- a/include/reddav.php
+++ b/include/reddav.php
@@ -1,7 +1,7 @@
<?php
/**
* @file include/reddav.php
- * @brief some DAV related functions for RedMatrix.
+ * @brief some DAV related functions for Hubzilla.
*
* This file contains some functions which did not fit into one of the RedDAV
* classes.
@@ -42,8 +42,7 @@ require_once('include/RedDAV/RedBasicAuth.php');
function RedChannelList(&$auth) {
$ret = array();
- $r = q("SELECT channel_id, channel_address FROM channel WHERE NOT (channel_pageflags & %d)>0 AND NOT (channel_pageflags & %d)>0",
- intval(PAGE_REMOVED),
+ $r = q("SELECT channel_id, channel_address FROM channel WHERE channel_removed = 0 AND channel_system = 0 AND NOT (channel_pageflags & %d)>0",
intval(PAGE_HIDDEN)
);
@@ -115,20 +114,18 @@ function RedCollectionData($file, &$auth) {
$permission_error = false;
for ($x = 1; $x < count($path_arr); $x++) {
- $r = q("SELECT id, hash, filename, flags FROM attach WHERE folder = '%s' AND filename = '%s' AND uid = %d AND (flags & %d)>0 $perms LIMIT 1",
+ $r = q("SELECT id, hash, filename, flags, is_dir FROM attach WHERE folder = '%s' AND filename = '%s' AND uid = %d AND is_dir != 0 $perms LIMIT 1",
dbesc($folder),
dbesc($path_arr[$x]),
- intval($channel_id),
- intval(ATTACH_FLAG_DIR)
+ intval($channel_id)
);
if (! $r) {
// path wasn't found. Try without permissions to see if it was the result of permissions.
$errors = true;
- $r = q("select id, hash, filename, flags from attach where folder = '%s' and filename = '%s' and uid = %d and (flags & %d)>0 limit 1",
+ $r = q("select id, hash, filename, flags, is_dir from attach where folder = '%s' and filename = '%s' and uid = %d and is_dir != 0 limit 1",
dbesc($folder),
basename($path_arr[$x]),
- intval($channel_id),
- intval(ATTACH_FLAG_DIR)
+ intval($channel_id)
);
if ($r) {
$permission_error = true;
@@ -136,7 +133,7 @@ function RedCollectionData($file, &$auth) {
break;
}
- if ($r && ($r[0]['flags'] & ATTACH_FLAG_DIR)) {
+ if ($r && intval($r[0]['is_dir'])) {
$folder = $r[0]['hash'];
$path = $path . '/' . $r[0]['filename'];
}
@@ -162,18 +159,17 @@ function RedCollectionData($file, &$auth) {
$prefix = '';
$suffix = 'GROUP BY filename';
}
- $r = q("select $prefix id, uid, hash, filename, filetype, filesize, revision, folder, flags, created, edited from attach where folder = '%s' and uid = %d $perms $suffix",
+ $r = q("select $prefix id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, created, edited from attach where folder = '%s' and uid = %d $perms $suffix",
dbesc($folder),
intval($channel_id)
);
foreach ($r as $rr) {
//logger('filename: ' . $rr['filename'], LOGGER_DEBUG);
- if ($rr['flags'] & ATTACH_FLAG_DIR) {
- // @todo can't we drop '/cloud'? it gets stripped off anyway in RedDirectory
- $ret[] = new RedDAV\RedDirectory('/cloud' . $path . '/' . $rr['filename'], $auth);
+ if (intval($rr['is_dir'])) {
+ $ret[] = new RedDAV\RedDirectory($path . '/' . $rr['filename'], $auth);
} else {
- $ret[] = new RedDAV\RedFile('/cloud' . $path . '/' . $rr['filename'], $rr, $auth);
+ $ret[] = new RedDAV\RedFile($path . '/' . $rr['filename'], $rr, $auth);
}
}
@@ -200,6 +196,12 @@ function RedFileData($file, &$auth, $test = false) {
if ($x === 0) {
$file = substr($file, 6);
}
+ else {
+ $x = strpos($file,'/dav');
+ if($x === 0)
+ $file = substr($file,4);
+ }
+
if ((! $file) || ($file === '/')) {
return new RedDAV\RedDirectory('/', $auth);
@@ -237,19 +239,18 @@ function RedFileData($file, &$auth, $test = false) {
$errors = false;
for ($x = 1; $x < count($path_arr); $x++) {
- $r = q("select id, hash, filename, flags from attach where folder = '%s' and filename = '%s' and uid = %d and (flags & %d)>0 $perms",
+ $r = q("select id, hash, filename, flags, is_dir from attach where folder = '%s' and filename = '%s' and uid = %d and is_dir != 0 $perms",
dbesc($folder),
dbesc($path_arr[$x]),
- intval($channel_id),
- intval(ATTACH_FLAG_DIR)
+ intval($channel_id)
);
- if ($r && ( $r[0]['flags'] & ATTACH_FLAG_DIR)) {
+ if ($r && intval($r[0]['is_dir'])) {
$folder = $r[0]['hash'];
$path = $path . '/' . $r[0]['filename'];
}
if (! $r) {
- $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, created, edited from attach
+ $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, os_storage, created, edited from attach
where folder = '%s' and filename = '%s' and uid = %d $perms order by filename limit 1",
dbesc($folder),
dbesc(basename($file)),
@@ -258,7 +259,7 @@ function RedFileData($file, &$auth, $test = false) {
}
if (! $r) {
$errors = true;
- $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, created, edited from attach
+ $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, os_storage, created, edited from attach
where folder = '%s' and filename = '%s' and uid = %d order by filename limit 1",
dbesc($folder),
dbesc(basename($file)),
@@ -273,7 +274,7 @@ function RedFileData($file, &$auth, $test = false) {
if ($test)
return true;
// final component was a directory.
- return new RedDAV\RedDirectory('/cloud/' . $file, $auth);
+ return new RedDAV\RedDirectory($file, $auth);
}
if ($errors) {
@@ -291,11 +292,10 @@ function RedFileData($file, &$auth, $test = false) {
if ($test)
return true;
- if ($r[0]['flags'] & ATTACH_FLAG_DIR) {
- // @todo can't we drop '/cloud'? it gets stripped off anyway in RedDirectory
- return new RedDAV\RedDirectory('/cloud' . $path . '/' . $r[0]['filename'], $auth);
+ if (intval($r[0]['is_dir'])) {
+ return new RedDAV\RedDirectory($path . '/' . $r[0]['filename'], $auth);
} else {
- return new RedDAV\RedFile('/cloud' . $path . '/' . $r[0]['filename'], $r[0], $auth);
+ return new RedDAV\RedFile($path . '/' . $r[0]['filename'], $r[0], $auth);
}
}
return false;
diff --git a/include/security.php b/include/security.php
index bad39d805..7cc93fc06 100644
--- a/include/security.php
+++ b/include/security.php
@@ -71,9 +71,8 @@ function authenticate_success($user_record, $login_initial = false, $interactive
/* This account has never created a channel. Send them to new_channel by default */
if($a->module === 'login') {
- $r = q("select count(channel_id) as total from channel where channel_account_id = %d and not ( channel_pageflags & %d)>0",
- intval($a->account['account_id']),
- intval(PAGE_REMOVED)
+ $r = q("select count(channel_id) as total from channel where channel_account_id = %d and channel_removed = 0 ",
+ intval($a->account['account_id'])
);
if(($r) && (! $r[0]['total']))
goaway(z_root() . '/new_channel');
@@ -94,20 +93,17 @@ function change_channel($change_channel) {
$ret = false;
if($change_channel) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and channel_account_id = %d and not ( channel_pageflags & %d)>0 limit 1",
+ $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and channel_account_id = %d and channel_removed = 0 limit 1",
intval($change_channel),
- intval(get_account_id()),
- intval(PAGE_REMOVED)
+ intval(get_account_id())
);
// It's not there. Is this an administrator, and is this the sys channel?
if (is_developer()) {
if (! $r) {
if (is_site_admin()) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and ( channel_pageflags & %d) and not (channel_pageflags & %d )>0 limit 1",
- intval($change_channel),
- intval(PAGE_SYSTEM),
- intval(PAGE_REMOVED)
+ $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel_id = %d and channel_system = 1 and channel_removed = 0 limit 1",
+ intval($change_channel)
);
}
}
@@ -404,9 +400,9 @@ function stream_perms_api_uids($perms = NULL, $limit = 0, $rand = 0 ) {
$random_sql = (($rand) ? " ORDER BY " . db_getfunc('RAND') . " " : '');
if(local_channel())
$ret[] = local_channel();
- $r = q("select channel_id from channel where channel_r_stream > 0 and ( channel_r_stream & %d )>0 and ( channel_pageflags & %d ) = 0 $random_sql $limit_sql ",
+ $r = q("select channel_id from channel where channel_r_stream > 0 and ( channel_r_stream & %d )>0 and ( channel_pageflags & %d ) = 0 and channel_system = 0 and channel_removed = 0 $random_sql $limit_sql ",
intval($perms),
- intval(PAGE_ADULT|PAGE_CENSORED|PAGE_SYSTEM|PAGE_REMOVED)
+ intval(PAGE_ADULT|PAGE_CENSORED)
);
if($r) {
foreach($r as $rr)
@@ -437,9 +433,9 @@ function stream_perms_xchans($perms = NULL ) {
if(local_channel())
$ret[] = get_observer_hash();
- $r = q("select channel_hash from channel where channel_r_stream > 0 and (channel_r_stream & %d)>0 and not (channel_pageflags & %d)>0",
+ $r = q("select channel_hash from channel where channel_r_stream > 0 and (channel_r_stream & %d)>0 and not (channel_pageflags & %d)>0 and channel_system = 0 and channel_removed = 0 ",
intval($perms),
- intval(PAGE_ADULT|PAGE_CENSORED|PAGE_SYSTEM|PAGE_REMOVED)
+ intval(PAGE_ADULT|PAGE_CENSORED)
);
if($r) {
foreach($r as $rr)
diff --git a/include/session.php b/include/session.php
index 31b3f0614..92004bc18 100644
--- a/include/session.php
+++ b/include/session.php
@@ -98,9 +98,6 @@ function ref_session_destroy ($id) {
function ref_session_gc($expire) {
q("DELETE FROM session WHERE expire < %d", dbesc(time()));
- if (! get_config('system', 'innodb'))
- db_optimizetable('session');
-
return true;
}
diff --git a/include/socgraph.php b/include/socgraph.php
index 0ad7c4034..e44a8ea9a 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -40,7 +40,7 @@ function poco_load($xchan = '', $url = null) {
return;
}
- $url = $url . '?f=&fields=displayName,hash,urls,photos,rating' ;
+ $url = $url . '?f=&fields=displayName,hash,urls,photos' ;
logger('poco_load: ' . $url, LOGGER_DEBUG);
@@ -115,8 +115,6 @@ function poco_load($xchan = '', $url = null) {
$name = $entry['displayName'];
$hash = $entry['hash'];
- $rating = ((array_key_exists('rating',$entry) && (! is_array($entry['rating']))) ? intval($entry['rating']) : 0);
- $rating_text = ((array_key_exists('rating_text',$entry)) ? escape_tags($entry['rating_text']) :'');
if(x($entry,'urls') && is_array($entry['urls'])) {
foreach($entry['urls'] as $url) {
@@ -214,7 +212,7 @@ function poco_load($xchan = '', $url = null) {
function count_common_friends($uid,$xchan) {
$r = q("SELECT count(xlink_id) as total from xlink where xlink_xchan = '%s' and xlink_static = 0 and xlink_link in
- (select abook_xchan from abook where abook_xchan != '%s' and abook_channel = %d and abook_flags = 0 )",
+ (select abook_xchan from abook where abook_xchan != '%s' and abook_channel = %d and abook_self = 0 )",
dbesc($xchan),
dbesc($xchan),
intval($uid)
@@ -235,7 +233,7 @@ function common_friends($uid,$xchan,$start = 0,$limit=100000000,$shuffle = false
$sql_extra = " order by xchan_name asc ";
$r = q("SELECT * from xchan left join xlink on xlink_link = xchan_hash where xlink_xchan = '%s' and xlink_static = 0 and xlink_link in
- (select abook_xchan from abook where abook_xchan != '%s' and abook_channel = %d and abook_flags = 0 ) $sql_extra limit %d offset %d",
+ (select abook_xchan from abook where abook_xchan != '%s' and abook_channel = %d and abook_self = 0 ) $sql_extra limit %d offset %d",
dbesc($xchan),
dbesc($xchan),
intval($uid),
@@ -329,15 +327,13 @@ function suggestion_query($uid, $myxchan, $start = 0, $limit = 80) {
and not xlink_link in ( select abook_xchan from abook where abook_channel = %d )
and not xlink_link in ( select xchan from xign where uid = %d )
and xlink_xchan != ''
+ and xchan_hidden = 0
+ and xchan_deleted = 0
and xlink_static = 0
- and not ( xchan_flags & %d )>0
- and not ( xchan_flags & %d )>0
group by xchan_hash order by total desc limit %d offset %d ",
intval($uid),
intval($uid),
intval($uid),
- intval(XCHAN_FLAGS_HIDDEN),
- intval(XCHAN_FLAGS_DELETED),
intval($limit),
intval($start)
);
@@ -350,14 +346,12 @@ function suggestion_query($uid, $myxchan, $start = 0, $limit = 80) {
where xlink_xchan = ''
and not xlink_link in ( select abook_xchan from abook where abook_channel = %d )
and not xlink_link in ( select xchan from xign where uid = %d )
+ and xchan_hidden = 0
+ and xchan_deleted = 0
and xlink_static = 0
- and not ( xchan_flags & %d )>0
- and not ( xchan_flags & %d )>0
group by xchan_hash order by total desc limit %d offset %d ",
intval($uid),
intval($uid),
- intval(XCHAN_FLAGS_HIDDEN),
- intval(XCHAN_FLAGS_DELETED),
intval($limit),
intval($start)
);
@@ -465,16 +459,16 @@ function poco($a,$extended = false) {
}
if($justme)
- $sql_extra = " and ( abook_flags & " . ABOOK_FLAG_SELF . " )>0 ";
+ $sql_extra = " and abook_self = 1 ";
else
- $sql_extra = " and abook_flags = 0 ";
+ $sql_extra = " and abook_self = 0 ";
if($cid)
- $sql_extra = sprintf(" and abook_id = %d and ( abook_flags & " . ABOOK_FLAG_HIDDEN . " ) = 0 ",intval($cid));
+ $sql_extra = sprintf(" and abook_id = %d and abook_hidden = 0 ",intval($cid));
if($system_mode) {
- $r = q("SELECT count(*) as `total` from abook where ( abook_flags & " . ABOOK_FLAG_SELF .
- " )>0 and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = '1') ");
+ $r = q("SELECT count(*) as `total` from abook where abook_self = 1
+ and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = '1') ");
}
else {
$r = q("SELECT count(*) as `total` from abook where abook_channel = %d
@@ -497,8 +491,9 @@ function poco($a,$extended = false) {
$itemsPerPage = ((x($_GET,'count') && intval($_GET['count'])) ? intval($_GET['count']) : $totalResults);
if($system_mode) {
- $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where ( abook_flags & " . ABOOK_FLAG_SELF .
- " )>0 and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = '1') limit %d offset %d ",
+ $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_self = 1
+ and abook_channel in (select uid from pconfig where cat = 'system' and k = 'suggestme' and v = '1')
+ limit %d offset %d ",
intval($itemsPerPage),
intval($startIndex)
);
@@ -580,13 +575,6 @@ function poco($a,$extended = false) {
$entry['preferredUsername'] = substr($rr['xchan_addr'],0,strpos($rr['xchan_addr'],'@'));
if($fields_ret['photos'])
$entry['photos'] = array(array('value' => $rr['xchan_photo_l'], 'mimetype' => $rr['xchan_photo_mimetype'], 'type' => 'profile'));
- if($fields_ret['rating']) {
- $entry['rating'] = ((array_key_exists('abook_rating',$rr)) ? intval($rr['abook_rating']) : 0);
- $entry['rating_text'] = ((array_key_exists('abook_rating_text',$rr)) ? $rr['abook_rating_text'] : '');
- // maybe this should be a composite calculated rating in $system_mode
- if($system_mode)
- $entry['rating'] = 0;
- }
$ret['entry'][] = $entry;
}
}
@@ -609,4 +597,4 @@ function poco($a,$extended = false) {
else
http_status_exit(500);
-} \ No newline at end of file
+}
diff --git a/include/statistics_fns.php b/include/statistics_fns.php
index 288925a2c..ce2eee5e7 100644
--- a/include/statistics_fns.php
+++ b/include/statistics_fns.php
@@ -23,8 +23,7 @@ function update_channels_active_halfyear_stat() {
$s .= ',';
$s .= intval($rr['channel_id']);
}
- $x = q("select uid from item where uid in ( $s ) and (item_flags & %d)>0 and created > %s - INTERVAL %s group by uid",
- intval(ITEM_WALL),
+ $x = q("select uid from item where uid in ( $s ) and item_wall = 1 and created > %s - INTERVAL %s group by uid",
db_utcnow(), db_quoteinterval('6 MONTH')
);
if($x) {
@@ -50,8 +49,7 @@ function update_channels_active_monthly_stat() {
$s .= ',';
$s .= intval($rr['channel_id']);
}
- $x = q("select uid from item where uid in ( $s ) and ( item_flags & %d )>0 and created > %s - INTERVAL %s group by uid",
- intval(ITEM_WALL),
+ $x = q("select uid from item where uid in ( $s ) and item_wall = 1 and created > %s - INTERVAL %s group by uid",
db_utcnow(), db_quoteinterval('1 MONTH')
);
if($x) {
@@ -66,8 +64,7 @@ function update_channels_active_monthly_stat() {
}
function update_local_posts_stat() {
- $posts = q("SELECT COUNT(*) AS local_posts FROM `item` WHERE (item_flags & %d)>0 ",
- intval(ITEM_WALL) );
+ $posts = q("SELECT COUNT(*) AS local_posts FROM `item` WHERE item_wall = 1 ");
if (is_array($posts)) {
$local_posts_stat = intval($posts[0]["local_posts"]);
set_config('system','local_posts_stat',$local_posts_stat);
diff --git a/include/taxonomy.php b/include/taxonomy.php
index a5da190d4..a82cf94f7 100644
--- a/include/taxonomy.php
+++ b/include/taxonomy.php
@@ -101,7 +101,7 @@ function format_term_for_display($term) {
// Tag cloud functions - need to be adpated to this database format
-function tagadelic($uid, $count = 0, $authors = '', $flags = 0, $restrict = 0, $type = TERM_HASHTAG) {
+function tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0, $restrict = 0, $type = TERM_HASHTAG) {
require_once('include/security.php');
@@ -111,8 +111,10 @@ function tagadelic($uid, $count = 0, $authors = '', $flags = 0, $restrict = 0, $
$sql_options = item_permissions_sql($uid);
$count = intval($count);
- if($flags)
- $sql_options .= " and ((item_flags & " . intval($flags) . ") = " . intval($flags) . ") ";
+ if($flags) {
+ if($flags === 'wall')
+ $sql_options .= " and item_wall = 1 ";
+ }
if($authors) {
if(! is_array($authors))
@@ -122,10 +124,15 @@ function tagadelic($uid, $count = 0, $authors = '', $flags = 0, $restrict = 0, $
$sql_options .= " and author_xchan in (" . implode(',',$authors) . ") ";
}
+ if($owner) {
+ $sql_options .= " and owner_xchan = '" . dbesc($owner) . "' ";
+ }
+
+
// Fetch tags
$r = q("select term, count(term) as total from term left join item on term.oid = item.id
where term.uid = %d and term.type = %d
- and otype = %d and item_restrict = %d
+ and otype = %d and item_type = %d and item_private = 0
$sql_options
group by term order by total desc %s",
intval($uid),
@@ -213,10 +220,10 @@ function dir_tagadelic($count = 0) {
}
-function tagblock($link,$uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$type = TERM_HASHTAG) {
+function tagblock($link,$uid,$count = 0,$authors = '',$owner = '', $flags = 0,$restrict = 0,$type = TERM_HASHTAG) {
$o = '';
- $r = tagadelic($uid,$count,$authors,$flags,$restrict,$type);
+ $r = tagadelic($uid,$count,$authors,$owner, $flags,$restrict,$type);
if($r) {
$o = '<div class="tagblock widget"><h3>' . t('Tags') . '</h3><div class="tags" align="center">';
@@ -230,10 +237,10 @@ function tagblock($link,$uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$
}
-function wtagblock($uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$type = TERM_HASHTAG) {
+function wtagblock($uid,$count = 0,$authors = '',$owner = '', $flags = 0,$restrict = 0,$type = TERM_HASHTAG) {
$o = '';
- $r = tagadelic($uid,$count,$authors,$flags,$restrict,$type);
+ $r = tagadelic($uid,$count,$authors,$owner, $flags,$restrict,$type);
if($r) {
$c = q("select channel_address from channel where channel_id = %d limit 1",
@@ -251,10 +258,10 @@ function wtagblock($uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$type
}
-function catblock($uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$type = TERM_CATEGORY) {
+function catblock($uid,$count = 0,$authors = '',$owner = '', $flags = 0,$restrict = 0,$type = TERM_CATEGORY) {
$o = '';
- $r = tagadelic($uid,$count,$authors,$flags,$restrict,$type);
+ $r = tagadelic($uid,$count,$authors,$owner,$flags,$restrict,$type);
if($r) {
$c = q("select channel_address from channel where channel_id = %d limit 1",
@@ -334,7 +341,7 @@ function get_things($profile_hash,$uid) {
$sql_extra = (($profile_hash) ? " and obj_page = '" . $profile_hash . "' " : '');
- $r = q("select * from obj left join term on obj_obj = term_hash where term_hash != '' and uid = %d and obj_type = %d $sql_extra order by obj_verb, term",
+ $r = q("select * from obj where obj_channel = %d and obj_type = %d $sql_extra order by obj_verb, obj_term",
intval($uid),
intval(TERM_OBJ_THING)
);
@@ -350,8 +357,8 @@ function get_things($profile_hash,$uid) {
foreach($r as $rr) {
$rr['profile_name'] = '';
- if(! in_array($rr['term_hash'],$profile_hashes))
- $profile_hashes[] = $rr['term_hash'];
+ if(! in_array($rr['obj_obj'],$profile_hashes))
+ $profile_hashes[] = $rr['obj_obj'];
}
stringify_array_elms($profile_hashes);
if(! $profile_hash) {
@@ -383,7 +390,7 @@ function get_things($profile_hash,$uid) {
$l = q("select xchan_name, xchan_url from likes left join xchan on likee = xchan_hash where
target_type = '%s' and target_id = '%s' and channel_id = %d",
dbesc(ACTIVITY_OBJ_THING),
- dbesc($rr['term_hash']),
+ dbesc($rr['obj_obj']),
intval($uid)
);
@@ -393,7 +400,7 @@ function get_things($profile_hash,$uid) {
if(! $things[$rr['obj_verb']])
$things[$rr['obj_verb']] = array();
- $things[$rr['obj_verb']][] = array('term' => $rr['term'],'url' => $rr['url'],'img' => $rr['imgurl'], 'profile' => $rr['profile_name'],'term_hash' => $rr['term_hash'], 'likes' => $l,'like_count' => count($l),'like_label' => tt('Like','Likes',count($l),'noun'));
+ $things[$rr['obj_verb']][] = array('term' => $rr['obj_term'],'url' => $rr['obj_url'],'img' => $rr['obj_imgurl'], 'profile' => $rr['profile_name'],'term_hash' => $rr['obj_obj'], 'likes' => $l,'like_count' => count($l),'like_label' => tt('Like','Likes',count($l),'noun'));
}
$sorted_things = array();
if($things) {
diff --git a/include/text.php b/include/text.php
index f4122845e..4d9670806 100644
--- a/include/text.php
+++ b/include/text.php
@@ -454,63 +454,7 @@ function alt_pager(&$a, $i, $more = '', $less = '') {
}
-/**
- * @brief Turn user/group ACLs stored as angle bracketed text into arrays.
- *
- * turn string array of angle-bracketed elements into string array
- * e.g. "<123xyz><246qyo><sxo33e>" => array(123xyz,246qyo,sxo33e);
- *
- * @param string $s
- * @return array
- */
-function expand_acl($s) {
- $ret = array();
- if(strlen($s)) {
- $t = str_replace('<','',$s);
- $a = explode('>',$t);
- foreach($a as $aa) {
- if($aa)
- $ret[] = $aa;
- }
- }
-
- return $ret;
-}
-
-/**
- * @brief Used to wrap ACL elements in angle brackets for storage.
- *
- * @param[in,out] array &$item
- */
-function sanitise_acl(&$item) {
- if (strlen($item))
- $item = '<' . notags(trim($item)) . '>';
- else
- unset($item);
-}
-
-/**
- * @brief Convert an ACL array to a storable string.
- *
- * @param array $p
- * @return array
- */
-function perms2str($p) {
- $ret = '';
-
- if (is_array($p))
- $tmp = $p;
- else
- $tmp = explode(',', $p);
-
- if (is_array($tmp)) {
- array_walk($tmp, 'sanitise_acl');
- $ret = implode('', $tmp);
- }
-
- return $ret;
-}
/**
* @brief Generate a guaranteed unique (for this domain) item ID for ATOM.
@@ -575,9 +519,9 @@ function attribute_contains($attr, $s) {
}
/**
- * @brief Logging function for RedMatrix.
+ * @brief Logging function for Hubzilla.
*
- * Logging output is configured through RedMatrix's system config. The log file
+ * Logging output is configured through Hubzilla's system config. The log file
* is set in system logfile, log level in system loglevel and to enable logging
* set system debugging.
*
@@ -743,7 +687,7 @@ function get_tags($s) {
// make sure the longer tags are returned first so that if two or more have common substrings
// we'll replace the longest ones first. Otherwise the common substring would be found in
// both strings and the string replacement would link both to the shorter strings and
- // fail to link the longer string. RedMatrix github issue #378
+ // fail to link the longer string. Hubzilla github issue #378
usort($ret,'tag_sort_length');
@@ -808,20 +752,21 @@ function contact_block() {
return;
$is_owner = ((local_channel() && local_channel() == $a->profile['uid']) ? true : false);
+ $sql_extra = '';
+
+ $abook_flags = " and abook_pending = 0 and abook_self = 0 ";
- $abook_flags = ABOOK_FLAG_PENDING|ABOOK_FLAG_SELF;
- $xchan_flags = XCHAN_FLAGS_ORPHAN|XCHAN_FLAGS_DELETED;
if(! $is_owner) {
- $abook_flags = $abook_flags | ABOOK_FLAG_HIDDEN;
- $xchan_flags = $xchan_flags | XCHAN_FLAGS_HIDDEN;
+ $abook_flags .= " and abook_hidden = 0 ";
+ $sql_extra = " and xchan_hidden = 0 ";
}
if((! is_array($a->profile)) || ($a->profile['hide_friends']))
return $o;
- $r = q("SELECT COUNT(abook_id) AS total FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d and ( abook_flags & %d ) = 0 and ( xchan_flags & %d ) = 0",
- intval($a->profile['uid']),
- intval($abook_flags),
- intval($xchan_flags)
+
+ $r = q("SELECT COUNT(abook_id) AS total FROM abook left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d
+ $abook_flags and xchan_orphan = 0 and xchan_deleted = 0 $sql_extra",
+ intval($a->profile['uid'])
);
if(count($r)) {
$total = intval($r[0]['total']);
@@ -830,21 +775,19 @@ function contact_block() {
$contacts = t('No connections');
$micropro = null;
} else {
-
+
$randfunc = db_getfunc('RAND');
-
- $r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash WHERE abook_channel = %d AND ( abook_flags & %d ) = 0 and ( xchan_flags & %d ) = 0 ORDER BY $randfunc LIMIT %d",
- intval($a->profile['uid']),
- intval($abook_flags|ABOOK_FLAG_ARCHIVED),
- intval($xchan_flags),
- intval($shown)
+
+ $r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash WHERE abook_channel = %d $abook_flags and abook_archived = 0 and xchan_orphan = 0 and xchan_deleted = 0 $sql_extra ORDER BY $randfunc LIMIT %d",
+ intval($a->profile['uid']),
+ intval($shown)
);
if(count($r)) {
$contacts = sprintf( tt('%d Connection','%d Connections', $total),$total);
$micropro = Array();
foreach($r as $rr) {
- $rr['archived'] = (($rr['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? true : false);
+ $rr['archived'] = (intval($rr['abook_archived']) ? true : false);
$micropro[] = micropro($rr,true,'mpfriend');
}
}
@@ -1241,17 +1184,16 @@ function link_compare($a, $b) {
function unobscure(&$item) {
- if(array_key_exists('item_flags',$item) && ($item['item_flags'] & ITEM_OBSCURED)) {
+ if(array_key_exists('item_obscured',$item) && intval($item['item_obscured'])) {
$key = get_config('system','prvkey');
if($item['title'])
$item['title'] = crypto_unencapsulate(json_decode_plus($item['title']),$key);
if($item['body'])
$item['body'] = crypto_unencapsulate(json_decode_plus($item['body']),$key);
if(get_config('system','item_cache')) {
- q("update item set title = '%s', body = '%s', item_flags = %d where id = %d",
+ q("update item set title = '%s', body = '%s', item_obscured = 0 where id = %d",
dbesc($item['title']),
dbesc($item['body']),
- intval($item['item_flags'] - ITEM_OBSCURED),
intval($item['id'])
);
}
@@ -1259,12 +1201,11 @@ function unobscure(&$item) {
}
function unobscure_mail(&$item) {
- if(array_key_exists('mail_flags',$item) && ($item['mail_flags'] & MAIL_OBSCURED)) {
- $key = get_config('system','prvkey');
+ if(array_key_exists('mail_obscured',$item) && intval($item['mail_obscured'])) {
if($item['title'])
- $item['title'] = crypto_unencapsulate(json_decode_plus($item['title']),$key);
+ $item['title'] = base64url_decode(str_rot47($item['title']));
if($item['body'])
- $item['body'] = crypto_unencapsulate(json_decode_plus($item['body']),$key);
+ $item['body'] = base64url_decode(str_rot47($item['body']));
}
}
@@ -1304,7 +1245,7 @@ function theme_attachments(&$item) {
$title = htmlspecialchars($r['title'], ENT_COMPAT,'UTF-8');
if(! $title)
$title = t('unknown.???');
- $title .= ' ' . $r['length'] . ' ' . t('bytes');
+ $title .= ' ' . (($r['length']) ? $r['length'] . ' ' . t('bytes') : '');
require_once('include/identity.php');
if(is_foreigner($item['author_xchan']))
@@ -1441,16 +1382,24 @@ function generate_named_map($location) {
function prepare_body(&$item,$attach = false) {
- call_hooks('prepare_body_init', $item);
-
- unobscure($item);
-
- $s = prepare_text($item['body'],$item['mimetype']);
+// if($item['html']) {
+// $s = bb_observer($item['html']);
+// }
+// else {
+ call_hooks('prepare_body_init', $item);
+// unobscure($item);
+ $s = prepare_text($item['body'],$item['mimetype'], false);
+// }
$prep_arr = array('item' => $item, 'html' => $s);
call_hooks('prepare_body', $prep_arr);
$s = $prep_arr['html'];
+// q("update item set html = '%s' where id = %d",
+// dbesc($s),
+// intval($item['id'])
+// );
+
if(! $attach) {
return $s;
}
@@ -1509,7 +1458,6 @@ function prepare_body(&$item,$attach = false) {
$prep_arr = array('item' => $item, 'html' => $s);
call_hooks('prepare_body_final', $prep_arr);
-
return $prep_arr['html'];
}
@@ -1520,7 +1468,7 @@ function prepare_body(&$item,$attach = false) {
* @param sting $content_type
* @return string
*/
-function prepare_text($text, $content_type = 'text/bbcode') {
+function prepare_text($text, $content_type = 'text/bbcode', $cache = false) {
switch($content_type) {
case 'text/plain':
@@ -1558,9 +1506,9 @@ function prepare_text($text, $content_type = 'text/bbcode') {
require_once('include/bbcode.php');
if(stristr($text,'[nosmile]'))
- $s = bbcode($text);
+ $s = bbcode($text,false,true,$cache);
else
- $s = smilies(bbcode($text));
+ $s = smilies(bbcode($text,false,true,$cache));
$s = zidify_links($s);
break;
}
@@ -1672,9 +1620,9 @@ function unamp($s) {
}
function layout_select($channel_id, $current = '') {
- $r = q("select mid,sid from item left join item_id on iid = item.id where service = 'PDL' and item.uid = item_id.uid and item_id.uid = %d and (item_restrict & %d)>0",
+ $r = q("select mid,sid from item left join item_id on iid = item.id where service = 'PDL' and item.uid = item_id.uid and item_id.uid = %d and item_type = %d ",
intval($channel_id),
- intval(ITEM_PDL)
+ intval(ITEM_TYPE_PDL)
);
if($r) {
@@ -2027,13 +1975,13 @@ function xchan_query(&$items,$abook = true,$effective_uid = 0) {
if(count($arr)) {
if($abook) {
$chans = q("select * from xchan left join hubloc on hubloc_hash = xchan_hash left join abook on abook_xchan = xchan_hash and abook_channel = %d
- where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )>0",
+ where xchan_hash in (" . implode(',', $arr) . ") and hubloc_primary = 1",
intval($item['uid'])
);
}
else {
$chans = q("select xchan.*,hubloc.* from xchan left join hubloc on hubloc_hash = xchan_hash
- where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )>0");
+ where xchan_hash in (" . implode(',', $arr) . ") and hubloc_primary = 1");
}
$xchans = q("select * from xchan where xchan_hash in (" . implode(',',$arr) . ") and xchan_network in ('rss','unknown')");
if(! $chans)
@@ -2061,7 +2009,7 @@ function xchan_mail_query(&$item) {
if(count($arr)) {
$chans = q("select xchan.*,hubloc.* from xchan left join hubloc on hubloc_hash = xchan_hash
- where xchan_hash in (" . implode(',', $arr) . ") and ( hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) . " )>0");
+ where xchan_hash in (" . implode(',', $arr) . ") and hubloc_primary = 1");
}
if($chans) {
$item['from'] = find_xchan_in_array($item['from_xchan'],$chans);
@@ -2610,3 +2558,9 @@ function userReadableSize($size) {
return $ret;
}
+
+function str_rot47($str) {
+ return strtr($str,
+ '!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~',
+ 'PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO');
+}
diff --git a/include/widgets.php b/include/widgets.php
index 032b1c67e..42d9db19a 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -29,7 +29,7 @@ function widget_tagcloud($args) {
$type = TERM_CATEGORY;
// FIXME there exists no $authors variable
- $r = tagadelic($uid, $count, $authors, $flags, ITEM_WEBPAGE, $type);
+ $r = tagadelic($uid, $count, $authors, $owner, $flags, ITEM_TYPE_WEBPAGE, $type);
if($r) {
$o = '<div class="tagblock widget"><h3>' . t('Categories') . '</h3><div class="tags" align="center">';
@@ -155,9 +155,8 @@ function widget_follow($args) {
$a = get_app();
$uid =$a->channel['channel_id'];
- $r = q("select count(*) as total from abook where abook_channel = %d and not (abook_flags & %d)>0 ",
- intval($uid),
- intval(ABOOK_FLAG_SELF)
+ $r = q("select count(*) as total from abook where abook_channel = %d and abook_self = 0 ",
+ intval($uid)
);
if($r)
$total_channels = $r[0]['total'];
@@ -394,7 +393,7 @@ function widget_tagcloud_wall($arr) {
$limit = ((array_key_exists('limit', $arr)) ? intval($arr['limit']) : 50);
if(feature_enabled($a->profile['profile_uid'], 'tagadelic'))
- return wtagblock($a->profile['profile_uid'], $limit, $a->profile['channel_hash'], ITEM_WALL);
+ return wtagblock($a->profile['profile_uid'], $limit, '', $a->profile['channel_hash'], 'wall');
return '';
}
@@ -409,8 +408,7 @@ function widget_catcloud_wall($arr) {
$limit = ((array_key_exists('limit',$arr)) ? intval($arr['limit']) : 50);
- return catblock($a->profile['profile_uid'], $limit, $a->profile['channel_hash'], ITEM_WALL);
-
+ return catblock($a->profile['profile_uid'], $limit, '', $a->profile['channel_hash'], 'wall');
}
@@ -475,9 +473,8 @@ function widget_settings_menu($arr) {
$role = get_pconfig(local_channel(),'system','permissions_role');
- $abk = q("select abook_id from abook where abook_channel = %d and ( abook_flags & %d )>0 limit 1",
- intval(local_channel()),
- intval(ABOOK_FLAG_SELF)
+ $abk = q("select abook_id from abook where abook_channel = %d and abook_self = 1 limit 1",
+ intval(local_channel())
);
if($abk)
$abook_self_id = $abk[0]['abook_id'];
@@ -608,7 +605,7 @@ function widget_photo_albums($arr) {
if(! $a->profile['profile_uid'])
return '';
$channelx = channelx_by_n($a->profile['profile_uid']);
- if((! $channelx) || (! perm_is_allowed($a->profile['profile_uid'], get_observer_hash(), 'view_photos')))
+ if((! $channelx) || (! perm_is_allowed($a->profile['profile_uid'], get_observer_hash(), 'view_storage')))
return '';
require_once('include/photos.php');
@@ -706,7 +703,7 @@ function widget_item($arr) {
require_once('include/security.php');
$sql_extra = item_permissions_sql($uid);
- $r = q("select * from item where mid = '%s' and uid = %d and item_restrict = " . intval(ITEM_WEBPAGE) . " $sql_extra limit 1",
+ $r = q("select * from item where mid = '%s' and uid = %d and item_type = " . intval(ITEM_TYPE_WEBPAGE) . " $sql_extra limit 1",
dbesc($arr['mid']),
intval($uid)
);
@@ -904,10 +901,10 @@ function widget_random_block($arr) {
$r = q("select item.* from item left join item_id on item.id = item_id.iid
where item.uid = %d and sid like '%s' and service = 'BUILDBLOCK' and
- item_restrict = %d $sql_options order by $randfunc limit 1",
+ item_type = %d $sql_options order by $randfunc limit 1",
intval($channel_id),
dbesc('%' . $contains . '%'),
- intval(ITEM_BUILDBLOCK)
+ intval(ITEM_TYPE_BLOCK)
);
if($r) {
@@ -983,8 +980,98 @@ function widget_rating($arr) {
}
// used by site ratings pages to provide a return link
-function widget_pubsites() {
+function widget_pubsites($arr) {
if(get_app()->poi)
return;
return '<div class="widget"><ul class="nav nav-pills"><li><a href="pubsites">' . t('Public Hubs') . '</a></li></ul></div>';
}
+
+
+function widget_forums($arr) {
+
+ $a = get_app();
+
+ if(! local_channel())
+ return '';
+
+ $o = '';
+
+ if(is_array($arr) && array_key_exists('limit',$arr))
+ $limit = " limit " . intval($limit) . " ";
+ else
+ $limit = '';
+
+ $unseen = 0;
+ if(is_array($arr) && array_key_exists('unseen',$arr) && intval($arr['unseen']))
+ $unseen = 1;
+
+ $perms_sql = item_permissions_sql(local_channel()) . item_normal();
+
+ $r1 = q("select * from abook left join xchan on abook_xchan = xchan_hash where xchan_pubforum = 1 and abook_channel = %d order by xchan_name $limit ",
+ intval(local_channel())
+ );
+ if(! $r1)
+ return $o;
+
+ $str = '';
+
+ // Trying to cram all this into a single query with joins and the proper group by's is tough.
+ // There also should be a way to update this via ajax.
+
+ for($x = 0; $x < count($r1); $x ++) {
+ $r = q("select sum(item_unseen) as unseen from item where owner_xchan = '%s' and uid = %d $perms_sql ",
+ dbesc($r1[$x]['xchan_hash']),
+ intval(local_channel())
+ );
+ if($r)
+ $r1[$x]['unseen'] = $r[0]['unseen'];
+ }
+
+ if($r1) {
+ $o .= '<div class="widget">';
+ $o .= '<h3>' . t('Forums') . '</h3><ul class="nav nav-pills nav-stacked">';
+
+ foreach($r1 as $rr) {
+ if($unseen && (! intval($rr['unseen'])))
+ continue;
+ $o .= '<li><span class="pull-right">' . ((intval($rr['unseen'])) ? intval($rr['unseen']) : '') . '</span><a href="network?f=&cid=' . $rr['abook_id'] . '" ><img src="' . $rr['xchan_photo_s'] . '" style="width: 16px; height: 16px;" /> ' . $rr['xchan_name'] . '</a></li>';
+ }
+ $o .= '</ul></div>';
+ }
+ return $o;
+
+}
+
+
+function widget_tasklist($arr) {
+
+
+ require_once('include/event.php');
+ $o .= '<script>var tasksShowAll = 0; $(document).ready(function() { tasksFetch(); $("#tasklist-new-form").submit(function(event) { event.preventDefault(); $.post( "tasks/new", $("#tasklist-new-form").serialize(), function(data) { tasksFetch(); $("#tasklist-new-summary").val(""); } ); return false; } )});</script>';
+ $o .= '<script>function taskComplete(id) { $.post("tasks/complete/"+id, function(data) { tasksFetch();}); }
+ function tasksFetch() {
+ $.get("tasks/fetch" + ((tasksShowAll) ? "/all" : ""), function(data) {
+ $(".tasklist-tasks").html(data.html);
+ });
+ }
+ </script>';
+
+ $o .= '<div class="widget">' . '<h3>' . t('Tasks') . '</h3><div class="tasklist-tasks">';
+ $o .= '</div><form id="tasklist-new-form" action="" ><input id="tasklist-new-summary" type="text" name="summary" value="" /></form>';
+ $o .= '</div>';
+ return $o;
+
+}
+
+
+function widget_helpindex($arr) {
+ $o .= '<div class="widget">' . '<h3>' . t('Documentation') . '</h3>';
+ $o .= '<ul class="nav nav-pills nav-stacked">';
+ $o .= '<li><a href="help/general">' . t('Project/Site Information') . '</a></li>';
+ $o .= '<li><a href="help/members">' . t('For Members') . '</a></li>';
+ $o .= '<li><a href="help/admins">' . t('For Administrators') . '</a></li>';
+ $o .= '<li><a href="help/develop">' . t('For Developers') . '</a></li>';
+ $o .= '</ul></div>';
+ return $o;
+
+} \ No newline at end of file
diff --git a/include/zot.php b/include/zot.php
index 0376dc7f5..cb70f38a2 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -1,7 +1,7 @@
<?php
/**
* @file include/zot.php
- * @brief RedMatrix implementation of zot protocol.
+ * @brief Hubzilla implementation of zot protocol.
*
* https://github.com/friendica/red/wiki/zot
* https://github.com/friendica/red/wiki/Zot---A-High-Level-Overview
@@ -80,9 +80,8 @@ function zot_get_hublocs($hash) {
/* Only search for active hublocs - e.g. those that haven't been marked deleted */
- $ret = q("select * from hubloc where hubloc_hash = '%s' and not ( hubloc_flags & %d )>0 order by hubloc_url ",
- dbesc($hash),
- intval(HUBLOC_FLAGS_DELETED)
+ $ret = q("select * from hubloc where hubloc_hash = '%s' and hubloc_deleted = 0 order by hubloc_url ",
+ dbesc($hash)
);
return $ret;
@@ -200,9 +199,8 @@ function zot_finger($webbie, $channel = null, $autofallback = true) {
$r = q("select xchan.*, hubloc.* from xchan
left join hubloc on xchan_hash = hubloc_hash
- where xchan_addr = '%s' and (hubloc_flags & %d) > 0 limit 1",
- dbesc($xchan_addr),
- intval(HUBLOC_FLAGS_PRIMARY)
+ where xchan_addr = '%s' and hubloc_primary = 1 limit 1",
+ dbesc($xchan_addr)
);
if ($r) {
@@ -296,12 +294,12 @@ function zot_refresh($them, $channel = null, $force = false) {
if ($them['hubloc_url']) {
$url = $them['hubloc_url'];
} else {
- $r = q("select hubloc_url, hubloc_flags from hubloc where hubloc_hash = '%s'",
+ $r = q("select hubloc_url, hubloc_primary from hubloc where hubloc_hash = '%s'",
dbesc($them['xchan_hash'])
);
if ($r) {
foreach ($r as $rr) {
- if ($rr['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) {
+ if (intval($rr['hubloc_primary'])) {
$url = $rr['hubloc_url'];
break;
}
@@ -386,10 +384,9 @@ function zot_refresh($them, $channel = null, $force = false) {
}
}
- $r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and not (abook_flags & %d) > 0 limit 1",
+ $r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and abook_self = 0 limit 1",
dbesc($x['hash']),
- intval($channel['channel_id']),
- intval(ABOOK_FLAG_SELF)
+ intval($channel['channel_id'])
);
if(array_key_exists('profile',$j) && array_key_exists('next_birthday',$j['profile'])) {
@@ -408,16 +405,15 @@ function zot_refresh($them, $channel = null, $force = false) {
if(substr($r[0]['abook_dob'],5) == substr($next_birthday,5))
$next_birthday = $r[0]['abook_dob'];
- $current_abook_connected = (($r[0]['abook_flags'] & ABOOK_FLAG_UNCONNECTED) ? 0 : 1);
+ $current_abook_connected = (intval($r[0]['abook_unconnected']) ? 0 : 1);
$y = q("update abook set abook_their_perms = %d, abook_dob = '%s'
where abook_xchan = '%s' and abook_channel = %d
- and not (abook_flags & %d) > 0 ",
+ and abook_self = 0 ",
intval($their_perms),
dbescdate($next_birthday),
dbesc($x['hash']),
- intval($channel['channel_id']),
- intval(ABOOK_FLAG_SELF)
+ intval($channel['channel_id'])
);
// if(($connected_set === 0 || $connected_set === 1) && ($connected_set !== $current_abook_unconnected)) {
@@ -426,13 +422,11 @@ function zot_refresh($them, $channel = null, $force = false) {
// match your current connected state setting, toggle it.
/** @FIXME uncoverted to postgres */
/** @FIXME when this was enabled, all contacts became unconnected. Currently disabled intentionally */
-// $y1 = q("update abook set abook_flags = (abook_flags ^ %d)
+// $y1 = q("update abook set abook_unconnected = 1
// where abook_xchan = '%s' and abook_channel = %d
-// and not (abook_flags & %d) limit 1",
-// intval(ABOOK_FLAG_UNCONNECTED),
+// and abook_self = 0 limit 1",
// dbesc($x['hash']),
-// intval($channel['channel_id']),
-// intval(ABOOK_FLAG_SELF)
+// intval($channel['channel_id'])
// );
// }
@@ -463,7 +457,7 @@ function zot_refresh($them, $channel = null, $force = false) {
if($closeness === false)
$closeness = 80;
- $y = q("insert into abook ( abook_account, abook_channel, abook_closeness, abook_xchan, abook_their_perms, abook_my_perms, abook_created, abook_updated, abook_dob, abook_flags ) values ( %d, %d, %d, '%s', %d, %d, '%s', '%s', '%s', %d )",
+ $y = q("insert into abook ( abook_account, abook_channel, abook_closeness, abook_xchan, abook_their_perms, abook_my_perms, abook_created, abook_updated, abook_dob, abook_pending ) values ( %d, %d, %d, '%s', %d, %d, '%s', '%s', '%s', %d )",
intval($channel['channel_account_id']),
intval($channel['channel_id']),
intval($closeness),
@@ -473,7 +467,7 @@ function zot_refresh($them, $channel = null, $force = false) {
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc($next_birthday),
- intval(($default_perms) ? 0 : ABOOK_FLAG_PENDING)
+ intval(($default_perms) ? 0 : 1)
);
if($y) {
@@ -481,15 +475,14 @@ function zot_refresh($them, $channel = null, $force = false) {
$new_perms = get_all_perms($channel['channel_id'],$x['hash']);
if($new_perms != $previous_perms) {
// Send back a permissions update if permissions have changed
- $z = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and not (abook_flags & %d) > 0 limit 1",
+ $z = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and abook_self = 0 limit 1",
dbesc($x['hash']),
- intval($channel['channel_id']),
- intval(ABOOK_FLAG_SELF)
+ intval($channel['channel_id'])
);
if($z)
proc_run('php','include/notifier.php','permission_update',$z[0]['abook_id']);
}
- $new_connection = q("select abook_id, abook_flags from abook where abook_channel = %d and abook_xchan = '%s' order by abook_created desc limit 1",
+ $new_connection = q("select abook_id, abook_pending from abook where abook_channel = %d and abook_xchan = '%s' order by abook_created desc limit 1",
intval($channel['channel_id']),
dbesc($x['hash'])
);
@@ -505,7 +498,7 @@ function zot_refresh($them, $channel = null, $force = false) {
if($new_connection && ($their_perms & PERMS_R_STREAM)) {
if(($channel['channel_w_stream'] & PERMS_PENDING)
- || (! ($new_connection[0]['abook_flags'] & ABOOK_FLAG_PENDING)) )
+ || (! intval($new_connection[0]['abook_pending'])) )
proc_run('php','include/onepoll.php',$new_connection[0]['abook_id']);
}
}
@@ -573,7 +566,7 @@ function zot_gethub($arr) {
}
/**
- * @brief Registers an unknown hup.
+ * @brief Registers an unknown hub.
*
* A communication has been received which has an unknown (to us) sender.
* Perform discovery based on our calculated hash of the sender at the
@@ -709,43 +702,36 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
$hidden = (1 - intval($arr['searchable']));
- // Be careful - XCHAN_FLAGS_HIDDEN should evaluate to 1
- if(($r[0]['xchan_flags'] & XCHAN_FLAGS_HIDDEN) != $hidden)
- $new_flags = $r[0]['xchan_flags'] ^ XCHAN_FLAGS_HIDDEN;
- else
- $new_flags = $r[0]['xchan_flags'];
-
- $adult = (($r[0]['xchan_flags'] & XCHAN_FLAGS_SELFCENSORED) ? true : false);
- $adult_changed = ((intval($adult) != intval($arr['adult_content'])) ? true : false);
- if($adult_changed)
- $new_flags = $new_flags ^ XCHAN_FLAGS_SELFCENSORED;
-
- $deleted = (($r[0]['xchan_flags'] & XCHAN_FLAGS_DELETED) ? true : false);
- $deleted_changed = ((intval($deleted) != intval($arr['deleted'])) ? true : false);
- if($deleted_changed)
- $new_flags = $new_flags ^ XCHAN_FLAGS_DELETED;
-
- $public_forum = (($r[0]['xchan_flags'] & XCHAN_FLAGS_PUBFORUM) ? true : false);
- $pubforum_changed = ((intval($public_forum) != intval($arr['public_forum'])) ? true : false);
- if($pubforum_changed)
- $new_flags = $r[0]['xchan_flags'] ^ XCHAN_FLAGS_PUBFORUM;
-
- if(($r[0]['xchan_name_date'] != $arr['name_updated'])
- || ($r[0]['xchan_connurl'] != $arr['connections_url'])
- || ($r[0]['xchan_flags'] != $new_flags)
+ $hidden_changed = $adult_changed = $deleted_changed = $pubforum_changed = 0;
+
+ if(intval($r[0]['xchan_hidden']) != (1 - intval($arr['searchable'])))
+ $hidden_changed = 1;
+ if(intval($r[0]['xchan_selfcensored']) != intval($arr['adult_content']))
+ $adult_changed = 1;
+ if(intval($r[0]['xchan_deleted']) != intval($arr['deleted']))
+ $deleted_changed = 1;
+ if(intval($r[0]['xchan_pubforum']) != intval($arr['public_forum']))
+ $pubforum_changed = 1;
+
+ if(($r[0]['xchan_name_date'] != $arr['name_updated'])
+ || ($r[0]['xchan_connurl'] != $arr['connections_url'])
|| ($r[0]['xchan_addr'] != $arr['address'])
|| ($r[0]['xchan_follow'] != $arr['follow_url'])
- || ($r[0]['xchan_connpage'] != $arr['connect_url'])
- || ($r[0]['xchan_url'] != $arr['url'])) {
- $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_follow = '%s',
- xchan_connpage = '%s', xchan_flags = %d,
+ || ($r[0]['xchan_connpage'] != $arr['connect_url'])
+ || ($r[0]['xchan_url'] != $arr['url'])
+ || $hidden_changed || adult_changed || deleted_changed || $pubforum_changed ) {
+ $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s', xchan_connurl = '%s', xchan_follow = '%s',
+ xchan_connpage = '%s', xchan_hidden = %d, xchan_selfcensored = %d, xchan_deleted = %d, xchan_pubforum = %d,
xchan_addr = '%s', xchan_url = '%s' where xchan_hash = '%s'",
dbesc(($arr['name']) ? $arr['name'] : '-'),
dbesc($arr['name_updated']),
dbesc($arr['connections_url']),
dbesc($arr['follow_url']),
dbesc($arr['connect_url']),
- intval($new_flags),
+ intval(1 - intval($arr['searchable'])),
+ intval($arr['adult_content']),
+ intval($arr['deleted']),
+ intval($arr['public_forum']),
dbesc($arr['address']),
dbesc($arr['url']),
dbesc($xchan_hash)
@@ -764,20 +750,9 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
&& ($arr['site']['url'] != z_root()))
$arr['searchable'] = false;
- $hidden = (1 - intval($arr['searchable']));
-
- if($hidden)
- $new_flags = XCHAN_FLAGS_HIDDEN;
- else
- $new_flags = 0;
- if($arr['adult_content'])
- $new_flags |= XCHAN_FLAGS_SELFCENSORED;
- if(array_key_exists('deleted',$arr) && $arr['deleted'])
- $new_flags |= XCHAN_FLAGS_DELETED;
-
$x = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_mimetype,
- xchan_photo_l, xchan_addr, xchan_url, xchan_connurl, xchan_follow, xchan_connpage, xchan_name, xchan_network, xchan_photo_date, xchan_name_date, xchan_flags)
- values ( '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d) ",
+ xchan_photo_l, xchan_addr, xchan_url, xchan_connurl, xchan_follow, xchan_connpage, xchan_name, xchan_network, xchan_photo_date, xchan_name_date, xchan_hidden, xchan_selfcensored, xchan_deleted, xchan_pubforum )
+ values ( '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d) ",
dbesc($xchan_hash),
dbesc($arr['guid']),
dbesc($arr['guid_sig']),
@@ -793,7 +768,10 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
dbesc('zot'),
dbescdate($arr['photo_updated']),
dbescdate($arr['name_updated']),
- intval($new_flags)
+ intval(1 - intval($arr['searchable'])),
+ intval($arr['adult_content']),
+ intval($arr['deleted']),
+ intval($arr['public_forum'])
);
$what .= 'new_xchan';
@@ -823,7 +801,7 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED, $ud_arr = null) {
);
}
} else {
- $photos = import_profile_photo($arr['photo'], $xchan_hash);
+ $photos = import_xchan_photo($arr['photo'], $xchan_hash);
}
if ($photos) {
if ($photos[4]) {
@@ -1114,14 +1092,15 @@ function zot_import($arr, $sender_url) {
$recip_arr[] = make_xchan_hash($recip['guid'],$recip['guid_sig']);
}
}
+
$r = false;
if($recip_arr) {
stringify_array_elms($recip_arr);
$recips = implode(',',$recip_arr);
- $r = q("select channel_hash as hash from channel where channel_hash in ( " . $recips . " ) and not ( channel_pageflags & %d ) > 0 ",
- intval(PAGE_REMOVED)
- );
+ $r = q("select channel_hash as hash from channel where channel_hash in ( " . $recips . " )
+ and channel_removed = 0 ");
}
+
if(! $r) {
logger('recips: no recipients on this site');
continue;
@@ -1199,8 +1178,10 @@ function zot_import($arr, $sender_url) {
if($i['message']['type'] === 'activity') {
$arr = get_item_elements($i['message']);
- if(! array_key_exists('created',$arr)) {
- logger('Activity rejected: probable failure to lookup author/owner. ' . print_r($i['message'],true));
+ $v = validate_item_elements($i['message'],$arr);
+
+ if(! $v['success']) {
+ logger('Activity rejected: ' . $v['message'] . ' ' . print_r($i['message'],true));
continue;
}
@@ -1336,13 +1317,13 @@ function public_recips($msg) {
or ( " . $col . " & " . intval(PERMS_PUBLIC) . ") > 0
or ( " . $col . " & " . intval(PERMS_AUTHED) . ") > 0 ) ";
} else {
- $sql = " where (( " . $col . " & " . intval(PERMS_NETWORK) . " ) > 0
- or ( " . $col . " & " . intval(PERMS_PUBLIC) . ") > 0
- or ( " . $col . " & " . intval(PERMS_AUTHED) . ") > 0 ) ";
+ $sql = " where ( " . $col . " = " . intval(PERMS_NETWORK) . "
+ or " . $col . " = " . intval(PERMS_PUBLIC) . "
+ or " . $col . " = " . intval(PERMS_AUTHED) . " ) ";
}
$r = q("select channel_hash as hash from channel $sql or channel_hash = '%s'
- and ( channel_pageflags & " . intval(PAGE_REMOVED) . " ) = 0 ",
+ and channel_removed = 0 ",
dbesc($msg['notify']['sender']['hash'])
);
@@ -1353,10 +1334,10 @@ function public_recips($msg) {
// and is allowing this sender at least at a high level.
$x = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id
- where abook_xchan = '%s' and ( channel_pageflags & " . intval(PAGE_REMOVED) . " ) = 0
- and (( " . $col . " & " . intval(PERMS_SPECIFIC) . " ) > 0 and ( abook_my_perms & " . intval($field) . " ) > 0 )
- OR ( " . $col . " & " . intval(PERMS_PENDING) . " ) > 0
- OR (( " . $col . " & " . intval(PERMS_CONTACTS) . " ) > 0 and ( abook_flags & " . intval(ABOOK_FLAG_PENDING) . " ) = 0 ) ",
+ where abook_xchan = '%s' and channel_removed = 0
+ and (( " . $col . " = " . intval(PERMS_SPECIFIC) . " and ( abook_my_perms & " . intval($field) . " ) > 0 )
+ OR " . $col . " = " . intval(PERMS_PENDING) . "
+ OR ( " . $col . " = " . intval(PERMS_CONTACTS) . " and abook_pending = 0 )) ",
dbesc($msg['notify']['sender']['hash'])
);
@@ -1385,7 +1366,7 @@ function public_recips($msg) {
$address = basename($tag['url']);
if($address) {
$z = q("select channel_hash as hash from channel where channel_address = '%s'
- and ( channel_pageflags & " . intval(PAGE_REMOVED) . " ) = 0 limit 1",
+ and channel_removed = 0 limit 1",
dbesc($address)
);
if($z)
@@ -1403,8 +1384,7 @@ function public_recips($msg) {
if($msg['message']['message_top']) {
$z = q("select owner_xchan as hash from item where parent_mid = '%s' ",
- dbesc($msg['message']['message_top']),
- intval(ITEM_UPLINK)
+ dbesc($msg['message']['message_top'])
);
if($z)
$r = array_merge($r,$z);
@@ -1489,9 +1469,8 @@ function allowed_public_recips($msg) {
$condensed_recips[] = $rr['hash'];
$results = array();
- $r = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' and ( channel_pageflags & %d ) = 0 ",
- dbesc($hash),
- intval(PAGE_REMOVED)
+ $r = q("select channel_hash as hash from channel left join abook on abook_channel = channel_id where abook_xchan = '%s' and channel_removed = 0 ",
+ dbesc($hash)
);
if($r) {
foreach($r as $rr)
@@ -1545,14 +1524,14 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $
// for comments travelling upstream. Wait and catch them on the way down.
// They may have been blocked by the owner.
- if(($channel['channel_pageflags'] & PAGE_SYSTEM) && (! $arr['item_private']) && (! $relay)) {
+ if(intval($channel['channel_system']) && (! $arr['item_private']) && (! $relay)) {
$local_public = true;
- $r = q("select xchan_flags from xchan where xchan_hash = '%s' limit 1",
+ $r = q("select xchan_selfcensored from xchan where xchan_hash = '%s' limit 1",
dbesc($sender['hash'])
);
// don't import sys channel posts from selfcensored authors
- if($r && ($r[0]['xchan_flags'] & XCHAN_FLAGS_SELFCENSORED)) {
+ if($r && (intval($r[0]['xchan_selfcensored']))) {
$local_public = false;
continue;
}
@@ -1567,13 +1546,10 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $
// This is our own post, possibly coming from a channel clone
if($arr['owner_xchan'] == $d['hash']) {
- $arr['item_flags'] = $arr['item_flags'] | ITEM_WALL;
+ $arr['item_wall'] = 1;
}
else {
- // clear the wall flag if it is set
- if($arr['item_flags'] & ITEM_WALL) {
- $arr['item_flags'] = ($arr['item_flags'] ^ ITEM_WALL);
- }
+ $arr['item_wall'] = 0;
}
if((! perm_is_allowed($channel['channel_id'],$sender['hash'],$perm)) && (! $tag_delivery) && (! $local_public)) {
@@ -1667,7 +1643,7 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $
);
$abook = (($ab) ? $ab[0] : null);
- if($arr['item_restrict'] & ITEM_DELETED) {
+ if(intval($arr['item_deleted'])) {
// remove_community_tag is a no-op if this isn't a community tag activity
remove_community_tag($sender,$arr,$channel['channel_id']);
@@ -1690,15 +1666,16 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $
continue;
}
- $r = q("select id, edited, item_restrict, item_flags, mid, parent_mid from item where mid = '%s' and uid = %d limit 1",
+ $r = q("select * from item where mid = '%s' and uid = %d limit 1",
dbesc($arr['mid']),
intval($channel['channel_id'])
);
if($r) {
// We already have this post.
$item_id = $r[0]['id'];
- if($r[0]['item_restrict'] & ITEM_DELETED) {
- // It was deleted locally.
+
+ if(intval($r[0]['item_deleted'])) {
+ // It was deleted locally.
$result[] = array($d['hash'],'update ignored',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
continue;
}
@@ -1710,7 +1687,7 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $
$result[] = array($d['hash'],'update ignored',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
}
else {
- update_imported_item($sender,$arr,$channel['channel_id']);
+ update_imported_item($sender,$arr,$r[0],$channel['channel_id']);
$result[] = array($d['hash'],'updated',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
if(! $relay)
add_source_route($item_id,$sender['hash']);
@@ -1718,9 +1695,10 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $
}
else {
$result[] = array($d['hash'],'update ignored',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
- // We need this line to ensure wall-to-wall comments are relayed (by falling through to the relay bit),
- // and at the same time not relay any other relayable posts more than once, because to do so is very wasteful.
- if(! ($r[0]['item_flags'] & ITEM_ORIGIN))
+
+ // We need this line to ensure wall-to-wall comments are relayed (by falling through to the relay bit),
+ // and at the same time not relay any other relayable posts more than once, because to do so is very wasteful.
+ if(! intval($r[0]['item_origin']))
continue;
}
}
@@ -1846,9 +1824,20 @@ function remove_community_tag($sender, $arr, $uid) {
* @param array $item
* @param int $uid (unused)
*/
-function update_imported_item($sender, $item, $uid) {
+function update_imported_item($sender, $item, $orig, $uid) {
+
$x = item_store_update($item);
+
+ // If we're updating an event that we've saved locally, we store the item info first
+ // because event_addtocal will parse the body to get the 'new' event details
+
+ if($orig['resource_type'] === 'event') {
+ $res = event_addtocal($orig['id'],$uid);
+ if(! $res)
+ logger('update event: failed');
+ }
+
if(! $x['item_id'])
logger('update_imported_item: failed: ' . $x['message']);
else
@@ -1873,7 +1862,12 @@ function delete_imported_item($sender, $item, $uid, $relay) {
$item_found = false;
$post_id = 0;
- $r = q("select id, item_restrict, author_xchan, owner_xchan, source_xchan from item where mid = '%s' and uid = %d limit 1",
+
+ $r = q("select id, item_deleted from item where ( author_xchan = '%s' or owner_xchan = '%s' or source_xchan = '%s' )
+ and mid = '%s' and uid = %d limit 1",
+ dbesc($sender['hash']),
+ dbesc($sender['hash']),
+ dbesc($sender['hash']),
dbesc($item['mid']),
intval($uid)
);
@@ -1905,8 +1899,10 @@ function delete_imported_item($sender, $item, $uid, $relay) {
return false;
}
+ require_once('include/items.php');
+
if ($item_found) {
- if ($r[0]['item_restrict'] & ITEM_DELETED) {
+ if (intval($r[0]['item_deleted'])) {
logger('delete_imported_item: item was already deleted');
if (! $relay)
return false;
@@ -1918,9 +1914,8 @@ function delete_imported_item($sender, $item, $uid, $relay) {
// back, and we aren't going to (or shouldn't at any rate) delete it again in the future - so losing
// this information from the metadata should have no other discernible impact.
- if (($r[0]['id'] != $r[0]['parent']) && ($r[0]['item_flags'] & ITEM_ORIGIN)) {
- q("update item set item_flags = %d where id = %d and uid = %d",
- intval($r[0]['item_flags'] ^ ITEM_ORIGIN),
+ if (($r[0]['id'] != $r[0]['parent']) && intval($r[0]['item_origin'])) {
+ q("update item set item_origin = 0 where id = %d and uid = %d",
intval($r[0]['id']),
intval($r[0]['uid'])
);
@@ -1971,7 +1966,7 @@ function process_mail_delivery($sender, $arr, $deliveries) {
intval($channel['channel_id'])
);
if($r) {
- if($arr['mail_flags'] & MAIL_RECALLED) {
+ if(intval($arr['mail_recalled'])) {
$x = q("delete from mail where id = %d and channel_id = %d",
intval($r[0]['id']),
intval($channel['channel_id'])
@@ -2181,23 +2176,16 @@ function sync_locations($sender, $arr, $absolute = false) {
$current_site = true;
}
- // If it is the site we're currently talking to, and it's marked offline,
- // either we have some bad information - or the thing came back to life.
-
- if(($current_site) && ($r[0]['hubloc_status'] & HUBLOC_OFFLINE)) {
- q("update hubloc set hubloc_status = (hubloc_status & ~%d) where hubloc_id = %d",
- intval(HUBLOC_OFFLINE),
+ if($current_site && intval($r[0]['hubloc_error'])) {
+ q("update hubloc set hubloc_error = 0 where hubloc_id = %d",
intval($r[0]['hubloc_id'])
);
- if($r[0]['hubloc_flags'] & HUBLOC_FLAGS_ORPHANCHECK) {
- q("update hubloc set hubloc_flags = (hubloc_flags & ~%d) where hubloc_id = %d",
- intval(HUBLOC_FLAGS_ORPHANCHECK),
+ if(intval($r[0]['hubloc_orphancheck'])) {
+ q("update hubloc set hubloc_orphancheck = 0 where hubloc_id = %d",
intval($r[0]['hubloc_id'])
);
}
- q("update xchan set xchan_flags = (xchan_flags & ~%d) where (xchan_flags & %d)>0 and xchan_hash = '%s'",
- intval(XCHAN_FLAGS_ORPHAN),
- intval(XCHAN_FLAGS_ORPHAN),
+ q("update xchan set xchan_orphan = 0 where xchan_orphan = 1 and xchan_hash = '%s'",
dbesc($sender['hash'])
);
}
@@ -2213,25 +2201,23 @@ function sync_locations($sender, $arr, $absolute = false) {
}
}
- if(($r[0]['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) && (! $location['primary'])) {
- $m = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d), hubloc_updated = '%s' where hubloc_id = %d",
- intval(HUBLOC_FLAGS_PRIMARY),
+ if(intval($r[0]['hubloc_primary']) && (! $location['primary'])) {
+ $m = q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_id = %d",
dbesc(datetime_convert()),
intval($r[0]['hubloc_id'])
);
- $r[0]['hubloc_flags'] = $r[0]['hubloc_flags'] ^ HUBLOC_FLAGS_PRIMARY;
+ $r[0]['hubloc_primary'] = intval($location['primary']);
hubloc_change_primary($r[0]);
$what .= 'primary_hub ';
$changed = true;
}
- elseif((! ($r[0]['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY)) && ($location['primary'])) {
- $m = q("update hubloc set hubloc_flags = (hubloc_flags | %d), hubloc_updated = '%s' where hubloc_id = %d",
- intval(HUBLOC_FLAGS_PRIMARY),
+ elseif((! intval($r[0]['hubloc_primary'])) && ($location['primary'])) {
+ $m = q("update hubloc set hubloc_primary = 1, hubloc_updated = '%s' where hubloc_id = %d",
dbesc(datetime_convert()),
intval($r[0]['hubloc_id'])
);
// make sure hubloc_change_primary() has current data
- $r[0]['hubloc_flags'] = $r[0]['hubloc_flags'] ^ HUBLOC_FLAGS_PRIMARY;
+ $r[0]['hubloc_primary'] = intval($location['primary']);
hubloc_change_primary($r[0]);
$what .= 'primary_hub ';
$changed = true;
@@ -2244,18 +2230,17 @@ function sync_locations($sender, $arr, $absolute = false) {
$changed = true;
}
}
- if(($r[0]['hubloc_flags'] & HUBLOC_FLAGS_DELETED) && (! $location['deleted'])) {
- $n = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d), hubloc_updated = '%s' where hubloc_id = %d",
- intval(HUBLOC_FLAGS_DELETED),
+ if((intval($r[0]['hubloc_deleted']) && (! $location['deleted']))
+ || ((! (intval($r[0]['hubloc_deleted']))) && ($location['deleted']))) {
+ $n = q("update hubloc set hubloc_deleted = 0, hubloc_updated = '%s' where hubloc_id = %d",
dbesc(datetime_convert()),
intval($r[0]['hubloc_id'])
);
$what .= 'delete_hub ';
$changed = true;
}
- elseif((! ($r[0]['hubloc_flags'] & HUBLOC_FLAGS_DELETED)) && ($location['deleted'])) {
- $n = q("update hubloc set hubloc_flags = (hubloc_flags | %d), hubloc_updated = '%s' where hubloc_id = %d",
- intval(HUBLOC_FLAGS_DELETED),
+ elseif((! intval($r[0]['hubloc_deleted'])) && ($location['deleted'])) {
+ $n = q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id = %d",
dbesc(datetime_convert()),
intval($r[0]['hubloc_id'])
);
@@ -2269,22 +2254,20 @@ function sync_locations($sender, $arr, $absolute = false) {
// New hub claiming to be primary. Make it so by removing any existing primaries.
if(intval($location['primary'])) {
- $r = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d), hubloc_updated = '%s' where hubloc_hash = '%s' and (hubloc_flags & %d )>0",
- intval(HUBLOC_FLAGS_PRIMARY),
+ $r = q("update hubloc set hubloc_primary = 0, hubloc_updated = '%s' where hubloc_hash = '%s' and hubloc_primary = 1",
dbesc(datetime_convert()),
- dbesc($sender['hash']),
- intval(HUBLOC_FLAGS_PRIMARY)
+ dbesc($sender['hash'])
);
}
logger('sync_locations: new hub: ' . $location['url']);
- $r = q("insert into hubloc ( hubloc_guid, hubloc_guid_sig, hubloc_hash, hubloc_addr, hubloc_network, hubloc_flags, hubloc_url, hubloc_url_sig, hubloc_host, hubloc_callback, hubloc_sitekey, hubloc_updated, hubloc_connected)
+ $r = q("insert into hubloc ( hubloc_guid, hubloc_guid_sig, hubloc_hash, hubloc_addr, hubloc_network, hubloc_primary, hubloc_url, hubloc_url_sig, hubloc_host, hubloc_callback, hubloc_sitekey, hubloc_updated, hubloc_connected)
values ( '%s','%s','%s','%s', '%s', %d ,'%s','%s','%s','%s','%s','%s','%s')",
dbesc($sender['guid']),
dbesc($sender['guid_sig']),
dbesc($sender['hash']),
dbesc($location['address']),
dbesc('zot'),
- intval((intval($location['primary'])) ? HUBLOC_FLAGS_PRIMARY : 0),
+ intval($location['primary']),
dbesc($location['url']),
dbesc($location['url_sig']),
dbesc($location['host']),
@@ -2312,8 +2295,7 @@ function sync_locations($sender, $arr, $absolute = false) {
foreach($xisting as $x) {
if(! array_key_exists('updated',$x)) {
logger('sync_locations: deleting unreferenced hub location ' . $x['hubloc_url']);
- $r = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d), hubloc_updated = '%s' where hubloc_id = %d",
- intval(HUBLOC_FLAGS_DELETED),
+ $r = q("update hubloc set hubloc_deleted = 1, hubloc_updated = '%s' where hubloc_id = %d",
dbesc(datetime_convert()),
intval($x['hubloc_id'])
);
@@ -2342,20 +2324,19 @@ function zot_encode_locations($channel) {
$ret = array();
$x = zot_get_hublocs($channel['channel_hash']);
- if ($x && count($x)) {
- foreach ($x as $hub) {
- if (! ($hub['hubloc_flags'] & HUBLOC_FLAGS_UNVERIFIED)) {
- $ret[] = array(
- 'host' => $hub['hubloc_host'],
- 'address' => $hub['hubloc_addr'],
- 'primary' => (($hub['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) ? true : false),
- 'url' => $hub['hubloc_url'],
- 'url_sig' => $hub['hubloc_url_sig'],
- 'callback' => $hub['hubloc_callback'],
- 'sitekey' => $hub['hubloc_sitekey'],
- 'deleted' => (($hub['hubloc_flags'] & HUBLOC_FLAGS_DELETED) ? true : false)
- );
- }
+
+ if($x && count($x)) {
+ foreach($x as $hub) {
+ $ret[] = array(
+ 'host' => $hub['hubloc_host'],
+ 'address' => $hub['hubloc_addr'],
+ 'primary' => (intval($hub['hubloc_primary']) ? true : false),
+ 'url' => $hub['hubloc_url'],
+ 'url_sig' => $hub['hubloc_url_sig'],
+ 'callback' => $hub['hubloc_callback'],
+ 'sitekey' => $hub['hubloc_sitekey'],
+ 'deleted' => (intval($hub['hubloc_deleted']) ? true : false)
+ );
}
}
@@ -2411,9 +2392,8 @@ function import_directory_profile($hash, $profile, $addr, $ud_flags = UPDATE_FLA
// These are not translated, so the German "erwachsenen" keyword will not censor the directory profile. Only the English form - "adult".
- if (in_arrayi('nsfw', $clean) || in_arrayi('adult', $clean)) {
- q("update xchan set xchan_flags = (xchan_flags | %d) where xchan_hash = '%s'",
- intval(XCHAN_FLAGS_SELFCENSORED),
+ if(in_arrayi('nsfw',$clean) || in_arrayi('adult',$clean)) {
+ q("update xchan set xchan_selfcensored = 1 where xchan_hash = '%s'",
dbesc($hash)
);
}
@@ -2861,6 +2841,8 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
*/
function process_channel_sync_delivery($sender, $arr, $deliveries) {
+ require_once('include/import.php');
+
/** @FIXME this will sync red structures (channel, pconfig and abook). Eventually we need to make this application agnostic. */
$result = array();
@@ -2893,13 +2875,17 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
}
}
+ if(array_key_exists('obj',$arr) && $arr['obj'])
+ sync_objs($channel,$arr['obj']);
+
+
if(array_key_exists('channel',$arr) && is_array($arr['channel']) && count($arr['channel'])) {
- if(array_key_exists('channel_removed',$arr['channel']))
- $arr['channel_pageflags'] |= PAGE_REMOVED;
- if(array_key_exists('channel_system',$arr['channel']))
- $arr['channel_pageflags'] |= PAGE_SYSTEM;
+ if(array_key_exists('channel_page_flags',$arr['channel']) && intval($arr['channel']['channel_pageflags'])) {
+ $arr['channel']['channel_removed'] = (($arr['channel']['channel_pageflags'] & 0x8000) ? 1 : 0);
+ $arr['channel']['channel_system'] = (($arr['channel']['channel_pageflags'] & 0x1000) ? 1 : 0);
+ }
- $disallowed = array('channel_id','channel_account_id','channel_primary','channel_prvkey', 'channel_address', 'channel_notifyflags', 'channel_removed', 'channel_system');
+ $disallowed = array('channel_id','channel_account_id','channel_primary','channel_prvkey', 'channel_address', 'channel_notifyflags');
$clean = array();
foreach($arr['channel'] as $k => $v) {
@@ -2919,41 +2905,32 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
$total_friends = 0;
$total_feeds = 0;
- $r = q("select abook_id, abook_flags from abook where abook_channel = %d",
+ $r = q("select abook_id, abook_feed from abook where abook_channel = %d",
intval($channel['channel_id'])
);
if($r) {
// don't count yourself
$total_friends = ((count($r) > 0) ? count($r) - 1 : 0);
foreach($r as $rr)
- if($rr['abook_flags'] & ABOOK_FLAG_FEED)
+ if(intval($rr['abook_feed']))
$total_feeds ++;
}
- $disallowed = array('abook_id','abook_account','abook_channel','abook_blocked','abook_ignored','abook_hidden','abook_archived','abook_pending','abook_unconnected','abook_self','abook_feed');
- foreach($arr['abook'] as $abook) {
+ $disallowed = array('abook_id','abook_account','abook_channel','abook_rating','abook_rating_text');
- if(array_key_exists('abook_blocked',$abook)) {
- // convert from hubzilla
- $abook['abook_flags'] = 0;
- if(intval($abook['abook_blocked']))
- $abook['abook_flags'] |= ABOOK_FLAG_BLOCKED;
- if(intval($abook['abook_ignored']))
- $abook['abook_flags'] |= ABOOK_FLAG_IGNORED;
- if(intval($abook['abook_hidden']))
- $abook['abook_flags'] |= ABOOK_FLAG_HIDDEN;
- if(intval($abook['abook_archived']))
- $abook['abook_flags'] |= ABOOK_FLAG_ARCHIVED;
- if(intval($abook['abook_pending']))
- $abook['abook_flags'] |= ABOOK_FLAG_PENDING;
- if(intval($abook['abook_unconnected']))
- $abook['abook_flags'] |= ABOOK_FLAG_UNCONNECTED;
- if(intval($abook['abook_self']))
- $abook['abook_flags'] |= ABOOK_FLAG_SELF;
- if(intval($abook['abook_feed']))
- $abook['abook_flags'] |= ABOOK_FLAG_FEED;
+ foreach($arr['abook'] as $abook) {
+ if(! array_key_exists('abook_blocked',$abook)) {
+ // convert from redmatrix
+ $abook['abook_blocked'] = (($abook['abook_flags'] & 0x0001) ? 1 : 0);
+ $abook['abook_ignored'] = (($abook['abook_flags'] & 0x0002) ? 1 : 0);
+ $abook['abook_hidden'] = (($abook['abook_flags'] & 0x0004) ? 1 : 0);
+ $abook['abook_archived'] = (($abook['abook_flags'] & 0x0008) ? 1 : 0);
+ $abook['abook_pending'] = (($abook['abook_flags'] & 0x0010) ? 1 : 0);
+ $abook['abook_unconnected'] = (($abook['abook_flags'] & 0x0020) ? 1 : 0);
+ $abook['abook_self'] = (($abook['abook_flags'] & 0x0080) ? 1 : 0);
+ $abook['abook_feed'] = (($abook['abook_flags'] & 0x0100) ? 1 : 0);
}
$clean = array();
@@ -2961,16 +2938,15 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
logger('process_channel_sync_delivery: removing abook entry for ' . $abook['abook_xchan']);
require_once('include/Contact.php');
- $r = q("select abook_id, abook_flags from abook where abook_xchan = '%s' and abook_channel = %d and not ( abook_flags & %d )>0 limit 1",
+ $r = q("select abook_id, abook_feed from abook where abook_xchan = '%s' and abook_channel = %d and abook_self = 0 limit 1",
dbesc($abook['abook_xchan']),
- intval($channel['channel_id']),
- intval(ABOOK_FLAG_SELF)
+ intval($channel['channel_id'])
);
if($r) {
contact_remove($channel['channel_id'],$r[0]['abook_id']);
if($total_friends)
$total_friends --;
- if($r[0]['abook_flags'] & ABOOK_FLAG_FEED)
+ if(intval($r[0]['abook_feed']))
$total_feeds --;
}
continue;
@@ -3012,7 +2988,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
logger('process_channel_sync_delivery: total_channels service class limit exceeded');
continue;
}
- if($max_feeds !== false && ($clean['abook_flags'] & ABOOK_FLAG_FEED) && $total_feeds > $max_feeds) {
+ if($max_feeds !== false && intval($clean['abook_feed']) && $total_feeds > $max_feeds) {
logger('process_channel_sync_delivery: total_feeds service class limit exceeded');
continue;
}
@@ -3021,7 +2997,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
intval($channel['channel_id'])
);
$total_friends ++;
- if($clean['abook_flags'] & ABOOK_FLAG_FEED)
+ if(intval($clean['abook_feed']))
$total_feeds ++;
}
@@ -3033,6 +3009,9 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
. "' where abook_xchan = '" . dbesc($clean['abook_xchan']) . "' and abook_channel = " . intval($channel['channel_id']));
}
}
+
+
+
}
}
@@ -3249,11 +3228,11 @@ function get_rpost_path($observer) {
* @return boolean|string return false or a hash
*/
function import_author_zot($x) {
- $hash = make_xchan_hash($x['guid'], $x['guid_sig']);
- $r = q("select hubloc_url from hubloc where hubloc_guid = '%s' and hubloc_guid_sig = '%s' and (hubloc_flags & %d)>0 limit 1",
+
+ $hash = make_xchan_hash($x['guid'],$x['guid_sig']);
+ $r = q("select hubloc_url from hubloc where hubloc_guid = '%s' and hubloc_guid_sig = '%s' and hubloc_primary = 1 limit 1",
dbesc($x['guid']),
- dbesc($x['guid_sig']),
- intval(HUBLOC_FLAGS_PRIMARY)
+ dbesc($x['guid_sig'])
);
if ($r) {
@@ -3323,12 +3302,9 @@ function zot_process_message_request($data) {
if ($messages) {
$env_recips = null;
- $r = q("select hubloc_guid, hubloc_url, hubloc_sitekey, hubloc_network, hubloc_flags, hubloc_callback, hubloc_host
- from hubloc where hubloc_hash = '%s' and not (hubloc_flags & %d)>0
- and not (hubloc_status & %d)>0 ",
- dbesc($sender_hash),
- intval(HUBLOC_FLAGS_DELETED),
- intval(HUBLOC_OFFLINE)
+ $r = q("select * from hubloc where hubloc_hash = '%s' and not hubloc_error and not hubloc_deleted
+ group by hubloc_sitekey",
+ dbesc($sender_hash)
);
if (! $r) {
logger('no hubs');
diff --git a/index.php b/index.php
index 9452bd05b..3758b38b0 100755
--- a/index.php
+++ b/index.php
@@ -151,10 +151,6 @@ $a->set_apps($arr['app_menu']);
*
* "module"_init
* "module"_post (only called if there are $_POST variables)
- * "module"_aside
- * $theme_$module_aside (and $extends_$module_aside) are run first if either exist
- * if either of these return false, module_aside is not called
- * This allows a theme to over-ride the sidebar layout completely.
* "module"_content - the string return of this function contains our page body
*
* Modules which emit other serialisations besides HTML (XML,JSON, etc.) should do
@@ -335,34 +331,6 @@ if($a->module_loaded) {
$func($a);
}
- if(! $a->error) {
- // If a theme has defined an _aside() function, run that first
- //
- // If the theme function doesn't exist, see if this theme extends another,
- // and see if that other theme has an _aside() function--if it does, run it
- //
- // If $aside_default is not False after the theme _aside() function, run the
- // module's _aside() function too
- //
- // This gives themes more control over how the sidebar looks
-
- $aside_default = true;
- call_hooks($a->module . '_mod_aside',$placeholder);
- if(function_exists(str_replace('-','_',current_theme()) . '_' . $a->module . '_aside')) {
- $func = str_replace('-','_',current_theme()) . '_' . $a->module . '_aside';
- $aside_default = $func($a);
- }
- elseif($aside_default && x($a->theme_info, "extends")
- && (function_exists(str_replace('-', '_',$a->theme_info["extends"]) . '_' . $a->module . '_aside'))) {
- $func = str_replace('-', '_', $a->theme_info["extends"]) . '_' . $a->module . '_aside';
- $aside_default = $func($a);
- }
- if($aside_default && function_exists($a->module . '_aside')) {
- $func = $a->module . '_aside';
- $func($a);
- }
- }
-
if((! $a->error) && (function_exists($a->module . '_content'))) {
$arr = array('content' => $a->page['content']);
call_hooks($a->module . '_mod_content', $arr);
diff --git a/install/INSTALL.txt b/install/INSTALL.txt
index 7c4209896..65df17fdd 100644
--- a/install/INSTALL.txt
+++ b/install/INSTALL.txt
@@ -1,23 +1,23 @@
-Red Matrix Installation
+Hubzilla Installation
-We've tried very hard to ensure that the Red Matrix will run on commodity
+We've tried very hard to ensure that the Hubzilla will run on commodity
hosting platforms - such as those used to host Wordpress blogs and Drupal
websites. It will run on most any Linux VPS system. Windows LAMP platforms
such as XAMPP and WAMP are not officially supported at this time - however
we welcome patches if you manage to get it working.
-Be aware that the Red Matrix is more than a simple web application. It is a
+Be aware that the Hubzilla is more than a simple web application. It is a
complex communications system which more closely resembles an email server
than a web server. For reliability and performance, messages are delivered in
the background and are queued for later delivery when sites are down. This
kind of functionality requires a bit more of the host system than the typical
blog. Not every PHP/MySQL hosting provider will be able to support the
-Red Matrix. Many will - but please review the requirements and confirm these
+Hubzilla. Many will - but please review the requirements and confirm these
with your hosting provider prior to installation. (And preferably before
entering into a long-term contract.)
If you encounter installation issues, please let us know via the Github issue
-tracker (https://github.com/redmatrix/redmatrix/issues). Please be as clear as you
+tracker (https://github.com/redmatrix/hubzilla/issues). Please be as clear as you
can about your operating environment and provide as much detail as possible
about any error messages you may see, so that we can prevent it from happening
in the future. Due to the large variety of operating systems and PHP platforms
@@ -29,7 +29,7 @@ issues.
Before you begin: Choose a domain name or subdomain name for your server.
-The Red Matrix can only be installed into the root of a domain or
+The Hubzilla can only be installed into the root of a domain or
sub-domain, and can not be installed using alternate TCP ports.
Decide if you will use SSL and obtain an SSL certificate before software
@@ -57,7 +57,7 @@ Free "browser-valid" certificates are available from providers such as StartSSL.
If you do NOT use SSL, there may be a delay of up to a minute for the initial
install script - while we check the SSL port to see if anything responds there.
-When communicating with new sites, Red Matrix always attempts connection on the
+When communicating with new sites, Hubzilla always attempts connection on the
SSL port first, before falling back to a less secure connection. If you do not
use SSL, your webserver must not listen on port 443 at all.
@@ -87,7 +87,7 @@ use SSL, your webserver must not listen on port 443 at all.
- Installation into a top-level domain or sub-domain (without a
directory/path component in the URL) is REQUIRED.
-2. Unpack the RedMatrix files into the root of your web server document area.
+2. Unpack the Hubzilla files into the root of your web server document area.
If you copy the directory tree to your webserver, make sure that you
also copy .htaccess - as "dot" files are often hidden and aren't normally
@@ -98,7 +98,7 @@ use SSL, your webserver must not listen on port 443 at all.
software much easier to update. The Linux command to clone the repository
into a directory "mywebsite" would be
- git clone https://github.com/redmatrix/redmatrix.git mywebsite
+ git clone https://github.com/redmatrix/hubzilla.git mywebsite
- and then you can pick up the latest changes at any time with
@@ -126,10 +126,10 @@ use SSL, your webserver must not listen on port 443 at all.
cd mywebsite
- Then you should clone the addon repository (separately). We'll give this repository
- a nickname of 'matrix'. You can pull in other redmatrix addon repositories by
+ a nickname of 'matrix'. You can pull in other hubzilla addon repositories by
giving them different nicknames.
- util/add_addon_repo https://github.com/redmatrix/redmatrix-addons.git matrix
+ util/add_addon_repo https://github.com/redmatrix/hubzilla-addons.git matrix
- For keeping the addon tree updated, you should be on your top level website
directory and issue an update command for that repository.
@@ -137,6 +137,14 @@ use SSL, your webserver must not listen on port 443 at all.
cd mywebsite
util/update_addon_repo matrix
+ - Create searchable represenations of the online documentation. You may do this any time
+ that the documentation is updated.
+
+ cd mywebsite
+ util/importdoc
+
+
+
3. Create an empty database and note the access details (hostname, username,
password, database name).
@@ -186,7 +194,7 @@ one shown, substituting for your unique paths and settings:
You can generally find the location of PHP by executing "which php". If you
have troubles with this section please contact your hosting provider for
-assistance. RedMatrix will not work correctly if you cannot perform this step.
+assistance. Hubzilla will not work correctly if you cannot perform this step.
You should also be sure that $a->config['system']['php_path'] is set correctly,
it should look like (changing it to the correct PHP location)
@@ -233,7 +241,7 @@ generally be world-readable.
Ensure that mod-rewite is installed and working, and that your
.htaccess file is being used. To verify the latter, create a file test.out
-containing the word "test" in the top directory of the RedMatrix, make it world
+containing the word "test" in the top directory of the Hubzilla, make it world
readable and point your web browser to
http://yoursitenamehere.com/test.out
@@ -283,7 +291,7 @@ Retry the installation. As soon as the database has been created,
#####################################################################
- Some configurations with "suhosin" security are configured without
-an ability to run external processes. The Red Matrix requires this ability.
+an ability to run external processes. The Hubzilla requires this ability.
Following are some notes provided by one of our members.
#####################################################################
@@ -293,26 +301,26 @@ certain functions like proc_open, as configured in /etc/php5/conf.d/suhosin.ini:
suhosin.executor.func.blacklist = proc_open, ...
-For those sites like Red Matrix that really need these functions they can be
-enabled, e.g. in /etc/apache2/sites-available/redmatrix:
+For those sites like Hubzilla that really need these functions they can be
+enabled, e.g. in /etc/apache2/sites-available/hubzilla:
- <Directory /var/www/redmatrix/>
+ <Directory /var/www/hubzilla/>
php_admin_value suhosin.executor.func.blacklist none
php_admin_value suhosin.executor.eval.blacklist none
</Directory>
-This enables every function for Red Matrix if accessed via browser, but not for
+This enables every function for Hubzilla if accessed via browser, but not for
the cronjob that is called via php command line. I attempted to enable it for
cron by using something like
- */10 * * * * cd /var/www/redmatrix/ && sudo -u www-data /usr/bin/php
+ */10 * * * * cd /var/www/hubzilla/ && sudo -u www-data /usr/bin/php
-d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none
-f include/poller.php
This worked well for simple test cases, but the cron job still failed with
a fatal error:
suhosin[22962]: ALERT - function within blacklist called: proc_open() (attacker
-'REMOTE_ADDR not set', file '/var/www/redmatrix/boot.php', line 1341)
+'REMOTE_ADDR not set', file '/var/www/hubzilla/boot.php', line 1341)
After a while I noticed, that include/poller.php calls further php script via
proc_open. These scripts themselves also use proc_open and fail, because they
diff --git a/install/htconfig.sample.php b/install/htconfig.sample.php
index 25ac2df7c..21697a951 100755
--- a/install/htconfig.sample.php
+++ b/install/htconfig.sample.php
@@ -3,7 +3,7 @@
// If automatic system installation fails:
// Copy or rename this file to .htconfig.php in the top level
-// Red Matrix directory
+// Hubzilla directory
// Why .htconfig.php? Because it contains sensitive information which could
// give somebody complete control of your database. Apache's default
@@ -40,7 +40,7 @@ $default_timezone = 'America/Los_Angeles';
// What is your site name?
$a->config['system']['baseurl'] = 'https://myredsite.example';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = 'if the auto install failed, put a unique random string here';
diff --git a/doc/install/sample-lighttpd.conf b/install/sample-lighttpd.conf
index db26c3b64..db26c3b64 100644
--- a/doc/install/sample-lighttpd.conf
+++ b/install/sample-lighttpd.conf
diff --git a/doc/install/sample-nginx.conf b/install/sample-nginx.conf
index e9a80d226..e9a80d226 100644
--- a/doc/install/sample-nginx.conf
+++ b/install/sample-nginx.conf
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql
index 397848e9e..d7d44a0a6 100644
--- a/install/schema_mysql.sql
+++ b/install/schema_mysql.sql
@@ -1,8 +1,3 @@
--- --------------------------------------------------------
-
---
--- Table structure for table `abook`
---
CREATE TABLE IF NOT EXISTS `abook` (
`abook_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -12,13 +7,19 @@ CREATE TABLE IF NOT EXISTS `abook` (
`abook_my_perms` int(11) NOT NULL DEFAULT '0',
`abook_their_perms` int(11) NOT NULL DEFAULT '0',
`abook_closeness` tinyint(3) unsigned NOT NULL DEFAULT '99',
- `abook_rating` int(11) NOT NULL DEFAULT '0',
- `abook_rating_text` TEXT NOT NULL DEFAULT '',
`abook_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`abook_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`abook_connected` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`abook_dob` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`abook_flags` int(11) NOT NULL DEFAULT '0',
+ `abook_blocked` tinyint(4) NOT NULL DEFAULT '0',
+ `abook_ignored` tinyint(4) NOT NULL DEFAULT '0',
+ `abook_hidden` tinyint(4) NOT NULL DEFAULT '0',
+ `abook_archived` tinyint(4) NOT NULL DEFAULT '0',
+ `abook_pending` tinyint(4) NOT NULL DEFAULT '0',
+ `abook_unconnected` tinyint(4) NOT NULL DEFAULT '0',
+ `abook_self` tinyint(4) NOT NULL DEFAULT '0',
+ `abook_feed` tinyint(4) NOT NULL DEFAULT '0',
`abook_profile` char(64) NOT NULL DEFAULT '',
`abook_incl` TEXT NOT NULL DEFAULT '',
`abook_excl` TEXT NOT NULL DEFAULT '',
@@ -35,16 +36,16 @@ CREATE TABLE IF NOT EXISTS `abook` (
KEY `abook_profile` (`abook_profile`),
KEY `abook_dob` (`abook_dob`),
KEY `abook_connected` (`abook_connected`),
- KEY `abook_rating` (`abook_rating`),
- KEY `abook_channel_closeness` (`abook_channel`,`abook_closeness`)
+ KEY `abook_blocked` (`abook_blocked`),
+ KEY `abook_ignored` (`abook_ignored`),
+ KEY `abook_hidden` (`abook_hidden`),
+ KEY `abook_archived` (`abook_archived`),
+ KEY `abook_pending` (`abook_pending`),
+ KEY `abook_unconnected` (`abook_unconnected`),
+ KEY `abook_self` (`abook_self`),
+ KEY `abook_feed` (`abook_feed`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `account`
---
-
CREATE TABLE IF NOT EXISTS `account` (
`account_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`account_parent` int(10) unsigned NOT NULL DEFAULT '0',
@@ -78,12 +79,6 @@ CREATE TABLE IF NOT EXISTS `account` (
KEY `account_password_changed` (`account_password_changed`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `addon`
---
-
CREATE TABLE IF NOT EXISTS `addon` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` char(255) NOT NULL DEFAULT '',
@@ -96,13 +91,7 @@ CREATE TABLE IF NOT EXISTS `addon` (
KEY `hidden` (`hidden`),
KEY `name` (`name`),
KEY `installed` (`installed`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `app`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `app` (
`id` int(11) NOT NULL AUTO_INCREMENT,
@@ -127,13 +116,7 @@ CREATE TABLE IF NOT EXISTS `app` (
KEY `app_version` (`app_version`),
KEY `app_channel` (`app_channel`),
KEY `app_price` (`app_price`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `attach`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `attach` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -147,6 +130,11 @@ CREATE TABLE IF NOT EXISTS `attach` (
`revision` int(10) unsigned NOT NULL DEFAULT '0',
`folder` char(64) NOT NULL DEFAULT '',
`flags` int(10) unsigned NOT NULL DEFAULT '0',
+ `is_dir` tinyint(1) NOT NULL DEFAULT '0',
+ `is_photo` tinyint(1) NOT NULL DEFAULT '0',
+ `os_storage` tinyint(1) NOT NULL DEFAULT '0',
+ `os_path` mediumtext NOT NULL,
+ `display_path` mediumtext NOT NULL,
`data` longblob NOT NULL,
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -166,14 +154,11 @@ CREATE TABLE IF NOT EXISTS `attach` (
KEY `revision` (`revision`),
KEY `folder` (`folder`),
KEY `flags` (`flags`),
- KEY `creator` (`creator`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `auth_codes`
---
+ KEY `creator` (`creator`),
+ KEY `is_dir` (`is_dir`),
+ KEY `is_photo` (`is_photo`),
+ KEY `os_storage` (`os_storage`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `auth_codes` (
`id` varchar(40) NOT NULL DEFAULT '',
@@ -184,12 +169,6 @@ CREATE TABLE IF NOT EXISTS `auth_codes` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `cache`
---
-
CREATE TABLE IF NOT EXISTS `cache` (
`k` char(255) NOT NULL DEFAULT '',
`v` text NOT NULL,
@@ -197,12 +176,6 @@ CREATE TABLE IF NOT EXISTS `cache` (
PRIMARY KEY (`k`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `channel`
---
-
CREATE TABLE IF NOT EXISTS `channel` (
`channel_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`channel_account_id` int(10) unsigned NOT NULL DEFAULT '0',
@@ -250,6 +223,8 @@ CREATE TABLE IF NOT EXISTS `channel` (
`channel_w_pages` int(10) unsigned NOT NULL DEFAULT '0',
`channel_a_republish` int(10) unsigned NOT NULL DEFAULT '0',
`channel_w_like` int(10) unsigned NOT NULL DEFAULT '0',
+ `channel_removed` tinyint(1) NOT NULL DEFAULT '0',
+ `channel_system` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`channel_id`),
UNIQUE KEY `channel_address_unique` (`channel_address`),
KEY `channel_account_id` (`channel_account_id`),
@@ -285,16 +260,12 @@ CREATE TABLE IF NOT EXISTS `channel` (
KEY `channel_deleted` (`channel_deleted`),
KEY `channel_a_republish` (`channel_a_republish`),
KEY `channel_dirdate` (`channel_dirdate`),
- KEY `channel_lastpost` (`channel_lastpost`),
- KEY `channel_w_like` (`channel_w_like`)
+ KEY `channel_w_like` (`channel_w_like`),
+ KEY `channel_removed` (`channel_removed`),
+ KEY `channel_system` (`channel_system`),
+ KEY `channel_lastpost` (`channel_lastpost`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `chat`
---
-
CREATE TABLE IF NOT EXISTS `chat` (
`chat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`chat_room` int(10) unsigned NOT NULL DEFAULT '0',
@@ -305,13 +276,7 @@ CREATE TABLE IF NOT EXISTS `chat` (
KEY `chat_room` (`chat_room`),
KEY `chat_xchan` (`chat_xchan`),
KEY `created` (`created`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `chatpresence`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `chatpresence` (
`cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -327,12 +292,6 @@ CREATE TABLE IF NOT EXISTS `chatpresence` (
KEY `cp_status` (`cp_status`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `chatroom`
---
-
CREATE TABLE IF NOT EXISTS `chatroom` (
`cr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cr_aid` int(10) unsigned NOT NULL DEFAULT '0',
@@ -352,13 +311,7 @@ CREATE TABLE IF NOT EXISTS `chatroom` (
KEY `cr_created` (`cr_created`),
KEY `cr_edited` (`cr_edited`),
KEY `cr_expire` (`cr_expire`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `clients`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `clients` (
`client_id` varchar(20) NOT NULL DEFAULT '',
@@ -370,12 +323,6 @@ CREATE TABLE IF NOT EXISTS `clients` (
PRIMARY KEY (`client_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `config`
---
-
CREATE TABLE IF NOT EXISTS `config` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cat` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
@@ -385,12 +332,6 @@ CREATE TABLE IF NOT EXISTS `config` (
UNIQUE KEY `access` (`cat`,`k`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `conv`
---
-
CREATE TABLE IF NOT EXISTS `conv` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`guid` char(255) NOT NULL DEFAULT '',
@@ -405,12 +346,6 @@ CREATE TABLE IF NOT EXISTS `conv` (
KEY `updated` (`updated`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `event`
---
-
CREATE TABLE IF NOT EXISTS `event` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`aid` int(10) unsigned NOT NULL DEFAULT '0',
@@ -454,12 +389,6 @@ CREATE TABLE IF NOT EXISTS `event` (
KEY `event_priority` (`event_priority`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `fcontact`
---
-
CREATE TABLE IF NOT EXISTS `fcontact` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`url` char(255) NOT NULL,
@@ -482,12 +411,6 @@ CREATE TABLE IF NOT EXISTS `fcontact` (
KEY `network` (`network`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `ffinder`
---
-
CREATE TABLE IF NOT EXISTS `ffinder` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(10) unsigned NOT NULL,
@@ -499,12 +422,6 @@ CREATE TABLE IF NOT EXISTS `ffinder` (
KEY `fid` (`fid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `fserver`
---
-
CREATE TABLE IF NOT EXISTS `fserver` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`server` char(255) NOT NULL DEFAULT '',
@@ -515,12 +432,6 @@ CREATE TABLE IF NOT EXISTS `fserver` (
KEY `posturl` (`posturl`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `fsuggest`
---
-
CREATE TABLE IF NOT EXISTS `fsuggest` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL DEFAULT '0',
@@ -534,12 +445,6 @@ CREATE TABLE IF NOT EXISTS `fsuggest` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `groups`
---
-
CREATE TABLE IF NOT EXISTS `groups` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`hash` char(255) NOT NULL DEFAULT '',
@@ -554,12 +459,6 @@ CREATE TABLE IF NOT EXISTS `groups` (
KEY `hash` (`hash`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `group_member`
---
-
CREATE TABLE IF NOT EXISTS `group_member` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(10) unsigned NOT NULL DEFAULT '0',
@@ -571,12 +470,6 @@ CREATE TABLE IF NOT EXISTS `group_member` (
KEY `xchan` (`xchan`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `hook`
---
-
CREATE TABLE IF NOT EXISTS `hook` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`hook` char(255) NOT NULL DEFAULT '',
@@ -585,13 +478,7 @@ CREATE TABLE IF NOT EXISTS `hook` (
`priority` int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `hook` (`hook`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `hubloc`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `hubloc` (
`hubloc_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -610,6 +497,10 @@ CREATE TABLE IF NOT EXISTS `hubloc` (
`hubloc_sitekey` text NOT NULL,
`hubloc_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`hubloc_connected` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `hubloc_primary` tinyint(1) NOT NULL DEFAULT '0',
+ `hubloc_orphancheck` tinyint(1) NOT NULL DEFAULT '0',
+ `hubloc_error` tinyint(1) NOT NULL DEFAULT '0',
+ `hubloc_deleted` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`hubloc_id`),
KEY `hubloc_url` (`hubloc_url`),
KEY `hubloc_guid` (`hubloc_guid`),
@@ -620,15 +511,13 @@ CREATE TABLE IF NOT EXISTS `hubloc` (
KEY `hubloc_updated` (`hubloc_updated`),
KEY `hubloc_connected` (`hubloc_connected`),
KEY `hubloc_status` (`hubloc_status`),
- KEY `hubloc_network` (`hubloc_network`)
+ KEY `hubloc_network` (`hubloc_network`),
+ KEY `hubloc_primary` (`hubloc_primary`),
+ KEY `hubloc_orphancheck` (`hubloc_orphancheck`),
+ KEY `hubloc_deleted` (`hubloc_deleted`),
+ KEY `hubloc_error` (`hubloc_error`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `issue`
---
-
CREATE TABLE IF NOT EXISTS `issue` (
`issue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`issue_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -646,12 +535,6 @@ CREATE TABLE IF NOT EXISTS `issue` (
KEY `issue_component` (`issue_component`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `item`
---
-
CREATE TABLE IF NOT EXISTS `item` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
@@ -673,6 +556,7 @@ CREATE TABLE IF NOT EXISTS `item` (
`mimetype` char(255) NOT NULL DEFAULT '',
`title` text NOT NULL,
`body` mediumtext NOT NULL,
+ `html` mediumtext NOT NULL,
`app` char(255) NOT NULL DEFAULT '',
`lang` char(64) NOT NULL DEFAULT '',
`revision` int(10) unsigned NOT NULL DEFAULT '0',
@@ -701,8 +585,30 @@ CREATE TABLE IF NOT EXISTS `item` (
`deny_gid` mediumtext NOT NULL,
`item_restrict` int(11) NOT NULL DEFAULT '0',
`item_flags` int(11) NOT NULL DEFAULT '0',
- `item_private` tinyint(4) NOT NULL DEFAULT '0',
- `item_unseen` smallint(1) NOT NULL DEFAULT '0',
+ `item_private` tinyint(1) NOT NULL DEFAULT '0',
+ `item_origin` tinyint(1) NOT NULL DEFAULT '0',
+ `item_unseen` tinyint(1) NOT NULL DEFAULT '0',
+ `item_starred` tinyint(1) NOT NULL DEFAULT '0',
+ `item_uplink` tinyint(1) NOT NULL DEFAULT '0',
+ `item_consensus` tinyint(1) NOT NULL DEFAULT '0',
+ `item_wall` tinyint(1) NOT NULL DEFAULT '0',
+ `item_thread_top` tinyint(1) NOT NULL DEFAULT '0',
+ `item_notshown` tinyint(1) NOT NULL DEFAULT '0',
+ `item_nsfw` tinyint(1) NOT NULL DEFAULT '0',
+ `item_relay` tinyint(1) NOT NULL DEFAULT '0',
+ `item_mentionsme` tinyint(1) NOT NULL DEFAULT '0',
+ `item_nocomment` tinyint(1) NOT NULL DEFAULT '0',
+ `item_obscured` tinyint(1) NOT NULL DEFAULT '0',
+ `item_verified` tinyint(1) NOT NULL DEFAULT '0',
+ `item_retained` tinyint(1) NOT NULL DEFAULT '0',
+ `item_rss` tinyint(1) NOT NULL DEFAULT '0',
+ `item_deleted` tinyint(1) NOT NULL DEFAULT '0',
+ `item_type` int(11) NOT NULL DEFAULT '0',
+ `item_hidden` tinyint(1) NOT NULL DEFAULT '0',
+ `item_unpublished` tinyint(1) NOT NULL DEFAULT '0',
+ `item_delayed` tinyint(1) NOT NULL DEFAULT '0',
+ `item_pending_remove` tinyint(1) NOT NULL DEFAULT '0',
+ `item_blocked` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `uid` (`uid`),
KEY `parent` (`parent`),
@@ -732,7 +638,29 @@ CREATE TABLE IF NOT EXISTS `item` (
KEY `public_policy` (`public_policy`),
KEY `comments_closed` (`comments_closed`),
KEY `changed` (`changed`),
+ KEY `item_origin` (`item_origin`),
KEY `item_unseen` (`item_unseen`),
+ KEY `item_starred` (`item_starred`),
+ KEY `item_uplink` (`item_uplink`),
+ KEY `item_wall` (`item_wall`),
+ KEY `item_thread_top` (`item_thread_top`),
+ KEY `item_notshown` (`item_notshown`),
+ KEY `item_nsfw` (`item_nsfw`),
+ KEY `item_relay` (`item_relay`),
+ KEY `item_mentionsme` (`item_mentionsme`),
+ KEY `item_nocomment` (`item_nocomment`),
+ KEY `item_obscured` (`item_obscured`),
+ KEY `item_verified` (`item_verified`),
+ KEY `item_retained` (`item_retained`),
+ KEY `item_rss` (`item_rss`),
+ KEY `item_deleted` (`item_deleted`),
+ KEY `item_type` (`item_type`),
+ KEY `item_hidden` (`item_hidden`),
+ KEY `item_consensus` (`item_consensus`),
+ KEY `item_unpublished` (`item_unpublished`),
+ KEY `item_delayed` (`item_delayed`),
+ KEY `item_pending_remove` (`item_pending_remove`),
+ KEY `item_blocked` (`item_blocked`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `body` (`body`),
FULLTEXT KEY `allow_cid` (`allow_cid`),
@@ -741,12 +669,6 @@ CREATE TABLE IF NOT EXISTS `item` (
FULLTEXT KEY `deny_gid` (`deny_gid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `item_id`
---
-
CREATE TABLE IF NOT EXISTS `item_id` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`iid` int(11) NOT NULL DEFAULT '0',
@@ -760,12 +682,6 @@ CREATE TABLE IF NOT EXISTS `item_id` (
KEY `iid` (`iid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `likes`
---
-
CREATE TABLE IF NOT EXISTS `likes` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`channel_id` int(10) unsigned NOT NULL DEFAULT '0',
@@ -786,13 +702,7 @@ CREATE TABLE IF NOT EXISTS `likes` (
KEY `target_type` (`target_type`),
KEY `channel_id` (`channel_id`),
KEY `target_id` (`target_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `mail`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `mail` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -804,9 +714,16 @@ CREATE TABLE IF NOT EXISTS `mail` (
`channel_id` int(10) unsigned NOT NULL DEFAULT '0',
`title` text NOT NULL,
`body` mediumtext NOT NULL,
+ `sig` text NOT NULL,
`attach` mediumtext NOT NULL,
`mid` char(255) NOT NULL DEFAULT '',
`parent_mid` char(255) NOT NULL DEFAULT '',
+ `mail_deleted` tinyint(4) NOT NULL DEFAULT '0',
+ `mail_replied` tinyint(4) NOT NULL DEFAULT '0',
+ `mail_isreply` tinyint(4) NOT NULL DEFAULT '0',
+ `mail_seen` tinyint(4) NOT NULL DEFAULT '0',
+ `mail_recalled` tinyint(4) NOT NULL DEFAULT '0',
+ `mail_obscured` smallint(6) NOT NULL DEFAULT '0',
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
@@ -819,15 +736,15 @@ CREATE TABLE IF NOT EXISTS `mail` (
KEY `mid` (`mid`),
KEY `parent_mid` (`parent_mid`),
KEY `expires` (`expires`),
- KEY `convid` (`convid`)
+ KEY `convid` (`convid`),
+ KEY `mail_deleted` (`mail_deleted`),
+ KEY `mail_replied` (`mail_replied`),
+ KEY `mail_isreply` (`mail_isreply`),
+ KEY `mail_seen` (`mail_seen`),
+ KEY `mail_recalled` (`mail_recalled`),
+ KEY `mail_obscured` (`mail_obscured`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `manage`
---
-
CREATE TABLE IF NOT EXISTS `manage` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL DEFAULT '0',
@@ -837,12 +754,6 @@ CREATE TABLE IF NOT EXISTS `manage` (
KEY `xchan` (`xchan`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `menu`
---
-
CREATE TABLE IF NOT EXISTS `menu` (
`menu_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`menu_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
@@ -859,12 +770,6 @@ CREATE TABLE IF NOT EXISTS `menu` (
KEY `menu_edited` (`menu_edited`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `menu_item`
---
-
CREATE TABLE IF NOT EXISTS `menu_item` (
`mitem_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`mitem_link` char(255) NOT NULL DEFAULT '',
@@ -881,13 +786,7 @@ CREATE TABLE IF NOT EXISTS `menu_item` (
KEY `mitem_channel_id` (`mitem_channel_id`),
KEY `mitem_menu_id` (`mitem_menu_id`),
KEY `mitem_flags` (`mitem_flags`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `notify`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `notify` (
`id` int(11) NOT NULL AUTO_INCREMENT,
@@ -917,12 +816,6 @@ CREATE TABLE IF NOT EXISTS `notify` (
KEY `aid` (`aid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `obj`
---
-
CREATE TABLE IF NOT EXISTS `obj` (
`obj_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`obj_page` char(64) NOT NULL DEFAULT '',
@@ -930,6 +823,11 @@ CREATE TABLE IF NOT EXISTS `obj` (
`obj_type` int(10) unsigned NOT NULL DEFAULT '0',
`obj_obj` char(255) NOT NULL DEFAULT '',
`obj_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `obj_term` char(255) NOT NULL DEFAULT '',
+ `obj_url` char(255) NOT NULL DEFAULT '',
+ `obj_imgurl` char(255) NOT NULL DEFAULT '',
+ `obj_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `obj_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
@@ -939,14 +837,13 @@ CREATE TABLE IF NOT EXISTS `obj` (
KEY `obj_page` (`obj_page`),
KEY `obj_type` (`obj_type`),
KEY `obj_channel` (`obj_channel`),
+ KEY `obj_term` (`obj_term`),
+ KEY `obj_url` (`obj_url`),
+ KEY `obj_imgurl` (`obj_imgurl`),
+ KEY `obj_created` (`obj_created`),
+ KEY `obj_edited` (`obj_edited`),
KEY `obj_obj` (`obj_obj`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `outq`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `outq` (
`outq_hash` char(255) NOT NULL,
@@ -960,7 +857,7 @@ CREATE TABLE IF NOT EXISTS `outq` (
`outq_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`outq_notify` mediumtext NOT NULL,
`outq_msg` mediumtext NOT NULL,
- `outq_priority` smallint NOT NULL DEFAULT '0',
+ `outq_priority` smallint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`outq_hash`),
KEY `outq_account` (`outq_account`),
KEY `outq_channel` (`outq_channel`),
@@ -972,12 +869,6 @@ CREATE TABLE IF NOT EXISTS `outq` (
KEY `outq_priority` (`outq_priority`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `pconfig`
---
-
CREATE TABLE IF NOT EXISTS `pconfig` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL DEFAULT '0',
@@ -988,12 +879,6 @@ CREATE TABLE IF NOT EXISTS `pconfig` (
UNIQUE KEY `access` (`uid`,`cat`,`k`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `photo`
---
-
CREATE TABLE IF NOT EXISTS `photo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`aid` int(10) unsigned NOT NULL DEFAULT '0',
@@ -1012,7 +897,12 @@ CREATE TABLE IF NOT EXISTS `photo` (
`size` int(10) unsigned NOT NULL DEFAULT '0',
`data` mediumblob NOT NULL,
`scale` tinyint(3) NOT NULL DEFAULT '0',
+ `photo_usage` smallint(6) NOT NULL DEFAULT '0',
`profile` tinyint(1) NOT NULL DEFAULT '0',
+ `is_nsfw` tinyint(1) NOT NULL DEFAULT '0',
+ `os_storage` tinyint(1) NOT NULL DEFAULT '0',
+ `os_path` mediumtext NOT NULL,
+ `display_path` mediumtext NOT NULL,
`photo_flags` int(10) unsigned NOT NULL DEFAULT '0',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
@@ -1028,15 +918,12 @@ CREATE TABLE IF NOT EXISTS `photo` (
KEY `aid` (`aid`),
KEY `xchan` (`xchan`),
KEY `size` (`size`),
- KEY `resource_id` (`resource_id`)
+ KEY `resource_id` (`resource_id`),
+ KEY `is_nsfw` (`is_nsfw`),
+ KEY `os_storage` (`os_storage`),
+ KEY `photo_usage` (`photo_usage`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `poll`
---
-
CREATE TABLE IF NOT EXISTS `poll` (
`poll_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`poll_channel` int(10) unsigned NOT NULL DEFAULT '0',
@@ -1049,12 +936,6 @@ CREATE TABLE IF NOT EXISTS `poll` (
KEY `poll_votes` (`poll_votes`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `poll_elm`
---
-
CREATE TABLE IF NOT EXISTS `poll_elm` (
`pelm_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`pelm_poll` int(10) unsigned NOT NULL DEFAULT '0',
@@ -1066,12 +947,6 @@ CREATE TABLE IF NOT EXISTS `poll_elm` (
KEY `pelm_result` (`pelm_result`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `profdef`
---
-
CREATE TABLE IF NOT EXISTS `profdef` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`field_name` char(255) NOT NULL DEFAULT '',
@@ -1081,13 +956,7 @@ CREATE TABLE IF NOT EXISTS `profdef` (
`field_inputs` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `field_name` (`field_name`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `profext`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `profext` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
@@ -1099,13 +968,7 @@ CREATE TABLE IF NOT EXISTS `profext` (
KEY `channel_id` (`channel_id`),
KEY `hash` (`hash`),
KEY `k` (`k`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `profile`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `profile` (
`id` int(11) NOT NULL AUTO_INCREMENT,
@@ -1169,12 +1032,6 @@ CREATE TABLE IF NOT EXISTS `profile` (
KEY `profile_guid` (`profile_guid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `profile_check`
---
-
CREATE TABLE IF NOT EXISTS `profile_check` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(10) unsigned NOT NULL DEFAULT '0',
@@ -1190,12 +1047,6 @@ CREATE TABLE IF NOT EXISTS `profile_check` (
KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `register`
---
-
CREATE TABLE IF NOT EXISTS `register` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`hash` char(255) NOT NULL DEFAULT '',
@@ -1209,12 +1060,6 @@ CREATE TABLE IF NOT EXISTS `register` (
KEY `uid` (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `session`
---
-
CREATE TABLE IF NOT EXISTS `session` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`sid` char(255) NOT NULL DEFAULT '',
@@ -1225,12 +1070,6 @@ CREATE TABLE IF NOT EXISTS `session` (
KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `shares`
---
-
CREATE TABLE IF NOT EXISTS `shares` (
`share_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`share_type` int(11) NOT NULL DEFAULT '0',
@@ -1242,12 +1081,6 @@ CREATE TABLE IF NOT EXISTS `shares` (
KEY `share_xchan` (`share_xchan`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `sign`
---
-
CREATE TABLE IF NOT EXISTS `sign` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`iid` int(10) unsigned NOT NULL DEFAULT '0',
@@ -1258,13 +1091,7 @@ CREATE TABLE IF NOT EXISTS `sign` (
PRIMARY KEY (`id`),
KEY `iid` (`iid`),
KEY `retract_iid` (`retract_iid`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `site`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `site` (
`site_url` char(255) NOT NULL,
@@ -1293,12 +1120,6 @@ CREATE TABLE IF NOT EXISTS `site` (
KEY `site_dead` (`site_dead`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `source`
---
-
CREATE TABLE IF NOT EXISTS `source` (
`src_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`src_channel_id` int(10) unsigned NOT NULL DEFAULT '0',
@@ -1309,13 +1130,7 @@ CREATE TABLE IF NOT EXISTS `source` (
KEY `src_channel_id` (`src_channel_id`),
KEY `src_channel_xchan` (`src_channel_xchan`),
KEY `src_xchan` (`src_xchan`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `spam`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `spam` (
`id` int(11) NOT NULL AUTO_INCREMENT,
@@ -1331,12 +1146,6 @@ CREATE TABLE IF NOT EXISTS `spam` (
KEY `term` (`term`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `sys_perms`
---
-
CREATE TABLE IF NOT EXISTS `sys_perms` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cat` char(255) NOT NULL DEFAULT '',
@@ -1346,12 +1155,6 @@ CREATE TABLE IF NOT EXISTS `sys_perms` (
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `term`
---
-
CREATE TABLE IF NOT EXISTS `term` (
`tid` int(10) unsigned NOT NULL AUTO_INCREMENT,
`aid` int(10) unsigned NOT NULL DEFAULT '0',
@@ -1376,12 +1179,6 @@ CREATE TABLE IF NOT EXISTS `term` (
KEY `parent_hash` (`parent_hash`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `tokens`
---
-
CREATE TABLE IF NOT EXISTS `tokens` (
`id` varchar(40) NOT NULL DEFAULT '',
`secret` text NOT NULL,
@@ -1395,12 +1192,6 @@ CREATE TABLE IF NOT EXISTS `tokens` (
KEY `uid` (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `updates`
---
-
CREATE TABLE IF NOT EXISTS `updates` (
`ud_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ud_hash` char(128) NOT NULL DEFAULT '',
@@ -1418,12 +1209,6 @@ CREATE TABLE IF NOT EXISTS `updates` (
KEY `ud_last` (`ud_last`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `verify`
---
-
CREATE TABLE IF NOT EXISTS `verify` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`channel` int(10) unsigned NOT NULL DEFAULT '0',
@@ -1439,12 +1224,6 @@ CREATE TABLE IF NOT EXISTS `verify` (
KEY `created` (`created`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `vote`
---
-
CREATE TABLE IF NOT EXISTS `vote` (
`vote_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`vote_poll` int(11) NOT NULL DEFAULT '0',
@@ -1457,12 +1236,6 @@ CREATE TABLE IF NOT EXISTS `vote` (
KEY `vote_element` (`vote_element`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `xchan`
---
-
CREATE TABLE IF NOT EXISTS `xchan` (
`xchan_hash` char(255) NOT NULL,
`xchan_guid` char(255) NOT NULL DEFAULT '',
@@ -1483,6 +1256,13 @@ CREATE TABLE IF NOT EXISTS `xchan` (
`xchan_flags` int(10) unsigned NOT NULL DEFAULT '0',
`xchan_photo_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`xchan_name_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `xchan_hidden` tinyint(1) NOT NULL DEFAULT '0',
+ `xchan_orphan` tinyint(1) NOT NULL DEFAULT '0',
+ `xchan_censored` tinyint(1) NOT NULL DEFAULT '0',
+ `xchan_selfcensored` tinyint(1) NOT NULL DEFAULT '0',
+ `xchan_system` tinyint(1) NOT NULL DEFAULT '0',
+ `xchan_pubforum` tinyint(1) NOT NULL DEFAULT '0',
+ `xchan_deleted` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`xchan_hash`),
KEY `xchan_guid` (`xchan_guid`),
KEY `xchan_addr` (`xchan_addr`),
@@ -1492,15 +1272,16 @@ CREATE TABLE IF NOT EXISTS `xchan` (
KEY `xchan_flags` (`xchan_flags`),
KEY `xchan_connurl` (`xchan_connurl`),
KEY `xchan_instance_url` (`xchan_instance_url`),
- KEY `xchan_follow` (`xchan_follow`)
+ KEY `xchan_follow` (`xchan_follow`),
+ KEY `xchan_hidden` (`xchan_hidden`),
+ KEY `xchan_orphan` (`xchan_orphan`),
+ KEY `xchan_censored` (`xchan_censored`),
+ KEY `xchan_selfcensored` (`xchan_selfcensored`),
+ KEY `xchan_system` (`xchan_system`),
+ KEY `xchan_pubforum` (`xchan_pubforum`),
+ KEY `xchan_deleted` (`xchan_deleted`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `xchat`
---
-
CREATE TABLE IF NOT EXISTS `xchat` (
`xchat_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`xchat_url` char(255) NOT NULL DEFAULT '',
@@ -1514,12 +1295,6 @@ CREATE TABLE IF NOT EXISTS `xchat` (
KEY `xchat_edited` (`xchat_edited`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `xconfig`
---
-
CREATE TABLE IF NOT EXISTS `xconfig` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`xchan` char(255) NOT NULL DEFAULT '',
@@ -1532,12 +1307,6 @@ CREATE TABLE IF NOT EXISTS `xconfig` (
KEY `k` (`k`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `xign`
---
-
CREATE TABLE IF NOT EXISTS `xign` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`uid` int(11) NOT NULL DEFAULT '0',
@@ -1547,21 +1316,15 @@ CREATE TABLE IF NOT EXISTS `xign` (
KEY `xchan` (`xchan`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `xlink`
---
-
CREATE TABLE IF NOT EXISTS `xlink` (
`xlink_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`xlink_xchan` char(255) NOT NULL DEFAULT '',
`xlink_link` char(255) NOT NULL DEFAULT '',
`xlink_rating` int(11) NOT NULL DEFAULT '0',
- `xlink_rating_text` TEXT NOT NULL DEFAULT '',
+ `xlink_rating_text` text NOT NULL,
`xlink_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`xlink_static` tinyint(1) NOT NULL DEFAULT '0',
- `xlink_sig` text NOT NULL DEFAULT '',
+ `xlink_sig` text NOT NULL,
PRIMARY KEY (`xlink_id`),
KEY `xlink_xchan` (`xlink_xchan`),
KEY `xlink_link` (`xlink_link`),
@@ -1570,27 +1333,16 @@ CREATE TABLE IF NOT EXISTS `xlink` (
KEY `xlink_static` (`xlink_static`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `xperm`
---
-
CREATE TABLE IF NOT EXISTS `xperm` (
- `xp_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
- `xp_client` VARCHAR( 20 ) NOT NULL DEFAULT '',
- `xp_channel` INT UNSIGNED NOT NULL DEFAULT '0',
- `xp_perm` VARCHAR( 64 ) NOT NULL DEFAULT '',
+ `xp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `xp_client` varchar(20) NOT NULL DEFAULT '',
+ `xp_channel` int(10) unsigned NOT NULL DEFAULT '0',
+ `xp_perm` varchar(64) NOT NULL DEFAULT '',
+ PRIMARY KEY (`xp_id`),
KEY `xp_client` (`xp_client`),
KEY `xp_channel` (`xp_channel`),
KEY `xp_perm` (`xp_perm`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
--- --------------------------------------------------------
-
---
--- Table structure for table `xprof`
---
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `xprof` (
`xprof_hash` char(255) NOT NULL,
@@ -1622,12 +1374,6 @@ CREATE TABLE IF NOT EXISTS `xprof` (
KEY `xprof_hometown` (`xprof_hometown`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--- --------------------------------------------------------
-
---
--- Table structure for table `xtag`
---
-
CREATE TABLE IF NOT EXISTS `xtag` (
`xtag_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`xtag_hash` char(255) NOT NULL DEFAULT '',
diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql
index 0b8ed52dc..4c307a7f0 100644
--- a/install/schema_postgres.sql
+++ b/install/schema_postgres.sql
@@ -6,13 +6,19 @@ CREATE TABLE "abook" (
"abook_my_perms" bigint NOT NULL DEFAULT '0',
"abook_their_perms" bigint NOT NULL DEFAULT '0',
"abook_closeness" numeric(3) NOT NULL DEFAULT '99',
- "abook_rating" bigint NOT NULL DEFAULT '0',
- "abook_rating_text" TEXT NOT NULL DEFAULT '',
"abook_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"abook_updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"abook_connected" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"abook_dob" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"abook_flags" bigint NOT NULL DEFAULT '0',
+ "abook_blocked" smallint NOT NULL DEFAULT '0',
+ "abook_ignored" smallint NOT NULL DEFAULT '0',
+ "abook_hidden" smallint NOT NULL DEFAULT '0',
+ "abook_archived" smallint NOT NULL DEFAULT '0',
+ "abook_pending" smallint NOT NULL DEFAULT '0',
+ "abook_unconnected" smallint NOT NULL DEFAULT '0',
+ "abook_self" smallint NOT NULL DEFAULT '0',
+ "abook_feed" smallint NOT NULL DEFAULT '0',
"abook_profile" char(64) NOT NULL DEFAULT '',
"abook_incl" TEXT NOT NULL DEFAULT '',
"abook_excl" TEXT NOT NULL DEFAULT '',
@@ -27,6 +33,14 @@ CREATE TABLE "abook" (
create index "abook_created" on abook ("abook_created");
create index "abook_updated" on abook ("abook_updated");
create index "abook_flags" on abook ("abook_flags");
+ create index "abook_blocked" on abook ("abook_blocked");
+ create index "abook_ignored" on abook ("abook_ignored");
+ create index "abook_hidden" on abook ("abook_hidden");
+ create index "abook_archived" on abook ("abook_archived");
+ create index "abook_pending" on abook ("abook_pending");
+ create index "abook_unconnected" on abook ("abook_unconnected");
+ create index "abook_self" on abook ("abook_self");
+ create index "abook_feed" on abook ("abook_feed");
create index "abook_profile" on abook ("abook_profile");
create index "abook_dob" on abook ("abook_dob");
create index "abook_connected" on abook ("abook_connected");
@@ -114,6 +128,11 @@ CREATE TABLE "attach" (
"revision" bigint NOT NULL DEFAULT '0',
"folder" varchar(64) NOT NULL DEFAULT '',
"flags" bigint NOT NULL DEFAULT '0',
+ "is_dir" smallint NOT NULL DEFAULT '0',
+ "is_photo" smallint NOT NULL DEFAULT '0',
+ "os_storage" smallint NOT NULL DEFAULT '0',
+ "os_path" text NOT NULL,
+ "display_path" text NOT NULL,
"data" bytea NOT NULL,
"created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
@@ -135,6 +154,9 @@ create index "attach_edited_idx" on attach ("edited");
create index "attach_revision_idx" on attach ("revision");
create index "attach_folder_idx" on attach ("folder");
create index "attach_flags_idx" on attach ("flags");
+create index "attach_is_dir_idx" on attach ("is_dir");
+create index "attach_is_photo_idx" on attach ("is_photo");
+create index "attach_os_storage_idx" on attach ("os_storage");
create index "attach_creator_idx" on attach ("creator");
CREATE TABLE "auth_codes" (
"id" varchar(40) NOT NULL,
@@ -197,6 +219,8 @@ CREATE TABLE "channel" (
"channel_w_pages" bigint NOT NULL DEFAULT '128',
"channel_a_republish" bigint NOT NULL DEFAULT '128',
"channel_w_like" bigint NOT NULL DEFAULT '128',
+ "channel_removed" smallint NOT NULL DEFAULT '0',
+ "channel_system" smallint NOT NULL DEFAULT '0',
PRIMARY KEY ("channel_id"),
UNIQUE ("channel_address")
);
@@ -235,6 +259,8 @@ create index "channel_a_republish" on channel ("channel_a_republish");
create index "channel_w_like" on channel ("channel_w_like");
create index "channel_dirdate" on channel ("channel_dirdate");
create index "channel_lastpost" on channel ("channel_lastpost");
+create index "channel_removed" on channel ("channel_removed");
+create index "channel_system" on channel ("channel_system");
CREATE TABLE "chat" (
"chat_id" serial NOT NULL,
"chat_room" bigint NOT NULL DEFAULT '0',
@@ -463,6 +489,10 @@ CREATE TABLE "hubloc" (
"hubloc_sitekey" text NOT NULL DEFAULT '',
"hubloc_updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"hubloc_connected" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "hubloc_primary" smallint NOT NULL DEFAULT '0',
+ "hubloc_orphancheck" smallint NOT NULL DEFAULT '0',
+ "hubloc_error" smallint NOT NULL DEFAULT '0',
+ "hubloc_deleted" smallint NOT NULL DEFAULT '0',
PRIMARY KEY ("hubloc_id")
);
create index "hubloc_url" on hubloc ("hubloc_url");
@@ -475,6 +505,10 @@ create index "hubloc_network" on hubloc ("hubloc_network");
create index "hubloc_updated" on hubloc ("hubloc_updated");
create index "hubloc_connected" on hubloc ("hubloc_connected");
create index "hubloc_status" on hubloc ("hubloc_status");
+create index "hubloc_primary" on hubloc ("hubloc_primary");
+create index "hubloc_orphancheck" on hubloc ("hubloc_orphancheck");
+create index "hubloc_error" on hubloc ("hubloc_error");
+create index "hubloc_deleted" on hubloc ("hubloc_deleted");
CREATE TABLE "issue" (
"issue_id" serial NOT NULL,
"issue_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
@@ -513,6 +547,7 @@ CREATE TABLE "item" (
"mimetype" text NOT NULL DEFAULT '',
"title" text NOT NULL,
"body" text NOT NULL,
+ "html" text NOT NULL,
"app" text NOT NULL DEFAULT '',
"lang" varchar(64) NOT NULL DEFAULT '',
"revision" bigint NOT NULL DEFAULT '0',
@@ -543,6 +578,28 @@ CREATE TABLE "item" (
"item_flags" bigint NOT NULL DEFAULT '0',
"item_private" numeric(4) NOT NULL DEFAULT '0',
"item_unseen" smallint NOT NULL DEFAULT '0',
+ "item_wall" smallint NOT NULL DEFAULT '0',
+ "item_origin" smallint NOT NULL DEFAULT '0',
+ "item_starred" smallint NOT NULL DEFAULT '0',
+ "item_uplink" smallint NOT NULL DEFAULT '0',
+ "item_consensus" smallint NOT NULL DEFAULT '0',
+ "item_thread_top" smallint NOT NULL DEFAULT '0',
+ "item_notshown" smallint NOT NULL DEFAULT '0',
+ "item_nsfw" smallint NOT NULL DEFAULT '0',
+ "item_relay" smallint NOT NULL DEFAULT '0',
+ "item_mentionsme" smallint NOT NULL DEFAULT '0',
+ "item_nocomment" smallint NOT NULL DEFAULT '0',
+ "item_obscured" smallint NOT NULL DEFAULT '0',
+ "item_verified" smallint NOT NULL DEFAULT '0',
+ "item_retained" smallint NOT NULL DEFAULT '0',
+ "item_rss" smallint NOT NULL DEFAULT '0',
+ "item_deleted" smallint NOT NULL DEFAULT '0',
+ "item_type" int(11) NOT NULL DEFAULT '0',
+ "item_hidden" smallint NOT NULL DEFAULT '0',
+ "item_unpublished" smallint NOT NULL DEFAULT '0',
+ "item_delayed" smallint NOT NULL DEFAULT '0',
+ "item_pending_remove" smallint NOT NULL DEFAULT '0',
+ "item_blocked" smallint NOT NULL DEFAULT '0',
"item_search_vector" tsvector,
PRIMARY KEY ("id")
);
@@ -575,7 +632,29 @@ create index "item_public_policy" on item ("public_policy");
create index "item_comment_policy" on item ("comment_policy");
create index "item_layout_mid" on item ("layout_mid");
create index "item_unseen" on item ("item_unseen");
+create index "item_wall" on item ("item_wall");
+create index "item_origin" on item ("item_origin");
+create index "item_starred" on item ("item_starred");
+create index "item_uplink" on item ("item_uplink");
+create index "item_consensus" on item ("item_consensus");
+create index "item_thread_top" on item ("item_thread_top");
+create index "item_notshown" on item ("item_notshown");
+create index "item_nsfw" on item ("item_nsfw");
+create index "item_relay" on item ("item_relay");
+create index "item_mentionsme" on item ("item_mentionsme");
+create index "item_nocomment" on item ("item_nocomment");
+create index "item_obscured" on item ("item_obscured");
+create index "item_verified" on item ("item_verified");
+create index "item_retained" on item ("item_retained");
+create index "item_rss" on item ("item_rss");
+create index "item_deleted" on item ("item_deleted");
+create index "item_type" on item ("item_type");
+create index "item_hidden" on item ("item_hidden");
+create index "item_unpublished" on item ("item_unpublished");
+create index "item_delayed" on item ("item_delayed");
+create index "item_pending_remove" on item ("item_pending_remove");
+create index "item_blocked" on item ("item_blocked");
-- fulltext indexes
create index "item_search_idx" on item USING gist("item_search_vector");
create index "item_allow_cid" on item ("allow_cid");
@@ -624,12 +703,19 @@ CREATE TABLE "mail" (
"from_xchan" text NOT NULL DEFAULT '',
"to_xchan" text NOT NULL DEFAULT '',
"account_id" bigint NOT NULL DEFAULT '0',
- "channel_id" bigint NOT NULL,
+ "channel_id" bigint NOT NULL DEFAULT '0',
"title" text NOT NULL,
"body" text NOT NULL,
+ "sig" text NOT NULL,
"attach" text NOT NULL DEFAULT '',
"mid" text NOT NULL,
"parent_mid" text NOT NULL,
+ "mail_deleted" smallint NOT NULL DEFAULT '0',
+ "mail_replied" smallint NOT NULL DEFAULT '0',
+ "mail_isreply" smallint NOT NULL DEFAULT '0',
+ "mail_seen" smallint NOT NULL DEFAULT '0',
+ "mail_recalled" smallint NOT NULL DEFAULT '0',
+ "mail_obscured" smallint NOT NULL DEFAULT '0',
"created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"expires" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY ("id")
@@ -644,6 +730,12 @@ create index "mail_to_xchan" on mail ("to_xchan");
create index "mail_mid" on mail ("mid");
create index "mail_parent_mid" on mail ("parent_mid");
create index "mail_expires" on mail ("expires");
+create index "mail_deleted" on mail ("mail_deleted");
+create index "mail_replied" on mail ("mail_replied");
+create index "mail_isreply" on mail ("mail_isreply");
+create index "mail_seen" on mail ("mail_seen");
+create index "mail_recalled" on mail ("mail_recalled");
+create index "mail_obscured" on mail ("mail_obscured");
CREATE TABLE "manage" (
"id" serial NOT NULL,
"uid" bigint NOT NULL,
@@ -720,6 +812,11 @@ CREATE TABLE "obj" (
"obj_type" bigint NOT NULL DEFAULT '0',
"obj_obj" text NOT NULL DEFAULT '',
"obj_channel" bigint NOT NULL DEFAULT '0',
+ "obj_term" char(255) NOT NULL DEFAULT '',
+ "obj_url" char(255) NOT NULL DEFAULT '',
+ "obj_imgurl" char(255) NOT NULL DEFAULT '',
+ "obj_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "obj_edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"allow_cid" text NOT NULL,
"allow_gid" text NOT NULL,
"deny_cid" text NOT NULL,
@@ -732,6 +829,11 @@ create index "obj_page" on obj ("obj_page");
create index "obj_type" on obj ("obj_type");
create index "obj_channel" on obj ("obj_channel");
create index "obj_obj" on obj ("obj_obj");
+create index "obj_term" on obj ("obj_term");
+create index "obj_url" on obj ("obj_url");
+create index "obj_imgurl" on obj ("obj_imgurl");
+create index "obj_created" on obj ("obj_created");
+create index "obj_edited" on obj ("obj_edited");
CREATE TABLE "outq" (
"outq_hash" text NOT NULL,
@@ -785,6 +887,11 @@ CREATE TABLE "photo" (
"data" bytea NOT NULL,
"scale" numeric(3) NOT NULL,
"profile" numeric(1) NOT NULL DEFAULT '0',
+ "photo_usage" smallint(6) NOT NULL DEFAULT '0',
+ "is_nsfw" smallint NOT NULL DEFAULT '0',
+ "os_storage" smallint NOT NULL DEFAULT '0',
+ "os_path" mediumtext NOT NULL,
+ "display_path" mediumtext NOT NULL,
"photo_flags" bigint NOT NULL DEFAULT '0',
"allow_cid" text NOT NULL,
"allow_gid" text NOT NULL,
@@ -802,6 +909,9 @@ create index "photo_aid" on photo ("aid");
create index "photo_xchan" on photo ("xchan");
create index "photo_size" on photo ("size");
create index "photo_resource_id" on photo ("resource_id");
+create index "photo_usage" on photo ("photo_usage");
+create index "photo_is_nsfw" on photo ("is_nsfw");
+create index "photo_os_storage" on photo ("os_storage");
CREATE TABLE "poll" (
"poll_id" serial NOT NULL,
@@ -1124,6 +1234,13 @@ CREATE TABLE "xchan" (
"xchan_flags" bigint NOT NULL DEFAULT '0',
"xchan_photo_date" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
"xchan_name_date" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ "xchan_hidden" smallint NOT NULL DEFAULT '0',
+ "xchan_orphan" smallint NOT NULL DEFAULT '0',
+ "xchan_censored" smallint NOT NULL DEFAULT '0',
+ "xchan_selfcensored" smallint NOT NULL DEFAULT '0',
+ "xchan_system" smallint NOT NULL DEFAULT '0',
+ "xchan_pubforum" smallint NOT NULL DEFAULT '0',
+ "xchan_deleted" smallint NOT NULL DEFAULT '0',
PRIMARY KEY ("xchan_hash")
);
create index "xchan_guid" on xchan ("xchan_guid");
@@ -1135,6 +1252,14 @@ create index "xchan_flags" on xchan ("xchan_flags");
create index "xchan_connurl" on xchan ("xchan_connurl");
create index "xchan_instance_url" on xchan ("xchan_instance_url");
create index "xchan_follow" on xchan ("xchan_follow");
+create index "xchan_hidden" on xchan ("xchan_hidden");
+create index "xchan_orphan" on xchan ("xchan_orphan");
+create index "xchan_censored" on xchan ("xchan_censored");
+create index "xchan_selfcensored" on xchan ("xchan_selfcensored");
+create index "xchan_system" on xchan ("xchan_system");
+create index "xchan_pubforum" on xchan ("xchan_pubforum");
+create index "xchan_deleted" on xchan ("xchan_deleted");
+
CREATE TABLE "xchat" (
"xchat_id" serial NOT NULL,
"xchat_url" text NOT NULL DEFAULT '',
diff --git a/install/update.php b/install/update.php
index 3fd75754d..d0a0454fb 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1669,7 +1669,22 @@ function update_r1143() {
}
function update_r1144() {
- // hubzilla update does not apply here, but we're keeping the numbers in sync
+ $r = q("select flags, id from attach where flags != 0");
+ if($r) {
+ foreach($r as $rr) {
+ if($rr['flags'] & 1) {
+ q("update attach set is_dir = 1 where id = %d",
+ intval($rr['id'])
+ );
+ }
+ if($rr['flags'] & 2) {
+ q("update attach set os_storage = 1 where id = %d",
+ intval($rr['id'])
+ );
+ }
+ }
+ }
+
return UPDATE_SUCCESS;
}
@@ -1735,9 +1750,30 @@ function update_r1148() {
}
function update_r1149() {
+ if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
+ $r1 = q("ALTER TABLE obj ADD obj_term CHAR( 255 ) NOT NULL DEFAULT '',
+ ADD obj_url CHAR( 255 ) NOT NULL DEFAULT '',
+ ADD obj_imgurl CHAR( 255 ) NOT NULL DEFAULT '',
+ ADD obj_created timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
+ ADD obj_edited timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
+ }
+ else {
+ $r1 = q("ALTER TABLE obj ADD obj_term CHAR( 255 ) NOT NULL DEFAULT '',
+ ADD obj_url CHAR( 255 ) NOT NULL DEFAULT '',
+ ADD obj_imgurl CHAR( 255 ) NOT NULL DEFAULT '',
+ ADD obj_created DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+ ADD obj_edited DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ");
+ }
- // hubzilla update does not apply here, but we're keeping the numbers in sync
- return UPDATE_SUCCESS;
+ $r2 = q("create index obj_term on obj ( obj_term ) ");
+ $r3 = q("create index obj_url on obj ( obj_url ) ");
+ $r4 = q("create index obj_imgurl on obj ( obj_imgurl ) ");
+ $r5 = q("create index obj_created on obj ( obj_created ) ");
+ $r6 = q("create index obj_edited on obj ( obj_edited ) ");
+ $r = $r1 && $r2 && $r3 && $r4 && $r5 && $r6;
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
}
diff --git a/library/phpqrcode/CHANGELOG b/library/phpqrcode/CHANGELOG
deleted file mode 100644
index 1088530c3..000000000
--- a/library/phpqrcode/CHANGELOG
+++ /dev/null
@@ -1,38 +0,0 @@
-* 1.0.0 build 2010031920
-
- - first public release
- - help in readme, install
- - cleanup ans separation of QRtools and QRspec
- - now TCPDF binding requires minimal changes in TCPDF, having most of job
- done in QRtools tcpdfBarcodeArray
- - nicer QRtools::timeBenchmark output
- - license and copyright notices in files
- - indent cleanup - from tab to 4spc, keep it that way please :)
- - sf project, repository, wiki
- - simple code generator in index.php
-
-* 1.1.0 build 2010032113
-
- - added merge tool wich generate merged version of code
- located in phpqrcode.php
- - splited qrconst.php from qrlib.php
-
-* 1.1.1 build 2010032405
-
- - patch by Rick Seymour allowing saving PNG and displaying it at the same time
- - added version info in VERSION file
- - modified merge tool to include version info into generated file
- - fixed e-mail in almost all head comments
-
-* 1.1.2 build 2010032722
-
- - full integration with TCPDF thanks to Nicola Asuni, it's author
- - fixed bug with alphanumeric encoding detection
-
-* 1.1.3 build 2010081807
-
- - short opening tags replaced with standard ones
-
-* 1.1.4 build 2010100721
-
- - added missing static keyword QRinput::check (found by Luke Brookhart, Onjax LLC)
diff --git a/library/phpqrcode/INSTALL b/library/phpqrcode/INSTALL
deleted file mode 100644
index eac6b072b..000000000
--- a/library/phpqrcode/INSTALL
+++ /dev/null
@@ -1,67 +0,0 @@
-== REQUIREMENTS ==
-
- * PHP5
- * PHP GD2 extension with JPEG and PNG support
-
-== INSTALLATION ==
-
-If you want to recreate cache by yourself make sure cache directory is
-writable and you have permisions to write into it. Also make sure you are
-able to read files in it if you have cache option enabled
-
-== CONFIGURATION ==
-
-Feel free to modify config constants in qrconfig.php file. Read about it in
-provided comments and project wiki page (links in README file)
-
-== QUICK START ==
-
-Notice: probably you should'nt use all of this in same script :)
-
-<?phpb
-
-//include only that one, rest required files will be included from it
-include "qrlib.php"
-
-//write code into file, Error corection lecer is lowest, L (one form: L,M,Q,H)
-//each code square will be 4x4 pixels (4x zoom)
-//code will have 2 code squares white boundary around
-
-QRcode::png('PHP QR Code :)', 'test.png', 'L', 4, 2);
-
-//same as above but outputs file directly into browser (with appr. header etc.)
-//all other settings are default
-//WARNING! it should be FIRST and ONLY output generated by script, otherwise
-//rest of output will land inside PNG binary, breaking it for sure
-QRcode::png('PHP QR Code :)');
-
-//show benchmark
-QRtools::timeBenchmark();
-
-//rebuild cache
-QRtools::buildCache();
-
-//code generated in text mode - as a binary table
-//then displayed out as HTML using Unicode block building chars :)
-$tab = $qr->encode('PHP QR Code :)');
-QRspec::debug($tab, true);
-
-== TCPDF INTEGRATION ==
-
-Inside bindings/tcpdf you will find slightly modified 2dbarcodes.php.
-Instal phpqrcode liblaty inside tcpdf folder, then overwrite (or merge)
-2dbarcodes.php
-
-Then use similar as example #50 from TCPDF examples:
-
-<?php
-
-$style = array(
- 'border' => true,
- 'padding' => 4,
- 'fgcolor' => array(0,0,0),
- 'bgcolor' => false, //array(255,255,255)
-);
-
-//code name: QR, specify error correction level after semicolon (L,M,Q,H)
-$pdf->write2DBarcode('PHP QR Code :)', 'QR,L', '', '', 30, 30, $style, 'N');
diff --git a/library/phpqrcode/LICENSE b/library/phpqrcode/LICENSE
deleted file mode 100644
index 188330326..000000000
--- a/library/phpqrcode/LICENSE
+++ /dev/null
@@ -1,165 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
diff --git a/library/phpqrcode/README b/library/phpqrcode/README
deleted file mode 100644
index a022fb5e7..000000000
--- a/library/phpqrcode/README
+++ /dev/null
@@ -1,45 +0,0 @@
-This is PHP implementation of QR Code 2-D barcode generator. It is pure-php
-LGPL-licensed implementation based on C libqrencode by Kentaro Fukuchi.
-
-== LICENSING ==
-
-Copyright (C) 2010 by Dominik Dzienia
-
-This library is free software; you can redistribute it and/or modify it under
-the terms of the GNU Lesser General Public License as published by the Free
-Software Foundation; either version 3 of the License, or any later version.
-
-This library is distributed in the hope that it will be useful, but WITHOUT ANY
-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-PARTICULAR PURPOSE. See the GNU Lesser General Public License (LICENSE file)
-for more details.
-
-You should have received a copy of the GNU Lesser General Public License along
-with this library; if not, write to the Free Software Foundation, Inc., 51
-Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-== INSTALATION AND USAGE ==
-
- * INSTALL file
- * http://sourceforge.net/apps/mediawiki/phpqrcode/index.php?title=Main_Page
-
-== CONTACT ==
-
-Fell free to contact me via e-mail (deltalab at poczta dot fm) or using
-folowing project pages:
-
- * http://sourceforge.net/projects/phpqrcode/
- * http://phpqrcode.sourceforge.net/
-
-== ACKNOWLEDGMENTS ==
-
-Based on C libqrencode library (ver. 3.1.1)
-Copyright (C) 2006-2010 by Kentaro Fukuchi
-http://megaui.net/fukuchi/works/qrencode/index.en.html
-
-QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other
-countries.
-
-Reed-Solomon code encoder is written by Phil Karn, KA9Q.
-Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q
- \ No newline at end of file
diff --git a/library/phpqrcode/VERSION b/library/phpqrcode/VERSION
deleted file mode 100644
index 9f99279ea..000000000
--- a/library/phpqrcode/VERSION
+++ /dev/null
@@ -1,2 +0,0 @@
-1.1.4
-2010100721 \ No newline at end of file
diff --git a/library/phpqrcode/bindings/tcpdf/qrcode.php b/library/phpqrcode/bindings/tcpdf/qrcode.php
deleted file mode 100644
index 7995460b5..000000000
--- a/library/phpqrcode/bindings/tcpdf/qrcode.php
+++ /dev/null
@@ -1,2875 +0,0 @@
-<?php
-//============================================================+
-// File name : qrcode.php
-// Begin : 2010-03-22
-// Last Update : 2010-03-29
-// Version : 1.0.002
-// License : GNU LGPL v.3 (http://www.gnu.org/copyleft/lesser.html)
-// ----------------------------------------------------------------------------
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 3 of the License, or any later version.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-// or browse http://www.gnu.org/copyleft/lesser.html
-//
-// ----------------------------------------------------------------------------
-//
-// DESCRIPTION :
-//
-// Class to create QR-code arrays for TCPDF class.
-// QR Code symbol is a 2D barcode that can be scanned by
-// handy terminals such as a mobile phone with CCD.
-// The capacity of QR Code is up to 7000 digits or 4000
-// characters, and has high robustness.
-// This class supports QR Code model 2, described in
-// JIS (Japanese Industrial Standards) X0510:2004
-// or ISO/IEC 18004.
-// Currently the following features are not supported:
-// ECI and FNC1 mode, Micro QR Code, QR Code model 1,
-// Structured mode.
-//
-// This class is derived from the following projects:
-// ---------------------------------------------------------
-// "PHP QR Code encoder"
-// License: GNU-LGPLv3
-// Copyright (C) 2010 by Dominik Dzienia <deltalab at poczta dot fm>
-// http://phpqrcode.sourceforge.net/
-// https://sourceforge.net/projects/phpqrcode/
-//
-// The "PHP QR Code encoder" is based on
-// "C libqrencode library" (ver. 3.1.1)
-// License: GNU-LGPL 2.1
-// Copyright (C) 2006-2010 by Kentaro Fukuchi
-// http://megaui.net/fukuchi/works/qrencode/index.en.html
-//
-// Reed-Solomon code encoder is written by Phil Karn, KA9Q.
-// Copyright (C) 2002-2006 Phil Karn, KA9Q
-//
-// QR Code is registered trademark of DENSO WAVE INCORPORATED
-// http://www.denso-wave.com/qrcode/index-e.html
-// ---------------------------------------------------------
-//
-// Author: Nicola Asuni
-//
-// (c) Copyright 2010:
-// Nicola Asuni
-// Tecnick.com S.r.l.
-// Via della Pace, 11
-// 09044 Quartucciu (CA)
-// ITALY
-// www.tecnick.com
-// info@tecnick.com
-//============================================================+
-
-/**
- * Class to create QR-code arrays for TCPDF class.
- * QR Code symbol is a 2D barcode that can be scanned by handy terminals such as a mobile phone with CCD.
- * The capacity of QR Code is up to 7000 digits or 4000 characters, and has high robustness.
- * This class supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004.
- * Currently the following features are not supported: ECI and FNC1 mode, Micro QR Code, QR Code model 1, Structured mode.
- *
- * This class is derived from "PHP QR Code encoder" by Dominik Dzienia (http://phpqrcode.sourceforge.net/) based on "libqrencode C library 3.1.1." by Kentaro Fukuchi (http://megaui.net/fukuchi/works/qrencode/index.en.html), contains Reed-Solomon code written by Phil Karn, KA9Q. QR Code is registered trademark of DENSO WAVE INCORPORATED (http://www.denso-wave.com/qrcode/index-e.html).
- * Please read comments on this class source file for full copyright and license information.
- *
- * @package com.tecnick.tcpdf
- * @abstract Class for generating QR-code array for TCPDF.
- * @author Nicola Asuni
- * @copyright 2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
- * @link http://www.tcpdf.org
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- * @version 1.0.002
- */
-
-// definitions
-if (!defined('QRCODEDEFS')) {
-
- /**
- * Indicate that definitions for this class are set
- */
- define('QRCODEDEFS', true);
-
- // -----------------------------------------------------
-
- // Encoding modes (characters which can be encoded in QRcode)
-
- /**
- * Encoding mode
- */
- define('QR_MODE_NL', -1);
-
- /**
- * Encoding mode numeric (0-9). 3 characters are encoded to 10bit length. In theory, 7089 characters or less can be stored in a QRcode.
- */
- define('QR_MODE_NM', 0);
-
- /**
- * Encoding mode alphanumeric (0-9A-Z $%*+-./:) 45characters. 2 characters are encoded to 11bit length. In theory, 4296 characters or less can be stored in a QRcode.
- */
- define('QR_MODE_AN', 1);
-
- /**
- * Encoding mode 8bit byte data. In theory, 2953 characters or less can be stored in a QRcode.
- */
- define('QR_MODE_8B', 2);
-
- /**
- * Encoding mode KANJI. A KANJI character (multibyte character) is encoded to 13bit length. In theory, 1817 characters or less can be stored in a QRcode.
- */
- define('QR_MODE_KJ', 3);
-
- /**
- * Encoding mode STRUCTURED (currently unsupported)
- */
- define('QR_MODE_ST', 4);
-
- // -----------------------------------------------------
-
- // Levels of error correction.
- // QRcode has a function of an error correcting for miss reading that white is black.
- // Error correcting is defined in 4 level as below.
-
- /**
- * Error correction level L : About 7% or less errors can be corrected.
- */
- define('QR_ECLEVEL_L', 0);
-
- /**
- * Error correction level M : About 15% or less errors can be corrected.
- */
- define('QR_ECLEVEL_M', 1);
-
- /**
- * Error correction level Q : About 25% or less errors can be corrected.
- */
- define('QR_ECLEVEL_Q', 2);
-
- /**
- * Error correction level H : About 30% or less errors can be corrected.
- */
- define('QR_ECLEVEL_H', 3);
-
- // -----------------------------------------------------
-
- // Version. Size of QRcode is defined as version.
- // Version is from 1 to 40.
- // Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases.
- // So version 40 is 177*177 matrix.
-
- /**
- * Maximum QR Code version.
- */
- define('QRSPEC_VERSION_MAX', 40);
-
- /**
- * Maximum matrix size for maximum version (version 40 is 177*177 matrix).
- */
- define('QRSPEC_WIDTH_MAX', 177);
-
- // -----------------------------------------------------
-
- /**
- * Matrix index to get width from $capacity array.
- */
- define('QRCAP_WIDTH', 0);
-
- /**
- * Matrix index to get number of words from $capacity array.
- */
- define('QRCAP_WORDS', 1);
-
- /**
- * Matrix index to get remainder from $capacity array.
- */
- define('QRCAP_REMINDER', 2);
-
- /**
- * Matrix index to get error correction level from $capacity array.
- */
- define('QRCAP_EC', 3);
-
- // -----------------------------------------------------
-
- // Structure (currently usupported)
-
- /**
- * Number of header bits for structured mode
- */
- define('STRUCTURE_HEADER_BITS', 20);
-
- /**
- * Max number of symbols for structured mode
- */
- define('MAX_STRUCTURED_SYMBOLS', 16);
-
- // -----------------------------------------------------
-
- // Masks
-
- /**
- * Down point base value for case 1 mask pattern (concatenation of same color in a line or a column)
- */
- define('N1', 3);
-
- /**
- * Down point base value for case 2 mask pattern (module block of same color)
- */
- define('N2', 3);
-
- /**
- * Down point base value for case 3 mask pattern (1:1:3:1:1(dark:bright:dark:bright:dark)pattern in a line or a column)
- */
- define('N3', 40);
-
- /**
- * Down point base value for case 4 mask pattern (ration of dark modules in whole)
- */
- define('N4', 10);
-
- // -----------------------------------------------------
-
- // Optimization settings
-
- /**
- * if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code
- */
- define('QR_FIND_BEST_MASK', true);
-
- /**
- * if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly
- */
- define('QR_FIND_FROM_RANDOM', 2);
-
- /**
- * when QR_FIND_BEST_MASK === false
- */
- define('QR_DEFAULT_MASK', 2);
-
- // -----------------------------------------------------
-
-} // end of definitions
-
-// #*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
-
-if (!class_exists('QRcode', false)) {
-
- // for compaibility with PHP4
- if (!function_exists('str_split')) {
- /**
- * Convert a string to an array (needed for PHP4 compatibility)
- * @param string $string The input string.
- * @param int $split_length Maximum length of the chunk.
- * @return If the optional split_length parameter is specified, the returned array will be broken down into chunks with each being split_length in length, otherwise each chunk will be one character in length. FALSE is returned if split_length is less than 1. If the split_length length exceeds the length of string , the entire string is returned as the first (and only) array element.
- */
- function str_split($string, $split_length=1) {
- if ((strlen($string) > $split_length) OR (!$split_length)) {
- do {
- $c = strlen($string);
- $parts[] = substr($string, 0, $split_length);
- $string = substr($string, $split_length);
- } while ($string !== false);
- } else {
- $parts = array($string);
- }
- return $parts;
- }
- }
-
- // #####################################################
-
- /**
- * Class to create QR-code arrays for TCPDF class.
- * QR Code symbol is a 2D barcode that can be scanned by handy terminals such as a mobile phone with CCD.
- * The capacity of QR Code is up to 7000 digits or 4000 characters, and has high robustness.
- * This class supports QR Code model 2, described in JIS (Japanese Industrial Standards) X0510:2004 or ISO/IEC 18004.
- * Currently the following features are not supported: ECI and FNC1 mode, Micro QR Code, QR Code model 1, Structured mode.
- *
- * This class is derived from "PHP QR Code encoder" by Dominik Dzienia (http://phpqrcode.sourceforge.net/) based on "libqrencode C library 3.1.1." by Kentaro Fukuchi (http://megaui.net/fukuchi/works/qrencode/index.en.html), contains Reed-Solomon code written by Phil Karn, KA9Q. QR Code is registered trademark of DENSO WAVE INCORPORATED (http://www.denso-wave.com/qrcode/index-e.html).
- * Please read comments on this class source file for full copyright and license information.
- *
- * @name QRcode
- * @package com.tecnick.tcpdf
- * @abstract Class for generating QR-code array for TCPDF.
- * @author Nicola Asuni
- * @copyright 2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
- * @link http://www.tcpdf.org
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- * @version 1.0.002
- */
- class QRcode {
-
- /**
- * @var barcode array to be returned which is readable by TCPDF
- * @access protected
- */
- protected $barcode_array = array();
-
- /**
- * @var QR code version. Size of QRcode is defined as version. Version is from 1 to 40. Version 1 is 21*21 matrix. And 4 modules increases whenever 1 version increases. So version 40 is 177*177 matrix.
- * @access protected
- */
- protected $version = 0;
-
- /**
- * @var Levels of error correction. See definitions for possible values.
- * @access protected
- */
- protected $level = QR_ECLEVEL_L;
-
- /**
- * @var Encoding mode
- * @access protected
- */
- protected $hint = QR_MODE_8B;
-
- /**
- * @var if true the input string will be converted to uppercase
- * @access protected
- */
- protected $casesensitive = true;
-
- /**
- * @var structured QR code (not supported yet)
- * @access protected
- */
- protected $structured = 0;
-
- /**
- * @var mask data
- * @access protected
- */
- protected $data;
-
- // FrameFiller
-
- /**
- * @var width
- * @access protected
- */
- protected $width;
-
- /**
- * @var frame
- * @access protected
- */
- protected $frame;
-
- /**
- * @var X position of bit
- * @access protected
- */
- protected $x;
-
- /**
- * @var Y position of bit
- * @access protected
- */
- protected $y;
-
- /**
- * @var direction
- * @access protected
- */
- protected $dir;
-
- /**
- * @var single bit
- * @access protected
- */
- protected $bit;
-
- // ---- QRrawcode ----
-
- /**
- * @var data code
- * @access protected
- */
- protected $datacode = array();
-
- /**
- * @var error correction code
- * @access protected
- */
- protected $ecccode = array();
-
- /**
- * @var blocks
- * @access protected
- */
- protected $blocks;
-
- /**
- * @var Reed-Solomon blocks
- * @access protected
- */
- protected $rsblocks = array(); //of RSblock
-
- /**
- * @var counter
- * @access protected
- */
- protected $count;
-
- /**
- * @var data length
- * @access protected
- */
- protected $dataLength;
-
- /**
- * @var error correction length
- * @access protected
- */
- protected $eccLength;
-
- /**
- * @var b1
- * @access protected
- */
- protected $b1;
-
- // ---- QRmask ----
-
- /**
- * @var run length
- * @access protected
- */
- protected $runLength = array();
-
- // ---- QRsplit ----
-
- /**
- * @var input data string
- * @access protected
- */
- protected $dataStr = '';
-
- /**
- * @var input items
- * @access protected
- */
- protected $items;
-
- // Reed-Solomon items
-
- /**
- * @var Reed-Solomon items
- * @access protected
- */
- protected $rsitems = array();
-
- /**
- * @var array of frames
- * @access protected
- */
- protected $frames = array();
-
- /**
- * @var alphabet-numeric convesion table
- * @access protected
- */
- protected $anTable = array(
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, //
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, //
- 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43, //
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1, //
- -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, //
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, //
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, //
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 //
- );
-
- /**
- * @var array Table of the capacity of symbols
- * See Table 1 (pp.13) and Table 12-16 (pp.30-36), JIS X0510:2004.
- * @access protected
- */
- protected $capacity = array(
- array( 0, 0, 0, array( 0, 0, 0, 0)), //
- array( 21, 26, 0, array( 7, 10, 13, 17)), // 1
- array( 25, 44, 7, array( 10, 16, 22, 28)), //
- array( 29, 70, 7, array( 15, 26, 36, 44)), //
- array( 33, 100, 7, array( 20, 36, 52, 64)), //
- array( 37, 134, 7, array( 26, 48, 72, 88)), // 5
- array( 41, 172, 7, array( 36, 64, 96, 112)), //
- array( 45, 196, 0, array( 40, 72, 108, 130)), //
- array( 49, 242, 0, array( 48, 88, 132, 156)), //
- array( 53, 292, 0, array( 60, 110, 160, 192)), //
- array( 57, 346, 0, array( 72, 130, 192, 224)), // 10
- array( 61, 404, 0, array( 80, 150, 224, 264)), //
- array( 65, 466, 0, array( 96, 176, 260, 308)), //
- array( 69, 532, 0, array( 104, 198, 288, 352)), //
- array( 73, 581, 3, array( 120, 216, 320, 384)), //
- array( 77, 655, 3, array( 132, 240, 360, 432)), // 15
- array( 81, 733, 3, array( 144, 280, 408, 480)), //
- array( 85, 815, 3, array( 168, 308, 448, 532)), //
- array( 89, 901, 3, array( 180, 338, 504, 588)), //
- array( 93, 991, 3, array( 196, 364, 546, 650)), //
- array( 97, 1085, 3, array( 224, 416, 600, 700)), // 20
- array(101, 1156, 4, array( 224, 442, 644, 750)), //
- array(105, 1258, 4, array( 252, 476, 690, 816)), //
- array(109, 1364, 4, array( 270, 504, 750, 900)), //
- array(113, 1474, 4, array( 300, 560, 810, 960)), //
- array(117, 1588, 4, array( 312, 588, 870, 1050)), // 25
- array(121, 1706, 4, array( 336, 644, 952, 1110)), //
- array(125, 1828, 4, array( 360, 700, 1020, 1200)), //
- array(129, 1921, 3, array( 390, 728, 1050, 1260)), //
- array(133, 2051, 3, array( 420, 784, 1140, 1350)), //
- array(137, 2185, 3, array( 450, 812, 1200, 1440)), // 30
- array(141, 2323, 3, array( 480, 868, 1290, 1530)), //
- array(145, 2465, 3, array( 510, 924, 1350, 1620)), //
- array(149, 2611, 3, array( 540, 980, 1440, 1710)), //
- array(153, 2761, 3, array( 570, 1036, 1530, 1800)), //
- array(157, 2876, 0, array( 570, 1064, 1590, 1890)), // 35
- array(161, 3034, 0, array( 600, 1120, 1680, 1980)), //
- array(165, 3196, 0, array( 630, 1204, 1770, 2100)), //
- array(169, 3362, 0, array( 660, 1260, 1860, 2220)), //
- array(173, 3532, 0, array( 720, 1316, 1950, 2310)), //
- array(177, 3706, 0, array( 750, 1372, 2040, 2430)) // 40
- );
-
- /**
- * @var array Length indicator
- * @access protected
- */
- protected $lengthTableBits = array(
- array(10, 12, 14),
- array( 9, 11, 13),
- array( 8, 16, 16),
- array( 8, 10, 12)
- );
-
- /**
- * @var array Table of the error correction code (Reed-Solomon block)
- * See Table 12-16 (pp.30-36), JIS X0510:2004.
- * @access protected
- */
- protected $eccTable = array(
- array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)), //
- array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1
- array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), //
- array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)), //
- array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)), //
- array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5
- array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)), //
- array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)), //
- array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)), //
- array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)), //
- array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), // 10
- array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)), //
- array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)), //
- array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)), //
- array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)), //
- array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), // 15
- array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)), //
- array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)), //
- array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)), //
- array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)), //
- array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), // 20
- array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)), //
- array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)), //
- array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)), //
- array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)), //
- array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), // 25
- array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)), //
- array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)), //
- array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)), //
- array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)), //
- array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), // 30
- array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)), //
- array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)), //
- array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)), //
- array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)), //
- array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), // 35
- array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)), //
- array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)), //
- array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)), //
- array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)), //
- array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)) // 40
- );
-
- /**
- * @var array Positions of alignment patterns.
- * This array includes only the second and the third position of the alignment patterns. Rest of them can be calculated from the distance between them.
- * See Table 1 in Appendix E (pp.71) of JIS X0510:2004.
- * @access protected
- */
- protected $alignmentPattern = array(
- array( 0, 0),
- array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5
- array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10
- array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), // 11-15
- array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), // 16-20
- array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), // 21-25
- array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), // 26-30
- array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), // 31-35
- array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58) // 35-40
- );
-
- /**
- * @var array Version information pattern (BCH coded).
- * See Table 1 in Appendix D (pp.68) of JIS X0510:2004.
- * size: [QRSPEC_VERSION_MAX - 6]
- * @access protected
- */
- protected $versionPattern = array(
- 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d, //
- 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9, //
- 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75, //
- 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64, //
- 0x27541, 0x28c69
- );
-
- /**
- * @var array Format information
- * @access protected
- */
- protected $formatInfo = array(
- array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976), //
- array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0), //
- array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed), //
- array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b) //
- );
-
-
- // -------------------------------------------------
- // -------------------------------------------------
-
-
- /**
- * This is the class constructor.
- * Creates a QRcode object
- * @param string $code code to represent using QRcode
- * @param string $eclevel error level: <ul><li>L : About 7% or less errors can be corrected.</li><li>M : About 15% or less errors can be corrected.</li><li>Q : About 25% or less errors can be corrected.</li><li>H : About 30% or less errors can be corrected.</li></ul>
- * @access public
- * @since 1.0.000
- */
- public function __construct($code, $eclevel = 'L') {
- $barcode_array = array();
- if ((is_null($code)) OR ($code == '\0') OR ($code == '')) {
- return false;
- }
- // set error correction level
- $this->level = array_search($eclevel, array('L', 'M', 'Q', 'H'));
- if ($this->level === false) {
- $this->level = QR_ECLEVEL_L;
- }
- if (($this->hint != QR_MODE_8B) AND ($this->hint != QR_MODE_KJ)) {
- return false;
- }
- if (($this->version < 0) OR ($this->version > QRSPEC_VERSION_MAX)) {
- return false;
- }
- $this->items = array();
- $this->encodeString($code);
- $qrTab = $this->binarize($this->data);
- $size = count($qrTab);
- $barcode_array['num_rows'] = $size;
- $barcode_array['num_cols'] = $size;
- $barcode_array['bcode'] = array();
- foreach ($qrTab as $line) {
- $arrAdd = array();
- foreach (str_split($line) as $char) {
- $arrAdd[] = ($char=='1')?1:0;
- }
- $barcode_array['bcode'][] = $arrAdd;
- }
- $this->barcode_array = $barcode_array;
- }
-
- /**
- * Returns a barcode array which is readable by TCPDF
- * @return array barcode array readable by TCPDF;
- * @access public
- */
- public function getBarcodeArray() {
- return $this->barcode_array;
- }
-
- /**
- * Convert the frame in binary form
- * @param array $frame array to binarize
- * @return array frame in binary form
- */
- protected function binarize($frame) {
- $len = count($frame);
- // the frame is square (width = height)
- foreach ($frame as &$frameLine) {
- for ($i=0; $i<$len; $i++) {
- $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0';
- }
- }
- return $frame;
- }
-
- /**
- * Encode the input string to QR code
- * @param string $string input string to encode
- */
- protected function encodeString($string) {
- $this->dataStr = $string;
- if (!$this->casesensitive) {
- $this->toUpper();
- }
- $ret = $this->splitString();
- if ($ret < 0) {
- return NULL;
- }
- $this->encodeMask(-1);
- }
-
- /**
- * Encode mask
- * @param int $mask masking mode
- */
- protected function encodeMask($mask) {
- $spec = array(0, 0, 0, 0, 0);
- $this->datacode = $this->getByteStream($this->items);
- if (is_null($this->datacode)) {
- return NULL;
- }
- $spec = $this->getEccSpec($this->version, $this->level, $spec);
- $this->b1 = $this->rsBlockNum1($spec);
- $this->dataLength = $this->rsDataLength($spec);
- $this->eccLength = $this->rsEccLength($spec);
- $this->ecccode = array_fill(0, $this->eccLength, 0);
- $this->blocks = $this->rsBlockNum($spec);
- $ret = $this->init($spec);
- if ($ret < 0) {
- return NULL;
- }
- $this->count = 0;
- $this->width = $this->getWidth($this->version);
- $this->frame = $this->newFrame($this->version);
- $this->x = $this->width - 1;
- $this->y = $this->width - 1;
- $this->dir = -1;
- $this->bit = -1;
- // inteleaved data and ecc codes
- for ($i=0; $i < ($this->dataLength + $this->eccLength); $i++) {
- $code = $this->getCode();
- $bit = 0x80;
- for ($j=0; $j<8; $j++) {
- $addr = $this->getNextPosition();
- $this->setFrameAt($addr, 0x02 | (($bit & $code) != 0));
- $bit = $bit >> 1;
- }
- }
- // remainder bits
- $j = $this->getRemainder($this->version);
- for ($i=0; $i<$j; $i++) {
- $addr = $this->getNextPosition();
- $this->setFrameAt($addr, 0x02);
- }
- // masking
- $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0);
- if ($mask < 0) {
- if (QR_FIND_BEST_MASK) {
- $masked = $this->mask($this->width, $this->frame, $this->level);
- } else {
- $masked = $this->makeMask($this->width, $this->frame, (intval(QR_DEFAULT_MASK) % 8), $this->level);
- }
- } else {
- $masked = $this->makeMask($this->width, $this->frame, $mask, $this->level);
- }
- if ($masked == NULL) {
- return NULL;
- }
- $this->data = $masked;
- }
-
- // - - - - - - - - - - - - - - - - - - - - - - - - -
-
- // FrameFiller
-
- /**
- * Set frame value at specified position
- * @param array $at x,y position
- * @param int $val value of the character to set
- */
- protected function setFrameAt($at, $val) {
- $this->frame[$at['y']][$at['x']] = chr($val);
- }
-
- /**
- * Get frame value at specified position
- * @param array $at x,y position
- * @return value at specified position
- */
- protected function getFrameAt($at) {
- return ord($this->frame[$at['y']][$at['x']]);
- }
-
- /**
- * Return the next frame position
- * @return array of x,y coordinates
- */
- protected function getNextPosition() {
- do {
- if ($this->bit == -1) {
- $this->bit = 0;
- return array('x'=>$this->x, 'y'=>$this->y);
- }
- $x = $this->x;
- $y = $this->y;
- $w = $this->width;
- if ($this->bit == 0) {
- $x--;
- $this->bit++;
- } else {
- $x++;
- $y += $this->dir;
- $this->bit--;
- }
- if ($this->dir < 0) {
- if ($y < 0) {
- $y = 0;
- $x -= 2;
- $this->dir = 1;
- if ($x == 6) {
- $x--;
- $y = 9;
- }
- }
- } else {
- if ($y == $w) {
- $y = $w - 1;
- $x -= 2;
- $this->dir = -1;
- if ($x == 6) {
- $x--;
- $y -= 8;
- }
- }
- }
- if (($x < 0) OR ($y < 0)) {
- return NULL;
- }
- $this->x = $x;
- $this->y = $y;
- } while(ord($this->frame[$y][$x]) & 0x80);
- return array('x'=>$x, 'y'=>$y);
- }
-
- // - - - - - - - - - - - - - - - - - - - - - - - - -
-
- // QRrawcode
-
- /**
- * Initialize code.
- * @param array $spec array of ECC specification
- * @return 0 in case of success, -1 in case of error
- */
- protected function init($spec) {
- $dl = $this->rsDataCodes1($spec);
- $el = $this->rsEccCodes1($spec);
- $rs = $this->init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
- $blockNo = 0;
- $dataPos = 0;
- $eccPos = 0;
- $endfor = $this->rsBlockNum1($spec);
- for ($i=0; $i < $endfor; ++$i) {
- $ecc = array_slice($this->ecccode, $eccPos);
- $this->rsblocks[$blockNo] = array();
- $this->rsblocks[$blockNo]['dataLength'] = $dl;
- $this->rsblocks[$blockNo]['data'] = array_slice($this->datacode, $dataPos);
- $this->rsblocks[$blockNo]['eccLength'] = $el;
- $ecc = $this->encode_rs_char($rs, $this->rsblocks[$blockNo]['data'], $ecc);
- $this->rsblocks[$blockNo]['ecc'] = $ecc;
- $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc);
- $dataPos += $dl;
- $eccPos += $el;
- $blockNo++;
- }
- if ($this->rsBlockNum2($spec) == 0) {
- return 0;
- }
- $dl = $this->rsDataCodes2($spec);
- $el = $this->rsEccCodes2($spec);
- $rs = $this->init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
- if ($rs == NULL) {
- return -1;
- }
- $endfor = $this->rsBlockNum2($spec);
- for ($i=0; $i < $endfor; ++$i) {
- $ecc = array_slice($this->ecccode, $eccPos);
- $this->rsblocks[$blockNo] = array();
- $this->rsblocks[$blockNo]['dataLength'] = $dl;
- $this->rsblocks[$blockNo]['data'] = array_slice($this->datacode, $dataPos);
- $this->rsblocks[$blockNo]['eccLength'] = $el;
- $ecc = $this->encode_rs_char($rs, $this->rsblocks[$blockNo]['data'], $ecc);
- $this->rsblocks[$blockNo]['ecc'] = $ecc;
- $this->ecccode = array_merge(array_slice($this->ecccode, 0, $eccPos), $ecc);
- $dataPos += $dl;
- $eccPos += $el;
- $blockNo++;
- }
- return 0;
- }
-
- /**
- * Return Reed-Solomon block code.
- * @return array rsblocks
- */
- protected function getCode() {
- if ($this->count < $this->dataLength) {
- $row = $this->count % $this->blocks;
- $col = $this->count / $this->blocks;
- if ($col >= $this->rsblocks[0]['dataLength']) {
- $row += $this->b1;
- }
- $ret = $this->rsblocks[$row]['data'][$col];
- } elseif ($this->count < $this->dataLength + $this->eccLength) {
- $row = ($this->count - $this->dataLength) % $this->blocks;
- $col = ($this->count - $this->dataLength) / $this->blocks;
- $ret = $this->rsblocks[$row]['ecc'][$col];
- } else {
- return 0;
- }
- $this->count++;
- return $ret;
- }
-
- // - - - - - - - - - - - - - - - - - - - - - - - - -
-
- // QRmask
-
- /**
- * Write Format Information on frame and returns the number of black bits
- * @param int $width frame width
- * @param array $frame frame
- * @param array $mask masking mode
- * @param int $level error correction level
- * @return int blacks
- */
- protected function writeFormatInformation($width, &$frame, $mask, $level) {
- $blacks = 0;
- $format = $this->getFormatInfo($mask, $level);
- for ($i=0; $i<8; ++$i) {
- if ($format & 1) {
- $blacks += 2;
- $v = 0x85;
- } else {
- $v = 0x84;
- }
- $frame[8][$width - 1 - $i] = chr($v);
- if ($i < 6) {
- $frame[$i][8] = chr($v);
- } else {
- $frame[$i + 1][8] = chr($v);
- }
- $format = $format >> 1;
- }
- for ($i=0; $i<7; ++$i) {
- if ($format & 1) {
- $blacks += 2;
- $v = 0x85;
- } else {
- $v = 0x84;
- }
- $frame[$width - 7 + $i][8] = chr($v);
- if ($i == 0) {
- $frame[8][7] = chr($v);
- } else {
- $frame[8][6 - $i] = chr($v);
- }
- $format = $format >> 1;
- }
- return $blacks;
- }
-
- /**
- * mask0
- * @param int $x X position
- * @param int $y Y position
- * @return int mask
- */
- protected function mask0($x, $y) {
- return ($x + $y) & 1;
- }
-
- /**
- * mask1
- * @param int $x X position
- * @param int $y Y position
- * @return int mask
- */
- protected function mask1($x, $y) {
- return ($y & 1);
- }
-
- /**
- * mask2
- * @param int $x X position
- * @param int $y Y position
- * @return int mask
- */
- protected function mask2($x, $y) {
- return ($x % 3);
- }
-
- /**
- * mask3
- * @param int $x X position
- * @param int $y Y position
- * @return int mask
- */
- protected function mask3($x, $y) {
- return ($x + $y) % 3;
- }
-
- /**
- * mask4
- * @param int $x X position
- * @param int $y Y position
- * @return int mask
- */
- protected function mask4($x, $y) {
- return (((int)($y / 2)) + ((int)($x / 3))) & 1;
- }
-
- /**
- * mask5
- * @param int $x X position
- * @param int $y Y position
- * @return int mask
- */
- protected function mask5($x, $y) {
- return (($x * $y) & 1) + ($x * $y) % 3;
- }
-
- /**
- * mask6
- * @param int $x X position
- * @param int $y Y position
- * @return int mask
- */
- protected function mask6($x, $y) {
- return ((($x * $y) & 1) + ($x * $y) % 3) & 1;
- }
-
- /**
- * mask7
- * @param int $x X position
- * @param int $y Y position
- * @return int mask
- */
- protected function mask7($x, $y) {
- return ((($x * $y) % 3) + (($x + $y) & 1)) & 1;
- }
-
- /**
- * Return bitmask
- * @param int $maskNo mask number
- * @param int $width width
- * @param array $frame frame
- * @return array bitmask
- */
- protected function generateMaskNo($maskNo, $width, $frame) {
- $bitMask = array_fill(0, $width, array_fill(0, $width, 0));
- for ($y=0; $y<$width; ++$y) {
- for ($x=0; $x<$width; ++$x) {
- if (ord($frame[$y][$x]) & 0x80) {
- $bitMask[$y][$x] = 0;
- } else {
- $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y);
- $bitMask[$y][$x] = ($maskFunc == 0)?1:0;
- }
- }
- }
- return $bitMask;
- }
-
- /**
- * makeMaskNo
- * @param int $maskNo
- * @param int $width
- * @param int $s
- * @param int $d
- * @param boolean $maskGenOnly
- * @return int b
- */
- protected function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly=false) {
- $b = 0;
- $bitMask = array();
- $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
- if ($maskGenOnly) {
- return;
- }
- $d = $s;
- for ($y=0; $y<$width; ++$y) {
- for ($x=0; $x<$width; ++$x) {
- if ($bitMask[$y][$x] == 1) {
- $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]);
- }
- $b += (int)(ord($d[$y][$x]) & 1);
- }
- }
- return $b;
- }
-
- /**
- * makeMask
- * @param int $width
- * @param array $frame
- * @param int $maskNo
- * @param int $level
- * @return array mask
- */
- protected function makeMask($width, $frame, $maskNo, $level) {
- $masked = array_fill(0, $width, str_repeat("\0", $width));
- $this->makeMaskNo($maskNo, $width, $frame, $masked);
- $this->writeFormatInformation($width, $masked, $maskNo, $level);
- return $masked;
- }
-
- /**
- * calcN1N3
- * @param int $length
- * @return int demerit
- */
- protected function calcN1N3($length) {
- $demerit = 0;
- for ($i=0; $i<$length; ++$i) {
- if ($this->runLength[$i] >= 5) {
- $demerit += (N1 + ($this->runLength[$i] - 5));
- }
- if ($i & 1) {
- if (($i >= 3) AND ($i < ($length-2)) AND ($this->runLength[$i] % 3 == 0)) {
- $fact = (int)($this->runLength[$i] / 3);
- if (($this->runLength[$i-2] == $fact)
- AND ($this->runLength[$i-1] == $fact)
- AND ($this->runLength[$i+1] == $fact)
- AND ($this->runLength[$i+2] == $fact)) {
- if (($this->runLength[$i-3] < 0) OR ($this->runLength[$i-3] >= (4 * $fact))) {
- $demerit += N3;
- } elseif ((($i+3) >= $length) OR ($this->runLength[$i+3] >= (4 * $fact))) {
- $demerit += N3;
- }
- }
- }
- }
- }
- return $demerit;
- }
-
- /**
- * evaluateSymbol
- * @param int $width
- * @param array $frame
- * @return int demerit
- */
- protected function evaluateSymbol($width, $frame) {
- $head = 0;
- $demerit = 0;
- for ($y=0; $y<$width; ++$y) {
- $head = 0;
- $this->runLength[0] = 1;
- $frameY = $frame[$y];
- if ($y > 0) {
- $frameYM = $frame[$y-1];
- }
- for ($x=0; $x<$width; ++$x) {
- if (($x > 0) AND ($y > 0)) {
- $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]);
- $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]);
- if (($b22 | ($w22 ^ 1)) & 1) {
- $demerit += N2;
- }
- }
- if (($x == 0) AND (ord($frameY[$x]) & 1)) {
- $this->runLength[0] = -1;
- $head = 1;
- $this->runLength[$head] = 1;
- } elseif ($x > 0) {
- if ((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) {
- $head++;
- $this->runLength[$head] = 1;
- } else {
- $this->runLength[$head]++;
- }
- }
- }
- $demerit += $this->calcN1N3($head+1);
- }
- for ($x=0; $x<$width; ++$x) {
- $head = 0;
- $this->runLength[0] = 1;
- for ($y=0; $y<$width; ++$y) {
- if (($y == 0) AND (ord($frame[$y][$x]) & 1)) {
- $this->runLength[0] = -1;
- $head = 1;
- $this->runLength[$head] = 1;
- } elseif ($y > 0) {
- if ((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) {
- $head++;
- $this->runLength[$head] = 1;
- } else {
- $this->runLength[$head]++;
- }
- }
- }
- $demerit += $this->calcN1N3($head+1);
- }
- return $demerit;
- }
-
- /**
- * mask
- * @param int $width
- * @param array $frame
- * @param int $level
- * @return array best mask
- */
- protected function mask($width, $frame, $level) {
- $minDemerit = PHP_INT_MAX;
- $bestMaskNum = 0;
- $bestMask = array();
- $checked_masks = array(0, 1, 2, 3, 4, 5, 6, 7);
- if (QR_FIND_FROM_RANDOM !== false) {
- $howManuOut = 8 - (QR_FIND_FROM_RANDOM % 9);
- for ($i = 0; $i < $howManuOut; ++$i) {
- $remPos = rand (0, count($checked_masks)-1);
- unset($checked_masks[$remPos]);
- $checked_masks = array_values($checked_masks);
- }
- }
- $bestMask = $frame;
- foreach ($checked_masks as $i) {
- $mask = array_fill(0, $width, str_repeat("\0", $width));
- $demerit = 0;
- $blacks = 0;
- $blacks = $this->makeMaskNo($i, $width, $frame, $mask);
- $blacks += $this->writeFormatInformation($width, $mask, $i, $level);
- $blacks = (int)(100 * $blacks / ($width * $width));
- $demerit = (int)((int)(abs($blacks - 50) / 5) * N4);
- $demerit += $this->evaluateSymbol($width, $mask);
- if ($demerit < $minDemerit) {
- $minDemerit = $demerit;
- $bestMask = $mask;
- $bestMaskNum = $i;
- }
- }
- return $bestMask;
- }
-
- // - - - - - - - - - - - - - - - - - - - - - - - - -
-
- // QRsplit
-
- /**
- * Return true if the character at specified position is a number
- * @param string $str string
- * @param int $pos characted position
- * @return boolean true of false
- */
- protected function isdigitat($str, $pos) {
- if ($pos >= strlen($str)) {
- return false;
- }
- return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9')));
- }
-
- /**
- * Return true if the character at specified position is an alphanumeric character
- * @param string $str string
- * @param int $pos characted position
- * @return boolean true of false
- */
- protected function isalnumat($str, $pos) {
- if ($pos >= strlen($str)) {
- return false;
- }
- return ($this->lookAnTable(ord($str[$pos])) >= 0);
- }
-
- /**
- * identifyMode
- * @param int $pos
- * @return int mode
- */
- protected function identifyMode($pos) {
- if ($pos >= strlen($this->dataStr)) {
- return QR_MODE_NL;
- }
- $c = $this->dataStr[$pos];
- if ($this->isdigitat($this->dataStr, $pos)) {
- return QR_MODE_NM;
- } elseif ($this->isalnumat($this->dataStr, $pos)) {
- return QR_MODE_AN;
- } elseif ($this->hint == QR_MODE_KJ) {
- if ($pos+1 < strlen($this->dataStr)) {
- $d = $this->dataStr[$pos+1];
- $word = (ord($c) << 8) | ord($d);
- if (($word >= 0x8140 && $word <= 0x9ffc) OR ($word >= 0xe040 && $word <= 0xebbf)) {
- return QR_MODE_KJ;
- }
- }
- }
- return QR_MODE_8B;
- }
-
- /**
- * eatNum
- * @return int run
- */
- protected function eatNum() {
- $ln = $this->lengthIndicator(QR_MODE_NM, $this->version);
- $p = 0;
- while($this->isdigitat($this->dataStr, $p)) {
- $p++;
- }
- $run = $p;
- $mode = $this->identifyMode($p);
- if ($mode == QR_MODE_8B) {
- $dif = $this->estimateBitsModeNum($run) + 4 + $ln
- + $this->estimateBitsMode8(1) // + 4 + l8
- - $this->estimateBitsMode8($run + 1); // - 4 - l8
- if ($dif > 0) {
- return $this->eat8();
- }
- }
- if ($mode == QR_MODE_AN) {
- $dif = $this->estimateBitsModeNum($run) + 4 + $ln
- + $this->estimateBitsModeAn(1) // + 4 + la
- - $this->estimateBitsModeAn($run + 1);// - 4 - la
- if ($dif > 0) {
- return $this->eatAn();
- }
- }
- $this->items = $this->appendNewInputItem($this->items, QR_MODE_NM, $run, str_split($this->dataStr));
- return $run;
- }
-
- /**
- * eatAn
- * @return int run
- */
- protected function eatAn() {
- $la = $this->lengthIndicator(QR_MODE_AN, $this->version);
- $ln = $this->lengthIndicator(QR_MODE_NM, $this->version);
- $p = 0;
- while($this->isalnumat($this->dataStr, $p)) {
- if ($this->isdigitat($this->dataStr, $p)) {
- $q = $p;
- while($this->isdigitat($this->dataStr, $q)) {
- $q++;
- }
- $dif = $this->estimateBitsModeAn($p) // + 4 + la
- + $this->estimateBitsModeNum($q - $p) + 4 + $ln
- - $this->estimateBitsModeAn($q); // - 4 - la
- if ($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else {
- $p++;
- }
- }
- $run = $p;
- if (!$this->isalnumat($this->dataStr, $p)) {
- $dif = $this->estimateBitsModeAn($run) + 4 + $la
- + $this->estimateBitsMode8(1) // + 4 + l8
- - $this->estimateBitsMode8($run + 1); // - 4 - l8
- if ($dif > 0) {
- return $this->eat8();
- }
- }
- $this->items = $this->appendNewInputItem($this->items, QR_MODE_AN, $run, str_split($this->dataStr));
- return $run;
- }
-
- /**
- * eatKanji
- * @return int run
- */
- protected function eatKanji() {
- $p = 0;
- while($this->identifyMode($p) == QR_MODE_KJ) {
- $p += 2;
- }
- $this->items = $this->appendNewInputItem($this->items, QR_MODE_KJ, $p, str_split($this->dataStr));
- return $run;
- }
-
- /**
- * eat8
- * @return int run
- */
- protected function eat8() {
- $la = $this->lengthIndicator(QR_MODE_AN, $this->version);
- $ln = $this->lengthIndicator(QR_MODE_NM, $this->version);
- $p = 1;
- $dataStrLen = strlen($this->dataStr);
- while($p < $dataStrLen) {
- $mode = $this->identifyMode($p);
- if ($mode == QR_MODE_KJ) {
- break;
- }
- if ($mode == QR_MODE_NM) {
- $q = $p;
- while($this->isdigitat($this->dataStr, $q)) {
- $q++;
- }
- $dif = $this->estimateBitsMode8($p) // + 4 + l8
- + $this->estimateBitsModeNum($q - $p) + 4 + $ln
- - $this->estimateBitsMode8($q); // - 4 - l8
- if ($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } elseif ($mode == QR_MODE_AN) {
- $q = $p;
- while($this->isalnumat($this->dataStr, $q)) {
- $q++;
- }
- $dif = $this->estimateBitsMode8($p) // + 4 + l8
- + $this->estimateBitsModeAn($q - $p) + 4 + $la
- - $this->estimateBitsMode8($q); // - 4 - l8
- if ($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else {
- $p++;
- }
- }
- $run = $p;
- $this->items = $this->appendNewInputItem($this->items, QR_MODE_8B, $run, str_split($this->dataStr));
- return $run;
- }
-
- /**
- * splitString
- */
- protected function splitString() {
- while (strlen($this->dataStr) > 0) {
- if ($this->dataStr == '') {
- return 0;
- }
- $mode = $this->identifyMode(0);
- switch ($mode) {
- case QR_MODE_NM: {
- $length = $this->eatNum();
- break;
- }
- case QR_MODE_AN: {
- $length = $this->eatAn();
- break;
- }
- case QR_MODE_KJ: {
- if ($hint == QR_MODE_KJ) {
- $length = $this->eatKanji();
- } else {
- $length = $this->eat8();
- }
- break;
- }
- default: {
- $length = $this->eat8();
- break;
- }
- }
- if ($length == 0) {
- return 0;
- }
- if ($length < 0) {
- return -1;
- }
- $this->dataStr = substr($this->dataStr, $length);
- }
- }
-
- /**
- * toUpper
- */
- protected function toUpper() {
- $stringLen = strlen($this->dataStr);
- $p = 0;
- while ($p < $stringLen) {
- $mode = $this->identifyMode(substr($this->dataStr, $p), $this->hint);
- if ($mode == QR_MODE_KJ) {
- $p += 2;
- } else {
- if ((ord($this->dataStr[$p]) >= ord('a')) AND (ord($this->dataStr[$p]) <= ord('z'))) {
- $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32);
- }
- $p++;
- }
- }
- return $this->dataStr;
- }
-
- // - - - - - - - - - - - - - - - - - - - - - - - - -
-
- // QRinputItem
-
- /**
- * newInputItem
- * @param int $mode
- * @param int $size
- * @param array $data
- * @param array $bstream
- * @return array input item
- */
- protected function newInputItem($mode, $size, $data, $bstream=null) {
- $setData = array_slice($data, 0, $size);
- if (count($setData) < $size) {
- $setData = array_merge($setData, array_fill(0, ($size - count($setData)), 0));
- }
- if (!$this->check($mode, $size, $setData)) {
- return NULL;
- }
- $inputitem = array();
- $inputitem['mode'] = $mode;
- $inputitem['size'] = $size;
- $inputitem['data'] = $setData;
- $inputitem['bstream'] = $bstream;
- return $inputitem;
- }
-
- /**
- * encodeModeNum
- * @param array $inputitem
- * @param int $version
- * @return array input item
- */
- protected function encodeModeNum($inputitem, $version) {
- $words = (int)($inputitem['size'] / 3);
- $inputitem['bstream'] = array();
- $val = 0x1;
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, $val);
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_NM, $version), $inputitem['size']);
- for ($i=0; $i < $words; ++$i) {
- $val = (ord($inputitem['data'][$i*3 ]) - ord('0')) * 100;
- $val += (ord($inputitem['data'][$i*3+1]) - ord('0')) * 10;
- $val += (ord($inputitem['data'][$i*3+2]) - ord('0'));
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 10, $val);
- }
- if ($inputitem['size'] - $words * 3 == 1) {
- $val = ord($inputitem['data'][$words*3]) - ord('0');
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, $val);
- } elseif (($inputitem['size'] - ($words * 3)) == 2) {
- $val = (ord($inputitem['data'][$words*3 ]) - ord('0')) * 10;
- $val += (ord($inputitem['data'][$words*3+1]) - ord('0'));
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 7, $val);
- }
- return $inputitem;
- }
-
- /**
- * encodeModeAn
- * @param array $inputitem
- * @param int $version
- * @return array input item
- */
- protected function encodeModeAn($inputitem, $version) {
- $words = (int)($inputitem['size'] / 2);
- $inputitem['bstream'] = array();
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x02);
- $inputitem['bstream'] = $this->appendNum(v, $this->lengthIndicator(QR_MODE_AN, $version), $inputitem['size']);
- for ($i=0; $i < $words; ++$i) {
- $val = (int)$this->lookAnTable(ord($inputitem['data'][$i*2 ])) * 45;
- $val += (int)$this->lookAnTable(ord($inputitem['data'][$i*2+1]));
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 11, $val);
- }
- if ($inputitem['size'] & 1) {
- $val = $this->lookAnTable(ord($inputitem['data'][($words * 2)]));
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 6, $val);
- }
- return $inputitem;
- }
-
- /**
- * encodeMode8
- * @param array $inputitem
- * @param int $version
- * @return array input item
- */
- protected function encodeMode8($inputitem, $version) {
- $inputitem['bstream'] = array();
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x4);
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_8B, $version), $inputitem['size']);
- for ($i=0; $i < $inputitem['size']; ++$i) {
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 8, ord($inputitem['data'][$i]));
- }
- return $inputitem;
- }
-
- /**
- * encodeModeKanji
- * @param array $inputitem
- * @param int $version
- * @return array input item
- */
- protected function encodeModeKanji($inputitem, $version) {
- $inputitem['bstream'] = array();
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x8);
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], $this->lengthIndicator(QR_MODE_KJ, $version), (int)($inputitem['size'] / 2));
- for ($i=0; $i<$inputitem['size']; $i+=2) {
- $val = (ord($inputitem['data'][$i]) << 8) | ord($inputitem['data'][$i+1]);
- if ($val <= 0x9ffc) {
- $val -= 0x8140;
- } else {
- $val -= 0xc140;
- }
- $h = ($val >> 8) * 0xc0;
- $val = ($val & 0xff) + $h;
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 13, $val);
- }
- return $inputitem;
- }
-
- /**
- * encodeModeStructure
- * @param array $inputitem
- * @return array input item
- */
- protected function encodeModeStructure($inputitem) {
- $inputitem['bstream'] = array();
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, 0x03);
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, ord($inputitem['data'][1]) - 1);
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 4, ord($inputitem['data'][0]) - 1);
- $inputitem['bstream'] = $this->appendNum($inputitem['bstream'], 8, ord($inputitem['data'][2]));
- return $inputitem;
- }
-
- /**
- * encodeBitStream
- * @param array $inputitem
- * @param int $version
- * @return array input item
- */
- protected function encodeBitStream($inputitem, $version) {
- $inputitem['bstream'] = array();
- $words = $this->maximumWords($inputitem['mode'], $version);
- if ($inputitem['size'] > $words) {
- $st1 = $this->newInputItem($inputitem['mode'], $words, $inputitem['data']);
- $st2 = $this->newInputItem($inputitem['mode'], $inputitem['size'] - $words, array_slice($inputitem['data'], $words));
- $st1 = $this->encodeBitStream($st1, $version);
- $st2 = $this->encodeBitStream($st2, $version);
- $inputitem['bstream'] = array();
- $inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'], $st1['bstream']);
- $inputitem['bstream'] = $this->appendBitstream($inputitem['bstream'], $st2['bstream']);
- } else {
- switch($inputitem['mode']) {
- case QR_MODE_NM: {
- $inputitem = $this->encodeModeNum($inputitem, $version);
- break;
- }
- case QR_MODE_AN: {
- $inputitem = $this->encodeModeAn($inputitem, $version);
- break;
- }
- case QR_MODE_8B: {
- $inputitem = $this->encodeMode8($inputitem, $version);
- break;
- }
- case QR_MODE_KJ: {
- $inputitem = $this->encodeModeKanji($inputitem, $version);
- break;
- }
- case QR_MODE_ST: {
- $inputitem = $this->encodeModeStructure($inputitem);
- break;
- }
- default: {
- break;
- }
- }
- }
- return $inputitem;
- }
-
- // - - - - - - - - - - - - - - - - - - - - - - - - -
-
- // QRinput
-
- /**
- * Append data to an input object.
- * The data is copied and appended to the input object.
- * @param array items input items
- * @param int $mode encoding mode.
- * @param int $size size of data (byte).
- * @param array $data array of input data.
- * @return items
- *
- */
- protected function appendNewInputItem($items, $mode, $size, $data) {
- $items[] = $this->newInputItem($mode, $size, $data);
- return $items;
- }
-
- /**
- * insertStructuredAppendHeader
- * @param array $items
- * @param int $size
- * @param int $index
- * @param int $parity
- * @return array items
- */
- protected function insertStructuredAppendHeader($items, $size, $index, $parity) {
- if ($size > MAX_STRUCTURED_SYMBOLS) {
- return -1;
- }
- if (($index <= 0) OR ($index > MAX_STRUCTURED_SYMBOLS)) {
- return -1;
- }
- $buf = array($size, $index, $parity);
- $entry = $this->newInputItem(QR_MODE_ST, 3, buf);
- array_unshift($items, $entry);
- return $items;
- }
-
- /**
- * calcParity
- * @param array $items
- * @return int parity
- */
- protected function calcParity($items) {
- $parity = 0;
- foreach ($items as $item) {
- if ($item['mode'] != QR_MODE_ST) {
- for ($i=$item['size']-1; $i>=0; --$i) {
- $parity ^= $item['data'][$i];
- }
- }
- }
- return $parity;
- }
-
- /**
- * checkModeNum
- * @param int $size
- * @param array $data
- * @return boolean true or false
- */
- protected function checkModeNum($size, $data) {
- for ($i=0; $i<$size; ++$i) {
- if ((ord($data[$i]) < ord('0')) OR (ord($data[$i]) > ord('9'))){
- return false;
- }
- }
- return true;
- }
-
- /**
- * estimateBitsModeNum
- * @param int $size
- * @return int number of bits
- */
- protected function estimateBitsModeNum($size) {
- $w = (int)$size / 3;
- $bits = $w * 10;
- switch($size - $w * 3) {
- case 1: {
- $bits += 4;
- break;
- }
- case 2: {
- $bits += 7;
- break;
- }
- default: {
- break;
- }
- }
- return $bits;
- }
-
- /**
- * Look up the alphabet-numeric convesion table (see JIS X0510:2004, pp.19).
- * @param int $c character value
- * @return value
- */
- protected function lookAnTable($c) {
- return (($c > 127)?-1:$this->anTable[$c]);
- }
-
- /**
- * checkModeAn
- * @param int $size
- * @param array $data
- * @return boolean true or false
- */
- protected function checkModeAn($size, $data) {
- for ($i=0; $i<$size; ++$i) {
- if ($this->lookAnTable(ord($data[$i])) == -1) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * estimateBitsModeAn
- * @param int $size
- * @return int number of bits
- */
- protected function estimateBitsModeAn($size) {
- $w = (int)($size / 2);
- $bits = $w * 11;
- if ($size & 1) {
- $bits += 6;
- }
- return $bits;
- }
-
- /**
- * estimateBitsMode8
- * @param int $size
- * @return int number of bits
- */
- protected function estimateBitsMode8($size) {
- return $size * 8;
- }
-
- /**
- * estimateBitsModeKanji
- * @param int $size
- * @return int number of bits
- */
- protected function estimateBitsModeKanji($size) {
- return (int)(($size / 2) * 13);
- }
-
- /**
- * checkModeKanji
- * @param int $size
- * @param array $data
- * @return boolean true or false
- */
- protected function checkModeKanji($size, $data) {
- if ($size & 1) {
- return false;
- }
- for ($i=0; $i<$size; $i+=2) {
- $val = (ord($data[$i]) << 8) | ord($data[$i+1]);
- if (($val < 0x8140) OR (($val > 0x9ffc) AND ($val < 0xe040)) OR ($val > 0xebbf)) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Validate the input data.
- * @param int $mode encoding mode.
- * @param int $size size of data (byte).
- * @param array data data to validate
- * @return boolean true in case of valid data, false otherwise
- */
- protected function check($mode, $size, $data) {
- if ($size <= 0) {
- return false;
- }
- switch($mode) {
- case QR_MODE_NM: {
- return $this->checkModeNum($size, $data);
- }
- case QR_MODE_AN: {
- return $this->checkModeAn($size, $data);
- }
- case QR_MODE_KJ: {
- return $this->checkModeKanji($size, $data);
- }
- case QR_MODE_8B: {
- return true;
- }
- case QR_MODE_ST: {
- return true;
- }
- default: {
- break;
- }
- }
- return false;
- }
-
- /**
- * estimateBitStreamSize
- * @param array $items
- * @param int $version
- * @return int bits
- */
- protected function estimateBitStreamSize($items, $version) {
- $bits = 0;
- if ($version == 0) {
- $version = 1;
- }
- foreach ($items as $item) {
- switch($item['mode']) {
- case QR_MODE_NM: {
- $bits = $this->estimateBitsModeNum($item['size']);
- break;
- }
- case QR_MODE_AN: {
- $bits = $this->estimateBitsModeAn($item['size']);
- break;
- }
- case QR_MODE_8B: {
- $bits = $this->estimateBitsMode8($item['size']);
- break;
- }
- case QR_MODE_KJ: {
- $bits = $this->estimateBitsModeKanji($item['size']);
- break;
- }
- case QR_MODE_ST: {
- return STRUCTURE_HEADER_BITS;
- }
- default: {
- return 0;
- }
- }
- $l = $this->lengthIndicator($item['mode'], $version);
- $m = 1 << $l;
- $num = (int)(($item['size'] + $m - 1) / $m);
- $bits += $num * (4 + $l);
- }
- return $bits;
- }
-
- /**
- * estimateVersion
- * @param array $items
- * @return int version
- */
- protected function estimateVersion($items) {
- $version = 0;
- $prev = 0;
- do {
- $prev = $version;
- $bits = $this->estimateBitStreamSize($items, $prev);
- $version = $this->getMinimumVersion((int)(($bits + 7) / 8), $this->level);
- if ($version < 0) {
- return -1;
- }
- } while ($version > $prev);
- return $version;
- }
-
- /**
- * lengthOfCode
- * @param int $mode
- * @param int $version
- * @param int $bits
- * @return int size
- */
- protected function lengthOfCode($mode, $version, $bits) {
- $payload = $bits - 4 - $this->lengthIndicator($mode, $version);
- switch($mode) {
- case QR_MODE_NM: {
- $chunks = (int)($payload / 10);
- $remain = $payload - $chunks * 10;
- $size = $chunks * 3;
- if ($remain >= 7) {
- $size += 2;
- } elseif ($remain >= 4) {
- $size += 1;
- }
- break;
- }
- case QR_MODE_AN: {
- $chunks = (int)($payload / 11);
- $remain = $payload - $chunks * 11;
- $size = $chunks * 2;
- if ($remain >= 6) {
- ++$size;
- }
- break;
- }
- case QR_MODE_8B: {
- $size = (int)($payload / 8);
- break;
- }
- case QR_MODE_KJ: {
- $size = (int)(($payload / 13) * 2);
- break;
- }
- case QR_MODE_ST: {
- $size = (int)($payload / 8);
- break;
- }
- default: {
- $size = 0;
- break;
- }
- }
- $maxsize = $this->maximumWords($mode, $version);
- if ($size < 0) {
- $size = 0;
- }
- if ($size > $maxsize) {
- $size = $maxsize;
- }
- return $size;
- }
-
- /**
- * createBitStream
- * @param array $items
- * @return array of items and total bits
- */
- protected function createBitStream($items) {
- $total = 0;
- foreach ($items as $key => $item) {
- $items[$key] = $this->encodeBitStream($item, $this->version);
- $bits = count($items[$key]['bstream']);
- $total += $bits;
- }
- return array($items, $total);
- }
-
- /**
- * convertData
- * @param array $items
- * @return array items
- */
- protected function convertData($items) {
- $ver = $this->estimateVersion($items);
- if ($ver > $this->version) {
- $this->version = $ver;
- }
- for (;;) {
- $cbs = $this->createBitStream($items);
- $items = $cbs[0];
- $bits = $cbs[1];
- if ($bits < 0) {
- return -1;
- }
- $ver = $this->getMinimumVersion((int)(($bits + 7) / 8), $this->level);
- if ($ver < 0) {
- return -1;
- } elseif ($ver > $this->version) {
- $this->version = $ver;
- } else {
- break;
- }
- }
- return $items;
- }
-
- /**
- * Append Padding Bit to bitstream
- * @param array $bstream
- * @return array bitstream
- */
- protected function appendPaddingBit($bstream) {
- $bits = count($bstream);
- $maxwords = $this->getDataLength($this->version, $this->level);
- $maxbits = $maxwords * 8;
- if ($maxbits == $bits) {
- return 0;
- }
- if ($maxbits - $bits < 5) {
- return $this->appendNum($bstream, $maxbits - $bits, 0);
- }
- $bits += 4;
- $words = (int)(($bits + 7) / 8);
- $padding = array();
- $padding = $this->appendNum($padding, $words * 8 - $bits + 4, 0);
- $padlen = $maxwords - $words;
- if ($padlen > 0) {
- $padbuf = array();
- for ($i=0; $i<$padlen; ++$i) {
- $padbuf[$i] = ($i&1)?0x11:0xec;
- }
- $padding = $this->appendBytes($padding, $padlen, $padbuf);
- }
- return $this->appendBitstream($bstream, $padding);
- }
-
- /**
- * mergeBitStream
- * @param array $bstream
- * @return array bitstream
- */
- protected function mergeBitStream($items) {
- $items = $this->convertData($items);
- $bstream = array();
- foreach ($items as $item) {
- $bstream = $this->appendBitstream($bstream, $item['bstream']);
- }
- return $bstream;
- }
-
- /**
- * Returns a stream of bits.
- * @param int $items
- * @return array padded merged byte stream
- */
- protected function getBitStream($items) {
- $bstream = $this->mergeBitStream($items);
- return $this->appendPaddingBit($bstream);
- }
-
- /**
- * Pack all bit streams padding bits into a byte array.
- * @param int $items
- * @return array padded merged byte stream
- */
- protected function getByteStream($items) {
- $bstream = $this->getBitStream($items);
- return $this->bitstreamToByte($bstream);
- }
-
- // - - - - - - - - - - - - - - - - - - - - - - - - -
-
- // QRbitstream
-
- /**
- * Return an array with zeros
- * @param int $setLength array size
- * @return array
- */
- protected function allocate($setLength) {
- return array_fill(0, $setLength, 0);
- }
-
- /**
- * Return new bitstream from number
- * @param int $bits number of bits
- * @param int $num number
- * @return array bitstream
- */
- protected function newFromNum($bits, $num) {
- $bstream = $this->allocate($bits);
- $mask = 1 << ($bits - 1);
- for ($i=0; $i<$bits; ++$i) {
- if ($num & $mask) {
- $bstream[$i] = 1;
- } else {
- $bstream[$i] = 0;
- }
- $mask = $mask >> 1;
- }
- return $bstream;
- }
-
- /**
- * Return new bitstream from bytes
- * @param int $size size
- * @param array $data bytes
- * @return array bitstream
- */
- protected function newFromBytes($size, $data) {
- $bstream = $this->allocate($size * 8);
- $p=0;
- for ($i=0; $i<$size; ++$i) {
- $mask = 0x80;
- for ($j=0; $j<8; ++$j) {
- if ($data[$i] & $mask) {
- $bstream[$p] = 1;
- } else {
- $bstream[$p] = 0;
- }
- $p++;
- $mask = $mask >> 1;
- }
- }
- return $bstream;
- }
-
- /**
- * Append one bitstream to another
- * @param array $bitstream original bitstream
- * @param array $append bitstream to append
- * @return array bitstream
- */
- protected function appendBitstream($bitstream, $append) {
- if ((!is_array($append)) OR (count($append) == 0)) {
- return $bitstream;
- }
- if (count($bitstream) == 0) {
- return $append;
- }
- return array_values(array_merge($bitstream, $append));
- }
-
- /**
- * Append one bitstream created from number to another
- * @param array $bitstream original bitstream
- * @param int $bits number of bits
- * @param int $num number
- * @return array bitstream
- */
- protected function appendNum($bitstream, $bits, $num) {
- if ($bits == 0) {
- return 0;
- }
- $b = $this->newFromNum($bits, $num);
- return $this->appendBitstream($bitstream, $b);
- }
-
- /**
- * Append one bitstream created from bytes to another
- * @param array $bitstream original bitstream
- * @param int $size size
- * @param array $data bytes
- * @return array bitstream
- */
- protected function appendBytes($bitstream, $size, $data) {
- if ($size == 0) {
- return 0;
- }
- $b = $this->newFromBytes($size, $data);
- return $this->appendBitstream($bitstream, $b);
- }
-
- /**
- * Convert bitstream to bytes
- * @param array $bitstream original bitstream
- * @return array of bytes
- */
- protected function bitstreamToByte($bstream) {
- $size = count($bstream);
- if ($size == 0) {
- return array();
- }
- $data = array_fill(0, (int)(($size + 7) / 8), 0);
- $bytes = (int)($size / 8);
- $p = 0;
- for ($i=0; $i<$bytes; $i++) {
- $v = 0;
- for ($j=0; $j<8; $j++) {
- $v = $v << 1;
- $v |= $bstream[$p];
- $p++;
- }
- $data[$i] = $v;
- }
- if ($size & 7) {
- $v = 0;
- for ($j=0; $j<($size & 7); $j++) {
- $v = $v << 1;
- $v |= $bstream[$p];
- $p++;
- }
- $data[$bytes] = $v;
- }
- return $data;
- }
-
- // - - - - - - - - - - - - - - - - - - - - - - - - -
-
- // QRspec
-
- /**
- * Replace a value on the array at the specified position
- * @param array $srctab
- * @param int $x X position
- * @param int $y Y position
- * @param string $repl value to replace
- * @param int $replLen length of the repl string
- * @return array srctab
- */
- protected function qrstrset($srctab, $x, $y, $repl, $replLen=false) {
- $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl));
- return $srctab;
- }
-
- /**
- * Return maximum data code length (bytes) for the version.
- * @param int $version version
- * @param int $level error correction level
- * @return int maximum size (bytes)
- */
- protected function getDataLength($version, $level) {
- return $this->capacity[$version][QRCAP_WORDS] - $this->capacity[$version][QRCAP_EC][$level];
- }
-
- /**
- * Return maximum error correction code length (bytes) for the version.
- * @param int $version version
- * @param int $level error correction level
- * @return int ECC size (bytes)
- */
- protected function getECCLength($version, $level){
- return $this->capacity[$version][QRCAP_EC][$level];
- }
-
- /**
- * Return the width of the symbol for the version.
- * @param int $version version
- * @return int width
- */
- protected function getWidth($version) {
- return $this->capacity[$version][QRCAP_WIDTH];
- }
-
- /**
- * Return the numer of remainder bits.
- * @param int $version version
- * @return int number of remainder bits
- */
- protected function getRemainder($version) {
- return $this->capacity[$version][QRCAP_REMINDER];
- }
-
- /**
- * Return a version number that satisfies the input code length.
- * @param int $size input code length (byte)
- * @param int $level error correction level
- * @return int version number
- */
- protected function getMinimumVersion($size, $level) {
- for ($i=1; $i <= QRSPEC_VERSION_MAX; ++$i) {
- $words = $this->capacity[$i][QRCAP_WORDS] - $this->capacity[$i][QRCAP_EC][$level];
- if ($words >= $size) {
- return $i;
- }
- }
- return -1;
- }
-
- /**
- * Return the size of length indicator for the mode and version.
- * @param int $mode encoding mode
- * @param int $version version
- * @return int the size of the appropriate length indicator (bits).
- */
- protected function lengthIndicator($mode, $version) {
- if ($mode == QR_MODE_ST) {
- return 0;
- }
- if ($version <= 9) {
- $l = 0;
- } elseif ($version <= 26) {
- $l = 1;
- } else {
- $l = 2;
- }
- return $this->lengthTableBits[$mode][$l];
- }
-
- /**
- * Return the maximum length for the mode and version.
- * @param int $mode encoding mode
- * @param int $version version
- * @return int the maximum length (bytes)
- */
- protected function maximumWords($mode, $version) {
- if ($mode == QR_MODE_ST) {
- return 3;
- }
- if ($version <= 9) {
- $l = 0;
- } else if ($version <= 26) {
- $l = 1;
- } else {
- $l = 2;
- }
- $bits = $this->lengthTableBits[$mode][$l];
- $words = (1 << $bits) - 1;
- if ($mode == QR_MODE_KJ) {
- $words *= 2; // the number of bytes is required
- }
- return $words;
- }
-
- /**
- * Return an array of ECC specification.
- * @param int $version version
- * @param int $level error correction level
- * @param array $spec an array of ECC specification contains as following: {# of type1 blocks, # of data code, # of ecc code, # of type2 blocks, # of data code}
- * @return array spec
- */
- protected function getEccSpec($version, $level, $spec) {
- if (count($spec) < 5) {
- $spec = array(0, 0, 0, 0, 0);
- }
- $b1 = $this->eccTable[$version][$level][0];
- $b2 = $this->eccTable[$version][$level][1];
- $data = $this->getDataLength($version, $level);
- $ecc = $this->getECCLength($version, $level);
- if ($b2 == 0) {
- $spec[0] = $b1;
- $spec[1] = (int)($data / $b1);
- $spec[2] = (int)($ecc / $b1);
- $spec[3] = 0;
- $spec[4] = 0;
- } else {
- $spec[0] = $b1;
- $spec[1] = (int)($data / ($b1 + $b2));
- $spec[2] = (int)($ecc / ($b1 + $b2));
- $spec[3] = $b2;
- $spec[4] = $spec[1] + 1;
- }
- return $spec;
- }
-
- /**
- * Put an alignment marker.
- * @param array $frame frame
- * @param int $width width
- * @param int $ox X center coordinate of the pattern
- * @param int $oy Y center coordinate of the pattern
- * @return array frame
- */
- protected function putAlignmentMarker($frame, $ox, $oy) {
- $finder = array(
- "\xa1\xa1\xa1\xa1\xa1",
- "\xa1\xa0\xa0\xa0\xa1",
- "\xa1\xa0\xa1\xa0\xa1",
- "\xa1\xa0\xa0\xa0\xa1",
- "\xa1\xa1\xa1\xa1\xa1"
- );
- $yStart = $oy - 2;
- $xStart = $ox - 2;
- for ($y=0; $y < 5; $y++) {
- $frame = $this->qrstrset($frame, $xStart, $yStart+$y, $finder[$y]);
- }
- return $frame;
- }
-
- /**
- * Put an alignment pattern.
- * @param int $version version
- * @param array $fram frame
- * @param int $width width
- * @return array frame
- */
- protected function putAlignmentPattern($version, $frame, $width) {
- if ($version < 2) {
- return $frame;
- }
- $d = $this->alignmentPattern[$version][1] - $this->alignmentPattern[$version][0];
- if ($d < 0) {
- $w = 2;
- } else {
- $w = (int)(($width - $this->alignmentPattern[$version][0]) / $d + 2);
- }
- if ($w * $w - 3 == 1) {
- $x = $this->alignmentPattern[$version][0];
- $y = $this->alignmentPattern[$version][0];
- $frame = $this->putAlignmentMarker($frame, $x, $y);
- return $frame;
- }
- $cx = $this->alignmentPattern[$version][0];
- $wo = $w - 1;
- for ($x=1; $x < $wo; ++$x) {
- $frame = $this->putAlignmentMarker($frame, 6, $cx);
- $frame = $this->putAlignmentMarker($frame, $cx, 6);
- $cx += $d;
- }
- $cy = $this->alignmentPattern[$version][0];
- for ($y=0; $y < $wo; ++$y) {
- $cx = $this->alignmentPattern[$version][0];
- for ($x=0; $x < $wo; ++$x) {
- $frame = $this->putAlignmentMarker($frame, $cx, $cy);
- $cx += $d;
- }
- $cy += $d;
- }
- return $frame;
- }
-
- /**
- * Return BCH encoded version information pattern that is used for the symbol of version 7 or greater. Use lower 18 bits.
- * @param int $version version
- * @return BCH encoded version information pattern
- */
- protected function getVersionPattern($version) {
- if (($version < 7) OR ($version > QRSPEC_VERSION_MAX)) {
- return 0;
- }
- return $this->versionPattern[($version - 7)];
- }
-
- /**
- * Return BCH encoded format information pattern.
- * @param array $mask
- * @param int $level error correction level
- * @return BCH encoded format information pattern
- */
- protected function getFormatInfo($mask, $level) {
- if (($mask < 0) OR ($mask > 7)) {
- return 0;
- }
- if (($level < 0) OR ($level > 3)) {
- return 0;
- }
- return $this->formatInfo[$level][$mask];
- }
-
- /**
- * Put a finder pattern.
- * @param array $frame frame
- * @param int $width width
- * @param int $ox X center coordinate of the pattern
- * @param int $oy Y center coordinate of the pattern
- * @return array frame
- */
- protected function putFinderPattern($frame, $ox, $oy) {
- $finder = array(
- "\xc1\xc1\xc1\xc1\xc1\xc1\xc1",
- "\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
- "\xc1\xc1\xc1\xc1\xc1\xc1\xc1"
- );
- for ($y=0; $y < 7; $y++) {
- $frame = $this->qrstrset($frame, $ox, ($oy + $y), $finder[$y]);
- }
- return $frame;
- }
-
- /**
- * Return a copy of initialized frame.
- * @param int $version version
- * @return Array of unsigned char.
- */
- protected function createFrame($version) {
- $width = $this->capacity[$version][QRCAP_WIDTH];
- $frameLine = str_repeat ("\0", $width);
- $frame = array_fill(0, $width, $frameLine);
- // Finder pattern
- $frame = $this->putFinderPattern($frame, 0, 0);
- $frame = $this->putFinderPattern($frame, $width - 7, 0);
- $frame = $this->putFinderPattern($frame, 0, $width - 7);
- // Separator
- $yOffset = $width - 7;
- for ($y=0; $y < 7; ++$y) {
- $frame[$y][7] = "\xc0";
- $frame[$y][$width - 8] = "\xc0";
- $frame[$yOffset][7] = "\xc0";
- ++$yOffset;
- }
- $setPattern = str_repeat("\xc0", 8);
- $frame = $this->qrstrset($frame, 0, 7, $setPattern);
- $frame = $this->qrstrset($frame, $width-8, 7, $setPattern);
- $frame = $this->qrstrset($frame, 0, $width - 8, $setPattern);
- // Format info
- $setPattern = str_repeat("\x84", 9);
- $frame = $this->qrstrset($frame, 0, 8, $setPattern);
- $frame = $this->qrstrset($frame, $width - 8, 8, $setPattern, 8);
- $yOffset = $width - 8;
- for ($y=0; $y < 8; ++$y,++$yOffset) {
- $frame[$y][8] = "\x84";
- $frame[$yOffset][8] = "\x84";
- }
- // Timing pattern
- $wo = $width - 15;
- for ($i=1; $i < $wo; ++$i) {
- $frame[6][7+$i] = chr(0x90 | ($i & 1));
- $frame[7+$i][6] = chr(0x90 | ($i & 1));
- }
- // Alignment pattern
- $frame = $this->putAlignmentPattern($version, $frame, $width);
- // Version information
- if ($version >= 7) {
- $vinf = $this->getVersionPattern($version);
- $v = $vinf;
- for ($x=0; $x<6; ++$x) {
- for ($y=0; $y<3; ++$y) {
- $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1));
- $v = $v >> 1;
- }
- }
- $v = $vinf;
- for ($y=0; $y<6; ++$y) {
- for ($x=0; $x<3; ++$x) {
- $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1));
- $v = $v >> 1;
- }
- }
- }
- // and a little bit...
- $frame[$width - 8][8] = "\x81";
- return $frame;
- }
-
- /**
- * Set new frame for the specified version.
- * @param int $version version
- * @return Array of unsigned char.
- */
- protected function newFrame($version) {
- if (($version < 1) OR ($version > QRSPEC_VERSION_MAX)) {
- return NULL;
- }
- if (!isset($this->frames[$version])) {
- $this->frames[$version] = $this->createFrame($version);
- }
- if (is_null($this->frames[$version])) {
- return NULL;
- }
- return $this->frames[$version];
- }
-
- /**
- * Return block number 0
- * @param array $spec
- * @return int value
- */
- protected function rsBlockNum($spec) {
- return ($spec[0] + $spec[3]);
- }
-
- /**
- * Return block number 1
- * @param array $spec
- * @return int value
- */
- protected function rsBlockNum1($spec) {
- return $spec[0];
- }
-
- /**
- * Return data codes 1
- * @param array $spec
- * @return int value
- */
- protected function rsDataCodes1($spec) {
- return $spec[1];
- }
-
- /**
- * Return ecc codes 1
- * @param array $spec
- * @return int value
- */
- protected function rsEccCodes1($spec) {
- return $spec[2];
- }
-
- /**
- * Return block number 2
- * @param array $spec
- * @return int value
- */
- protected function rsBlockNum2($spec) {
- return $spec[3];
- }
-
- /**
- * Return data codes 2
- * @param array $spec
- * @return int value
- */
- protected function rsDataCodes2($spec) {
- return $spec[4];
- }
-
- /**
- * Return ecc codes 2
- * @param array $spec
- * @return int value
- */
- protected function rsEccCodes2($spec) {
- return $spec[2];
- }
-
- /**
- * Return data length
- * @param array $spec
- * @return int value
- */
- protected function rsDataLength($spec) {
- return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]);
- }
-
- /**
- * Return ecc length
- * @param array $spec
- * @return int value
- */
- protected function rsEccLength($spec) {
- return ($spec[0] + $spec[3]) * $spec[2];
- }
-
- // - - - - - - - - - - - - - - - - - - - - - - - - -
-
- // QRrs
-
- /**
- * Initialize a Reed-Solomon codec and add it to existing rsitems
- * @param int $symsize symbol size, bits
- * @param int $gfpoly Field generator polynomial coefficients
- * @param int $fcr first root of RS code generator polynomial, index form
- * @param int $prim primitive element to generate polynomial roots
- * @param int $nroots RS code generator polynomial degree (number of roots)
- * @param int $pad padding bytes at front of shortened block
- * @return array Array of RS values:<ul><li>mm = Bits per symbol;</li><li>nn = Symbols per block;</li><li>alpha_to = log lookup table array;</li><li>index_of = Antilog lookup table array;</li><li>genpoly = Generator polynomial array;</li><li>nroots = Number of generator;</li><li>roots = number of parity symbols;</li><li>fcr = First consecutive root, index form;</li><li>prim = Primitive element, index form;</li><li>iprim = prim-th root of 1, index form;</li><li>pad = Padding bytes in shortened block;</li><li>gfpoly</ul>.
- */
- protected function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) {
- foreach ($this->rsitems as $rs) {
- if (($rs['pad'] != $pad) OR ($rs['nroots'] != $nroots) OR ($rs['mm'] != $symsize)
- OR ($rs['gfpoly'] != $gfpoly) OR ($rs['fcr'] != $fcr) OR ($rs['prim'] != $prim)) {
- continue;
- }
- return $rs;
- }
- $rs = $this->init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad);
- array_unshift($this->rsitems, $rs);
- return $rs;
- }
-
- // - - - - - - - - - - - - - - - - - - - - - - - - -
-
- // QRrsItem
-
- /**
- * modnn
- * @param array RS values
- * @param int $x X position
- * @return int X osition
- */
- protected function modnn($rs, $x) {
- while ($x >= $rs['nn']) {
- $x -= $rs['nn'];
- $x = ($x >> $rs['mm']) + ($x & $rs['nn']);
- }
- return $x;
- }
-
- /**
- * Initialize a Reed-Solomon codec and returns an array of values.
- * @param int $symsize symbol size, bits
- * @param int $gfpoly Field generator polynomial coefficients
- * @param int $fcr first root of RS code generator polynomial, index form
- * @param int $prim primitive element to generate polynomial roots
- * @param int $nroots RS code generator polynomial degree (number of roots)
- * @param int $pad padding bytes at front of shortened block
- * @return array Array of RS values:<ul><li>mm = Bits per symbol;</li><li>nn = Symbols per block;</li><li>alpha_to = log lookup table array;</li><li>index_of = Antilog lookup table array;</li><li>genpoly = Generator polynomial array;</li><li>nroots = Number of generator;</li><li>roots = number of parity symbols;</li><li>fcr = First consecutive root, index form;</li><li>prim = Primitive element, index form;</li><li>iprim = prim-th root of 1, index form;</li><li>pad = Padding bytes in shortened block;</li><li>gfpoly</ul>.
- */
- protected function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad) {
- // Based on Reed solomon encoder by Phil Karn, KA9Q (GNU-LGPLv2)
- $rs = null;
- // Check parameter ranges
- if (($symsize < 0) OR ($symsize > 8)) {
- return $rs;
- }
- if (($fcr < 0) OR ($fcr >= (1<<$symsize))) {
- return $rs;
- }
- if (($prim <= 0) OR ($prim >= (1<<$symsize))) {
- return $rs;
- }
- if (($nroots < 0) OR ($nroots >= (1<<$symsize))) {
- return $rs;
- }
- if (($pad < 0) OR ($pad >= ((1<<$symsize) -1 - $nroots))) {
- return $rs;
- }
- $rs = array();
- $rs['mm'] = $symsize;
- $rs['nn'] = (1 << $symsize) - 1;
- $rs['pad'] = $pad;
- $rs['alpha_to'] = array_fill(0, ($rs['nn'] + 1), 0);
- $rs['index_of'] = array_fill(0, ($rs['nn'] + 1), 0);
- // PHP style macro replacement ;)
- $NN =& $rs['nn'];
- $A0 =& $NN;
- // Generate Galois field lookup tables
- $rs['index_of'][0] = $A0; // log(zero) = -inf
- $rs['alpha_to'][$A0] = 0; // alpha**-inf = 0
- $sr = 1;
- for ($i=0; $i<$rs['nn']; ++$i) {
- $rs['index_of'][$sr] = $i;
- $rs['alpha_to'][$i] = $sr;
- $sr <<= 1;
- if ($sr & (1 << $symsize)) {
- $sr ^= $gfpoly;
- }
- $sr &= $rs['nn'];
- }
- if ($sr != 1) {
- // field generator polynomial is not primitive!
- return NULL;
- }
- // Form RS code generator polynomial from its roots
- $rs['genpoly'] = array_fill(0, ($nroots + 1), 0);
- $rs['fcr'] = $fcr;
- $rs['prim'] = $prim;
- $rs['nroots'] = $nroots;
- $rs['gfpoly'] = $gfpoly;
- // Find prim-th root of 1, used in decoding
- for ($iprim=1; ($iprim % $prim) != 0; $iprim += $rs['nn']) {
- ; // intentional empty-body loop!
- }
- $rs['iprim'] = (int)($iprim / $prim);
- $rs['genpoly'][0] = 1;
-
-
- for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) {
- $rs['genpoly'][$i+1] = 1;
- // Multiply rs->genpoly[] by @**(root + x)
- for ($j = $i; $j > 0; --$j) {
- if ($rs['genpoly'][$j] != 0) {
- $rs['genpoly'][$j] = $rs['genpoly'][$j-1] ^ $rs['alpha_to'][$this->modnn($rs, $rs['index_of'][$rs['genpoly'][$j]] + $root)];
- } else {
- $rs['genpoly'][$j] = $rs['genpoly'][$j-1];
- }
- }
- // rs->genpoly[0] can never be zero
- $rs['genpoly'][0] = $rs['alpha_to'][$this->modnn($rs, $rs['index_of'][$rs['genpoly'][0]] + $root)];
- }
- // convert rs->genpoly[] to index form for quicker encoding
- for ($i = 0; $i <= $nroots; ++$i) {
- $rs['genpoly'][$i] = $rs['index_of'][$rs['genpoly'][$i]];
- }
- return $rs;
- }
-
- /**
- * Encode a Reed-Solomon codec and returns the parity array
- * @param array $rs RS values
- * @param array $data data
- * @param array $parity parity
- * @return parity array
- */
- protected function encode_rs_char($rs, $data, $parity) {
- $MM =& $rs['mm']; // bits per symbol
- $NN =& $rs['nn']; // the total number of symbols in a RS block
- $ALPHA_TO =& $rs['alpha_to']; // the address of an array of NN elements to convert Galois field elements in index (log) form to polynomial form
- $INDEX_OF =& $rs['index_of']; // the address of an array of NN elements to convert Galois field elements in polynomial form to index (log) form
- $GENPOLY =& $rs['genpoly']; // an array of NROOTS+1 elements containing the generator polynomial in index form
- $NROOTS =& $rs['nroots']; // the number of roots in the RS code generator polynomial, which is the same as the number of parity symbols in a block
- $FCR =& $rs['fcr']; // first consecutive root, index form
- $PRIM =& $rs['prim']; // primitive element, index form
- $IPRIM =& $rs['iprim']; // prim-th root of 1, index form
- $PAD =& $rs['pad']; // the number of pad symbols in a block
- $A0 =& $NN;
- $parity = array_fill(0, $NROOTS, 0);
- for ($i=0; $i < ($NN - $NROOTS - $PAD); $i++) {
- $feedback = $INDEX_OF[$data[$i] ^ $parity[0]];
- if ($feedback != $A0) {
- // feedback term is non-zero
- // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must
- // always be for the polynomials constructed by init_rs()
- $feedback = $this->modnn($rs, $NN - $GENPOLY[$NROOTS] + $feedback);
- for ($j=1; $j < $NROOTS; ++$j) {
- $parity[$j] ^= $ALPHA_TO[$this->modnn($rs, $feedback + $GENPOLY[($NROOTS - $j)])];
- }
- }
- // Shift
- array_shift($parity);
- if ($feedback != $A0) {
- array_push($parity, $ALPHA_TO[$this->modnn($rs, $feedback + $GENPOLY[0])]);
- } else {
- array_push($parity, 0);
- }
- }
- return $parity;
- }
-
- } // end QRcode class
-
-} // END OF "class_exists QRcode"
-?>
diff --git a/library/phpqrcode/cache/frame_1.dat b/library/phpqrcode/cache/frame_1.dat
deleted file mode 100644
index be28feac4..000000000
--- a/library/phpqrcode/cache/frame_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xڝ E9u`"PńC牗T!0$
-EɲQmh۾9{kI" 9Ln)Ap־>^zmnŖ;mn \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_1.png b/library/phpqrcode/cache/frame_1.png
deleted file mode 100644
index 86ce6e98d..000000000
--- a/library/phpqrcode/cache/frame_1.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_10.dat b/library/phpqrcode/cache/frame_10.dat
deleted file mode 100644
index aff163f68..000000000
--- a/library/phpqrcode/cache/frame_10.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_10.png b/library/phpqrcode/cache/frame_10.png
deleted file mode 100644
index dbfcd70b5..000000000
--- a/library/phpqrcode/cache/frame_10.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_11.dat b/library/phpqrcode/cache/frame_11.dat
deleted file mode 100644
index 95af68a47..000000000
--- a/library/phpqrcode/cache/frame_11.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_11.png b/library/phpqrcode/cache/frame_11.png
deleted file mode 100644
index c07c761f1..000000000
--- a/library/phpqrcode/cache/frame_11.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_12.dat b/library/phpqrcode/cache/frame_12.dat
deleted file mode 100644
index 73228b362..000000000
--- a/library/phpqrcode/cache/frame_12.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_12.png b/library/phpqrcode/cache/frame_12.png
deleted file mode 100644
index 8ba67822c..000000000
--- a/library/phpqrcode/cache/frame_12.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_13.dat b/library/phpqrcode/cache/frame_13.dat
deleted file mode 100644
index 2256f0e34..000000000
--- a/library/phpqrcode/cache/frame_13.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_13.png b/library/phpqrcode/cache/frame_13.png
deleted file mode 100644
index 6e49d35a0..000000000
--- a/library/phpqrcode/cache/frame_13.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_14.dat b/library/phpqrcode/cache/frame_14.dat
deleted file mode 100644
index e9ae09329..000000000
--- a/library/phpqrcode/cache/frame_14.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_14.png b/library/phpqrcode/cache/frame_14.png
deleted file mode 100644
index efc36c034..000000000
--- a/library/phpqrcode/cache/frame_14.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_15.dat b/library/phpqrcode/cache/frame_15.dat
deleted file mode 100644
index 18727818d..000000000
--- a/library/phpqrcode/cache/frame_15.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_15.png b/library/phpqrcode/cache/frame_15.png
deleted file mode 100644
index a9f416c7c..000000000
--- a/library/phpqrcode/cache/frame_15.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_16.dat b/library/phpqrcode/cache/frame_16.dat
deleted file mode 100644
index 60af67845..000000000
--- a/library/phpqrcode/cache/frame_16.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA E]sIX;n6`qW6`%A/3!!g̡1N) E|;>6⸏97$c]kkw1[mC͜cR>E,hʼnp#xFyWVWG3+˓S}Ğ#G8b^c^cpc&3YQ"vk9܇} ĿQL/ \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_16.png b/library/phpqrcode/cache/frame_16.png
deleted file mode 100644
index 6ac8fe890..000000000
--- a/library/phpqrcode/cache/frame_16.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_17.dat b/library/phpqrcode/cache/frame_17.dat
deleted file mode 100644
index 87f0cf593..000000000
--- a/library/phpqrcode/cache/frame_17.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_17.png b/library/phpqrcode/cache/frame_17.png
deleted file mode 100644
index 5b929ac73..000000000
--- a/library/phpqrcode/cache/frame_17.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_18.dat b/library/phpqrcode/cache/frame_18.dat
deleted file mode 100644
index bb7138c1d..000000000
--- a/library/phpqrcode/cache/frame_18.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0E]օ,2;s&͚hO1&09OIv@DD &ىKXFv<dq9<%h Ys !(ds;~||b(Yůg#`KSĶsidߍLg:әt/gmkM3{4rTQes><әt3;H#љt3Y+oghٽlnF>i^#awm;g~pgNs{6zp' \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_18.png b/library/phpqrcode/cache/frame_18.png
deleted file mode 100644
index ee0d6a35e..000000000
--- a/library/phpqrcode/cache/frame_18.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_19.dat b/library/phpqrcode/cache/frame_19.dat
deleted file mode 100644
index 95e26adc1..000000000
--- a/library/phpqrcode/cache/frame_19.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xA
- E.No7ћiiRN2W%x@ڜ'
-u6.*S;}àT zrt%,};)ZLP$qgLdJ;w.]z#[͝Og" B}};w#1Gb;w_C+w@Dfu2N9R7|pWkk \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_19.png b/library/phpqrcode/cache/frame_19.png
deleted file mode 100644
index 20fddd84c..000000000
--- a/library/phpqrcode/cache/frame_19.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_2.dat b/library/phpqrcode/cache/frame_2.dat
deleted file mode 100644
index 7e42f31ca..000000000
--- a/library/phpqrcode/cache/frame_2.dat
+++ /dev/null
@@ -1 +0,0 @@
-x͒ F{v& &Y+?Z1S'y!a815&۴HٞclF1#6 f6O7C֏8gIfB\DԻ( \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_2.png b/library/phpqrcode/cache/frame_2.png
deleted file mode 100644
index 9c150ebe3..000000000
--- a/library/phpqrcode/cache/frame_2.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_20.dat b/library/phpqrcode/cache/frame_20.dat
deleted file mode 100644
index d5ecc1d8a..000000000
--- a/library/phpqrcode/cache/frame_20.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_20.png b/library/phpqrcode/cache/frame_20.png
deleted file mode 100644
index 23a061d54..000000000
--- a/library/phpqrcode/cache/frame_20.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_21.dat b/library/phpqrcode/cache/frame_21.dat
deleted file mode 100644
index 1974dd9d4..000000000
--- a/library/phpqrcode/cache/frame_21.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA E]sIX;n6Upв]٘< i-eW)ŕ…H\jvqHL\6ЅrILܹ%@Vv(P4|Xngɝ~]Du1Us S\,2N?DKF-:eJ]p_,a0` X` w,` X]5 Y4{2vJs9)u۹,]^_7$_ \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_21.png b/library/phpqrcode/cache/frame_21.png
deleted file mode 100644
index 291598c72..000000000
--- a/library/phpqrcode/cache/frame_21.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_22.dat b/library/phpqrcode/cache/frame_22.dat
deleted file mode 100644
index 0f01802d2..000000000
--- a/library/phpqrcode/cache/frame_22.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xA
-0 E]{.]{{{ZBepwe@VERZ3"*2o4y)i#dbdF҅I"4WIu45x.ZS{8k={o.q[:帒qy
-)t#N8dCj-OOG}:/:sz!)^<eSu{ 'p '==='p 'pߣߣN89pQQ]HpzG^QI|߳u;9d;X~$tdy \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_22.png b/library/phpqrcode/cache/frame_22.png
deleted file mode 100644
index bc97bd01b..000000000
--- a/library/phpqrcode/cache/frame_22.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_23.dat b/library/phpqrcode/cache/frame_23.dat
deleted file mode 100644
index ee3b37073..000000000
--- a/library/phpqrcode/cache/frame_23.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xA
- Efo7ћU) %M!ΔYu(<sKT
-&I\i+Ъ(mFQhv~n1o]s_ޟ3`_w2ȹlc[;c֟ˤN4p 7pmTri_pS=77p 7pÍ>IO- 7p 7$}>ɷ7p tssrs Vmҹ}R~7&?7ԦIbh{<Mi- \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_23.png b/library/phpqrcode/cache/frame_23.png
deleted file mode 100644
index b8f16ae23..000000000
--- a/library/phpqrcode/cache/frame_23.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_24.dat b/library/phpqrcode/cache/frame_24.dat
deleted file mode 100644
index 7b92e29c4..000000000
--- a/library/phpqrcode/cache/frame_24.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA EMX0;nVP4HSSxU3/O LiJ4V JC%6VR&DBHjDJ??BlcDZ'UXUޏ0ywįj똳3ścj{:GqGNv;笓J <]#8#8H'GqGtr:9#8#8ؓhNt_>teS^\gQe?vuo;>*wlm \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_24.png b/library/phpqrcode/cache/frame_24.png
deleted file mode 100644
index 397c64f85..000000000
--- a/library/phpqrcode/cache/frame_24.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_25.dat b/library/phpqrcode/cache/frame_25.dat
deleted file mode 100644
index ba125182e..000000000
--- a/library/phpqrcode/cache/frame_25.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xA
- s낋]rxY51mMBG
-*Sx|Ua5ƵZ-,1HPRjX5iG>WR/+uT廯 ӯ嗴u[Sa[kv5+5nJ%+VXbŊ߬u'SRtzZ++VXbŊٟٟٟ+VXb}Ŋ+VXVI+kq[toVZvoNVw}{r<ýR"R] Wr} \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_25.png b/library/phpqrcode/cache/frame_25.png
deleted file mode 100644
index 25bc4454a..000000000
--- a/library/phpqrcode/cache/frame_25.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_26.dat b/library/phpqrcode/cache/frame_26.dat
deleted file mode 100644
index d34a73f15..000000000
--- a/library/phpqrcode/cache/frame_26.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
- Eօ,t77ћU E)i7*~cXEBFC6:&L,Mv.KgոYM>>mۚ?vmg?ұηdCUIkE\Msfafa>[sӈ9쬩ެ8b<k7}k30 30 3*r\7 fafafr\7 fafaY d49kyX yg)dwn̢U>]LgEo w1 \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_26.png b/library/phpqrcode/cache/frame_26.png
deleted file mode 100644
index f4a6b3938..000000000
--- a/library/phpqrcode/cache/frame_26.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_27.dat b/library/phpqrcode/cache/frame_27.dat
deleted file mode 100644
index b4d9ffd4f..000000000
--- a/library/phpqrcode/cache/frame_27.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_27.png b/library/phpqrcode/cache/frame_27.png
deleted file mode 100644
index 8419ec230..000000000
--- a/library/phpqrcode/cache/frame_27.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_28.dat b/library/phpqrcode/cache/frame_28.dat
deleted file mode 100644
index 8cbaa1961..000000000
--- a/library/phpqrcode/cache/frame_28.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_28.png b/library/phpqrcode/cache/frame_28.png
deleted file mode 100644
index 7609d8e1f..000000000
--- a/library/phpqrcode/cache/frame_28.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_29.dat b/library/phpqrcode/cache/frame_29.dat
deleted file mode 100644
index 5e4a71103..000000000
--- a/library/phpqrcode/cache/frame_29.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA a޺ @n7+*4!?J 抮]STf)sI"Ȕb0|"Luٸ,E1\6*uQ?>aυR-rn.ꯋ\T:*)|) , ,x_}:^RUoɢu~މX`XЏЏЏЏ_`X`XЏЏЏ_`X`XЏЏЏЏwbX`PU)D"c{z3<}^?bm잃a.]
-{Q6uT,9 \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_29.png b/library/phpqrcode/cache/frame_29.png
deleted file mode 100644
index ffe072c86..000000000
--- a/library/phpqrcode/cache/frame_29.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_3.dat b/library/phpqrcode/cache/frame_3.dat
deleted file mode 100644
index 188d531c2..000000000
--- a/library/phpqrcode/cache/frame_3.dat
+++ /dev/null
@@ -1 +0,0 @@
-x E{v& &Y+bk'ya:TXl޶$W+ӏv9}gR@H0YPBEm?s"bt2cn:ﺭ;YzQ7 \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_3.png b/library/phpqrcode/cache/frame_3.png
deleted file mode 100644
index 945ee7cb9..000000000
--- a/library/phpqrcode/cache/frame_3.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_30.dat b/library/phpqrcode/cache/frame_30.dat
deleted file mode 100644
index 44cf3d317..000000000
--- a/library/phpqrcode/cache/frame_30.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_30.png b/library/phpqrcode/cache/frame_30.png
deleted file mode 100644
index 75dbddd24..000000000
--- a/library/phpqrcode/cache/frame_30.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_31.dat b/library/phpqrcode/cache/frame_31.dat
deleted file mode 100644
index ce429d0a6..000000000
--- a/library/phpqrcode/cache/frame_31.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA a޺ &r4yķ!mV3Iv!Ҝ2i\NSS4EF2+65e/Ws]!?p=S~Đ?+x6r6y}ǴeR1-WllҌXz/>V櫷:ñA8-+mTbllltM&]ll&]Ill&]y 6` 6`iuyXWi\tz>.zk t77wJϔ4w҈85 \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_31.png b/library/phpqrcode/cache/frame_31.png
deleted file mode 100644
index b14d1fa26..000000000
--- a/library/phpqrcode/cache/frame_31.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_32.dat b/library/phpqrcode/cache/frame_32.dat
deleted file mode 100644
index aaa0808e2..000000000
--- a/library/phpqrcode/cache/frame_32.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x
- ־. Dl, Mz6Ç gcJD;'.AIqމI,IrYFk%DOy|EDD(L_Y>*ߚ?aOkL_<[c>c˘uLI%#0#0#otѢ}4fv_)Eph5R881#0#0itZ#0#0#0itZ#0#0#0itZl0#09q"HܜHQ"L5}-Y׾k`>z鸳4&p!!`:5 \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_32.png b/library/phpqrcode/cache/frame_32.png
deleted file mode 100644
index 58d42db3c..000000000
--- a/library/phpqrcode/cache/frame_32.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_33.dat b/library/phpqrcode/cache/frame_33.dat
deleted file mode 100644
index a2613755a..000000000
--- a/library/phpqrcode/cache/frame_33.dat
+++ /dev/null
@@ -1,14 +0,0 @@
-xA a޺@n7+*L++柮bb*LCc kHrjJ5Yi~0_TT}e>5b_w͟?\Rai+7W\wLUNL
-+
-+jOkc\˩|%o<kL++v
-+
-+Š>} 8
-+
-+
-+ 3g
-+
-+
-+3g@
-+
-+
-+:RXB9I=ko/Swؘٯ`gr_ٙYVSYzIefnmQoz > \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_33.png b/library/phpqrcode/cache/frame_33.png
deleted file mode 100644
index 924c728e0..000000000
--- a/library/phpqrcode/cache/frame_33.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_34.dat b/library/phpqrcode/cache/frame_34.dat
deleted file mode 100644
index 7ceb0259d..000000000
--- a/library/phpqrcode/cache/frame_34.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_34.png b/library/phpqrcode/cache/frame_34.png
deleted file mode 100644
index a477042d8..000000000
--- a/library/phpqrcode/cache/frame_34.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_35.dat b/library/phpqrcode/cache/frame_35.dat
deleted file mode 100644
index 56bc3e28e..000000000
--- a/library/phpqrcode/cache/frame_35.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_35.png b/library/phpqrcode/cache/frame_35.png
deleted file mode 100644
index d29806c60..000000000
--- a/library/phpqrcode/cache/frame_35.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_36.dat b/library/phpqrcode/cache/frame_36.dat
deleted file mode 100644
index 282c60d23..000000000
--- a/library/phpqrcode/cache/frame_36.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_36.png b/library/phpqrcode/cache/frame_36.png
deleted file mode 100644
index 96ecb4213..000000000
--- a/library/phpqrcode/cache/frame_36.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_37.dat b/library/phpqrcode/cache/frame_37.dat
deleted file mode 100644
index 015c0f24b..000000000
--- a/library/phpqrcode/cache/frame_37.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_37.png b/library/phpqrcode/cache/frame_37.png
deleted file mode 100644
index fcc51627d..000000000
--- a/library/phpqrcode/cache/frame_37.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_38.dat b/library/phpqrcode/cache/frame_38.dat
deleted file mode 100644
index 71cf53eb5..000000000
--- a/library/phpqrcode/cache/frame_38.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA0ЎuA2;Нk(gytp9$D\e^'t-aIFMSkIŤ:7|LkN8N7i}i,[WgӴ?31iN}}=OM:4)SL2eʔ)SL#$ JJM:}]L٧SQL2eʔ)SL2աPt(:)SL2eʔ)S:ECq2eʔ)SL2eʔECѡ8O2eʔ)SL2eTCѡPL2eʔ)SL2ݓsJCIKԂi93n_ +Ri4\g;% }an \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_38.png b/library/phpqrcode/cache/frame_38.png
deleted file mode 100644
index 89238f3c5..000000000
--- a/library/phpqrcode/cache/frame_38.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_39.dat b/library/phpqrcode/cache/frame_39.dat
deleted file mode 100644
index 53511f736..000000000
--- a/library/phpqrcode/cache/frame_39.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_39.png b/library/phpqrcode/cache/frame_39.png
deleted file mode 100644
index 1dc9cd1bc..000000000
--- a/library/phpqrcode/cache/frame_39.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_4.dat b/library/phpqrcode/cache/frame_4.dat
deleted file mode 100644
index 67b30e82a..000000000
--- a/library/phpqrcode/cache/frame_4.dat
+++ /dev/null
@@ -1 +0,0 @@
-x E=u pجQCOM'ˏ$ @3eF\FNXRyؾC{a8R Ńa2@qkH1(`cj~0ܨعnXGĀ \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_4.png b/library/phpqrcode/cache/frame_4.png
deleted file mode 100644
index b72f9e70d..000000000
--- a/library/phpqrcode/cache/frame_4.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_40.dat b/library/phpqrcode/cache/frame_40.dat
deleted file mode 100644
index 90d36dd13..000000000
--- a/library/phpqrcode/cache/frame_40.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA@Ь@o7`Qfe䕫PA><?jjo5WNizyW&]߅C?IrW^;8
-s<ðS{9^gE}><]߳bZn^AQ}[9^]ynajM܇K̘1cƌ3f̘1{W5}{7lMޚxI<Kαyl3f̘1cƌ3f̘1ۻٻ={αyl3f̘1cƌ3f̘1ۻٻ={αyl3f̘1cƌ3f̘1ۻٻ={αyl3f̘1cƌ3f̘1ۻٻ={αyl3f̘1cƌ3f̘SʑӒ7HK޼g\u_r'4[-]qL8ƝY1q!/(% \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_40.png b/library/phpqrcode/cache/frame_40.png
deleted file mode 100644
index 8034d862d..000000000
--- a/library/phpqrcode/cache/frame_40.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_5.dat b/library/phpqrcode/cache/frame_5.dat
deleted file mode 100644
index d5dafe186..000000000
--- a/library/phpqrcode/cache/frame_5.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 Eu7ЛZ|ND B0@R$l,->VKZ[<zqƎYJ&i嚂Zy:Y'YV&eR"sjr+.MƎ9zs, \ No newline at end of file
diff --git a/library/phpqrcode/cache/frame_5.png b/library/phpqrcode/cache/frame_5.png
deleted file mode 100644
index 96b6494f3..000000000
--- a/library/phpqrcode/cache/frame_5.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_6.dat b/library/phpqrcode/cache/frame_6.dat
deleted file mode 100644
index 0fc3d039e..000000000
--- a/library/phpqrcode/cache/frame_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_6.png b/library/phpqrcode/cache/frame_6.png
deleted file mode 100644
index 05ca358b0..000000000
--- a/library/phpqrcode/cache/frame_6.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_7.dat b/library/phpqrcode/cache/frame_7.dat
deleted file mode 100644
index 43375960f..000000000
--- a/library/phpqrcode/cache/frame_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_7.png b/library/phpqrcode/cache/frame_7.png
deleted file mode 100644
index 7d2ff4f3e..000000000
--- a/library/phpqrcode/cache/frame_7.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_8.dat b/library/phpqrcode/cache/frame_8.dat
deleted file mode 100644
index 669b325f3..000000000
--- a/library/phpqrcode/cache/frame_8.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_8.png b/library/phpqrcode/cache/frame_8.png
deleted file mode 100644
index db1f1877a..000000000
--- a/library/phpqrcode/cache/frame_8.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_9.dat b/library/phpqrcode/cache/frame_9.dat
deleted file mode 100644
index d79295ee0..000000000
--- a/library/phpqrcode/cache/frame_9.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/frame_9.png b/library/phpqrcode/cache/frame_9.png
deleted file mode 100644
index 74ddf08da..000000000
--- a/library/phpqrcode/cache/frame_9.png
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_101_0.dat b/library/phpqrcode/cache/mask_0/mask_101_0.dat
deleted file mode 100644
index 51deabaef..000000000
--- a/library/phpqrcode/cache/mask_0/mask_101_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_105_0.dat b/library/phpqrcode/cache/mask_0/mask_105_0.dat
deleted file mode 100644
index 97e9e5dff..000000000
--- a/library/phpqrcode/cache/mask_0/mask_105_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_109_0.dat b/library/phpqrcode/cache/mask_0/mask_109_0.dat
deleted file mode 100644
index eadf83a2c..000000000
--- a/library/phpqrcode/cache/mask_0/mask_109_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x=
-0 нi9'b$t^#ii?bK[AUF徝Ƶijx]m]2-ĖK~ Vw}X&Oɓ666666yR'%lllll/hlm dl3+mͫ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_113_0.dat b/library/phpqrcode/cache/mask_0/mask_113_0.dat
deleted file mode 100644
index 5eb7f5de2..000000000
--- a/library/phpqrcode/cache/mask_0/mask_113_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x;
-0>I9+Es=ϤL1̄[FZU4?i<;7;P#W-[ݯ6ddddddc",;"sk摑Q&erw######L.摑Иy1^˲\3 v \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_117_0.dat b/library/phpqrcode/cache/mask_0/mask_117_0.dat
deleted file mode 100644
index 781c7f875..000000000
--- a/library/phpqrcode/cache/mask_0/mask_117_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0 }OrR,#3,o5Cq:;;wvNJZG=m} ѱ2iRkj_YYYYYYYYe_/WVVVVVVkd-Ϻ,#OZc]|{ž$ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_121_0.dat b/library/phpqrcode/cache/mask_0/mask_121_0.dat
deleted file mode 100644
index 68810c347..000000000
--- a/library/phpqrcode/cache/mask_0/mask_121_0.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 О/w YMS8>2SFOEcW\ۼ{cpKGBКmxhfffffff/s22W|*d1*5̬RWas\xm~8߮r0wjsdm&y \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_125_0.dat b/library/phpqrcode/cache/mask_0/mask_125_0.dat
deleted file mode 100644
index 2c73ef1a8..000000000
--- a/library/phpqrcode/cache/mask_0/mask_125_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
- н_TH`3AOL4 k(ewGW. #2} \Ygggggggggg_d>j^s;;;;;;;;;;'q;;;;;;;;;'˰qu_PYw{e=dG/ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_129_0.dat b/library/phpqrcode/cache/mask_0/mask_129_0.dat
deleted file mode 100644
index 812ee8a66..000000000
--- a/library/phpqrcode/cache/mask_0/mask_129_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- /*DE'hgt-}_pV \"b=s[J=8Dho۞' 0X ۴e0`  j" 0`Wf`^P0`2Ȁ  d07(<Oo 6 S \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_133_0.dat b/library/phpqrcode/cache/mask_0/mask_133_0.dat
deleted file mode 100644
index 03b41d36d..000000000
--- a/library/phpqrcode/cache/mask_0/mask_133_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0 нI9Ty)<4hNSҚ]Z?[H<uFI7R` ,XE޹˴]Wgy ,X`!Y# ,X`<"# ,X`<bg!,X`WyO 4ѷwf>Y/XLGby"pT \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_137_0.dat b/library/phpqrcode/cache/mask_0/mask_137_0.dat
deleted file mode 100644
index f6d993b03..000000000
--- a/library/phpqrcode/cache/mask_0/mask_137_0.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 О/+FZ?J L7Ժ*Ba%L~˻ʓCJYIWJ .K]R0a„ $INTwlLaL0a„ &Ld@PO0a„ &L0e@P?a„ &L0aDe@ &L0aMIlL&)dlgacR<$v,ɺ?U2] \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_141_0.dat b/library/phpqrcode/cache/mask_0/mask_141_0.dat
deleted file mode 100644
index 8c685c8ea..000000000
--- a/library/phpqrcode/cache/mask_0/mask_141_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x=
-0 нi9'EDx͘%<l[Z|ZPN NM7;mfovm 6-wޥ}yaÆ 6lذn_teivƾٰaÆ 6lȚY.fÆ 6lذa#kSldM 6lذaÆ YS֔56lذaÆ 6m$& 3dyecS&NL;&< \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_145_0.dat b/library/phpqrcode/cache/mask_0/mask_145_0.dat
deleted file mode 100644
index 9c9c1ae19..000000000
--- a/library/phpqrcode/cache/mask_0/mask_145_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x;
-0>I9+E{$m^&uS"D6ڟ]98UMbҾY[2拉Ĉ#F1bĈ%iRN潝ѳ#;#F1bĈN1i#F1bĈ#FtZ}Nk1bĈ#F1bktZ;#F1bFV-u"IoD-*7uj>bMV+ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_149_0.dat b/library/phpqrcode/cache/mask_0/mask_149_0.dat
deleted file mode 100644
index d25835029..000000000
--- a/library/phpqrcode/cache/mask_0/mask_149_0.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xA
- н_MEQXP৞.|94e{JLv#^n[ ?;
-ZIV-*w˒1*+VXbŊXgwqX}JRYbŊ+VXbeΠwfeΠ^bŊ+VXbʜAʜAbŊ+VXbŊ9ٜAbŊ+VXbŊl0*0Tj`?Ϊ;X=zZr* \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_153_0.dat b/library/phpqrcode/cache/mask_0/mask_153_0.dat
deleted file mode 100644
index fc79e9ede..000000000
--- a/library/phpqrcode/cache/mask_0/mask_153_0.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 Н/礑h&F`Ҽ@I;PZ^X͌mf.=5 [if-R+!wr˜g\j̘1cƌ3f̘1cfo.2?1z `ƌ3f̘1cƌzƌ3f̘1cƌ3fztf3f̘1cƌ3f̘kk030cƌ3f̘1c9;Ď`vf͚̆ZϘW9 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_157_0.dat b/library/phpqrcode/cache/mask_0/mask_157_0.dat
deleted file mode 100644
index ad749f305..000000000
--- a/library/phpqrcode/cache/mask_0/mask_157_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
- н_QRY k*q͵=j7~nN.p%ڵsi.رcǎ;vر{.-W2={mgy+رcǎ;vɳ2;yּcǎ;vرcNɳ;vرcǎ;v2<NVcǎ;vرge2vyǎ;vرc];v"ޝ]e';[{|A \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_161_0.dat b/library/phpqrcode/cache/mask_0/mask_161_0.dat
deleted file mode 100644
index 4bdc5fdd3..000000000
--- a/library/phpqrcode/cache/mask_0/mask_161_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_165_0.dat b/library/phpqrcode/cache/mask_0/mask_165_0.dat
deleted file mode 100644
index 3a17a0510..000000000
--- a/library/phpqrcode/cache/mask_0/mask_165_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x;
-0>I9+DyI4ˠ5:Wvdqߜܴ<d2x%[U%2]&K,Ydɒ%ˡ,S՗r2yd=,k_{Xdɒ%K,Yd)0m,Ydɒ%K,Yd)0m,Ydɒ%K,Yme,e%K,Ydɒ%K,eq Ò%K,Ydɒe:<!YV,:Bd|O$*# \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_169_0.dat b/library/phpqrcode/cache/mask_0/mask_169_0.dat
deleted file mode 100644
index c4787d9db..000000000
--- a/library/phpqrcode/cache/mask_0/mask_169_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0>I9EQ=Ls I{ZtR}Sn:|R[?_*SL2eʔ)SL&ϦI O2O2eʔ)SL2e*C1PPSL2eʔ)SLP22)SL2eʔ)SLe(}2)SL2eʔ)SLe(}2)SL2eʔ)Sic7;"ޙFͦސٙvL ^2}oO'r \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_173_0.dat b/library/phpqrcode/cache/mask_0/mask_173_0.dat
deleted file mode 100644
index 5ef85e7ad..000000000
--- a/library/phpqrcode/cache/mask_0/mask_173_0.dat
+++ /dev/null
@@ -1 +0,0 @@
-x10ޯT [4v2ƽok݇;Ӳ]f֞dljlG0n+߻mG˖-[lٲe"Y}oV[lٲe˖-[lٲeհՃ[2lٲe˖-[lٲeհՃ[2lٲe˖-[lٲeհՃ[lٲe˖-[lٲeValٲe˖-[lٲef[BmаE;N-ۜT/rl?* \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_177_0.dat b/library/phpqrcode/cache/mask_0/mask_177_0.dat
deleted file mode 100644
index 78a26a77b..000000000
--- a/library/phpqrcode/cache/mask_0/mask_177_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0>I9+?߁iև d̹xֈxN/է|{ظ8d0h=cFf̘1cƌ3f̘qq=w6;l4cƕ<nj3f̘1cƌ3fXһ1ֻcƌ3f̘1cƌ3fXbwnj3f̘1cƌ3f̘M'X&1cƌ3f̘1cƌ3ֻnn1cƌ3f̘1cƌÍ3U< \7+(<OƌΊnj4@ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_21_0.dat b/library/phpqrcode/cache/mask_0/mask_21_0.dat
deleted file mode 100644
index 368c9941f..000000000
--- a/library/phpqrcode/cache/mask_0/mask_21_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_25_0.dat b/library/phpqrcode/cache/mask_0/mask_25_0.dat
deleted file mode 100644
index e4a5b6d8a..000000000
--- a/library/phpqrcode/cache/mask_0/mask_25_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_29_0.dat b/library/phpqrcode/cache/mask_0/mask_29_0.dat
deleted file mode 100644
index 74a216b4f..000000000
--- a/library/phpqrcode/cache/mask_0/mask_29_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_33_0.dat b/library/phpqrcode/cache/mask_0/mask_33_0.dat
deleted file mode 100644
index 2ec712a7a..000000000
--- a/library/phpqrcode/cache/mask_0/mask_33_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_37_0.dat b/library/phpqrcode/cache/mask_0/mask_37_0.dat
deleted file mode 100644
index 1588cfce1..000000000
--- a/library/phpqrcode/cache/mask_0/mask_37_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_41_0.dat b/library/phpqrcode/cache/mask_0/mask_41_0.dat
deleted file mode 100644
index e369027e3..000000000
--- a/library/phpqrcode/cache/mask_0/mask_41_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_45_0.dat b/library/phpqrcode/cache/mask_0/mask_45_0.dat
deleted file mode 100644
index 452f126c8..000000000
--- a/library/phpqrcode/cache/mask_0/mask_45_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_49_0.dat b/library/phpqrcode/cache/mask_0/mask_49_0.dat
deleted file mode 100644
index fdd2aac15..000000000
--- a/library/phpqrcode/cache/mask_0/mask_49_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK E9o#?H/6g$-,X]
-xݘ; X԰9<Ѻq2AfH7/5We{#fި?4=N > \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_53_0.dat b/library/phpqrcode/cache/mask_0/mask_53_0.dat
deleted file mode 100644
index 572d279ef..000000000
--- a/library/phpqrcode/cache/mask_0/mask_53_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK
-@!йoQϺ:(m&s-6Z{m4YX.F٭XZij=:έ֋b忑VH 8 #[Y^Xe \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_57_0.dat b/library/phpqrcode/cache/mask_0/mask_57_0.dat
deleted file mode 100644
index ea81e6dc6..000000000
--- a/library/phpqrcode/cache/mask_0/mask_57_0.dat
+++ /dev/null
@@ -1,4 +0,0 @@
-xA
- {^s=YL՚ (
-ouj) 
-Z7yv,ԴwVQ iGiҤDfەwo4ѤoLLȼ}4 h \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_61_0.dat b/library/phpqrcode/cache/mask_0/mask_61_0.dat
deleted file mode 100644
index 93d2444d8..000000000
--- a/library/phpqrcode/cache/mask_0/mask_61_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_65_0.dat b/library/phpqrcode/cache/mask_0/mask_65_0.dat
deleted file mode 100644
index df29d7bfb..000000000
--- a/library/phpqrcode/cache/mask_0/mask_65_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_0/mask_69_0.dat b/library/phpqrcode/cache/mask_0/mask_69_0.dat
deleted file mode 100644
index 8a2cfbd7c..000000000
--- a/library/phpqrcode/cache/mask_0/mask_69_0.dat
+++ /dev/null
@@ -1 +0,0 @@
-xK =_+mBd|Q"s+1"),=Ea T"ŐnE-3 ,KYw=ZZT .,K1#<XBt<a b#x/;X. \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_73_0.dat b/library/phpqrcode/cache/mask_0/mask_73_0.dat
deleted file mode 100644
index 3de460662..000000000
--- a/library/phpqrcode/cache/mask_0/mask_73_0.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 /FSM(7/JTmeӕls|)YYUS%7{i(L0mo짻'wDŽ {=Όc)2֦~Lz)vZ5O2]=? \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_77_0.dat b/library/phpqrcode/cache/mask_0/mask_77_0.dat
deleted file mode 100644
index 2717fd86b..000000000
--- a/library/phpqrcode/cache/mask_0/mask_77_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA D}Or0B/;bHp/*KE7G/_l}xMP
-[(筊ZޛlI6lضeϷO^ 6,,6l&l& ^Wc}m5uE;e \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_81_0.dat b/library/phpqrcode/cache/mask_0/mask_81_0.dat
deleted file mode 100644
index 2d9a052fc..000000000
--- a/library/phpqrcode/cache/mask_0/mask_81_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1 ὧi9'BߠEMpo#
-& a6)c~b 1߱ߧ|Y$F1Nq_.31bĈ~M`Ĉco{B807dtvf \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_85_0.dat b/library/phpqrcode/cache/mask_0/mask_85_0.dat
deleted file mode 100644
index eb8197b20..000000000
--- a/library/phpqrcode/cache/mask_0/mask_85_0.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- =INEZ_ m EVqy2Yh,S[gUXJkd.~>֞!Ŋ+V嬪.2XbŊ+VX.kBzwձ̀gkYZ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_89_0.dat b/library/phpqrcode/cache/mask_0/mask_89_0.dat
deleted file mode 100644
index aaa4c5267..000000000
--- a/library/phpqrcode/cache/mask_0/mask_89_0.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 ὧi9'Hl?L^"&M?bq?˸,9!z]VScƌ3_c!`n3f̘1č 3f̘1/f>.Uc˻; 2;Y+7 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_93_0.dat b/library/phpqrcode/cache/mask_0/mask_93_0.dat
deleted file mode 100644
index e218fa0ef..000000000
--- a/library/phpqrcode/cache/mask_0/mask_93_0.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xK
- EyV,OmޠrPH0{2bc{tQ]
-{Q{{弬֒ǎ;v_ڳ}L}l߱cǎ;v̑̑̑رcǎ.Legw3qeѾ@i \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_0/mask_97_0.dat b/library/phpqrcode/cache/mask_0/mask_97_0.dat
deleted file mode 100644
index 74ac719d0..000000000
--- a/library/phpqrcode/cache/mask_0/mask_97_0.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_101_1.dat b/library/phpqrcode/cache/mask_1/mask_101_1.dat
deleted file mode 100644
index ec939b521..000000000
--- a/library/phpqrcode/cache/mask_1/mask_101_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- н\QEd  1N<#Ֆ-7u.lԦeiXXXXXRZVVeIo1,,,,,v%?gaaaaY K&K=/+ۍ˱ގ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_105_1.dat b/library/phpqrcode/cache/mask_1/mask_105_1.dat
deleted file mode 100644
index e1f5c99b4..000000000
--- a/library/phpqrcode/cache/mask_1/mask_105_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 Ӕ_Υb KB?"*#WʘtgӎJqUM9TLLvǤLLLLLLzgG01111yiߘ4m=՛n+2 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_109_1.dat b/library/phpqrcode/cache/mask_1/mask_109_1.dat
deleted file mode 100644
index 7e0d6d164..000000000
--- a/library/phpqrcode/cache/mask_1/mask_109_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-xֱ >ӘK}:!iY'*3]fsmb[JƶŖK9}cccccc'u.6Ʀs6666R[^g{/lٷ 7͂ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_113_1.dat b/library/phpqrcode/cache/mask_1/mask_113_1.dat
deleted file mode 100644
index 1dd666d9b..000000000
--- a/library/phpqrcode/cache/mask_1/mask_113_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1  -8fL(pBlDM9";-;?1p{\%-3:@ad4*Nadddddd########c]751xYu \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_117_1.dat b/library/phpqrcode/cache/mask_1/mask_117_1.dat
deleted file mode 100644
index 8921f6437..000000000
--- a/library/phpqrcode/cache/mask_1/mask_117_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xֻ >ӘK$^ 8YQSV'z8jzʇ^]סekXYYYYYYYjݵ#
-+yeeeeeeee#WVVVVVVVV;"+yeeeeeeel'e;b&^9{/J$p \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_121_1.dat b/library/phpqrcode/cache/mask_1/mask_121_1.dat
deleted file mode 100644
index 64bd8ba04..000000000
--- a/library/phpqrcode/cache/mask_1/mask_121_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- н\CPbїE<DGdQG̪3k?3s9_z9i|3W3,Wr7Y`asd^gۚ4 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_125_1.dat b/library/phpqrcode/cache/mask_1/mask_125_1.dat
deleted file mode 100644
index d5881dd5d..000000000
--- a/library/phpqrcode/cache/mask_1/mask_125_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- н\:҂>$DdƩYtڅλ0$ήꝝga7yٯ痽Y??{{D \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_129_1.dat b/library/phpqrcode/cache/mask_1/mask_129_1.dat
deleted file mode 100644
index 62cd1c9a1..000000000
--- a/library/phpqrcode/cache/mask_1/mask_129_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_133_1.dat b/library/phpqrcode/cache/mask_1/mask_133_1.dat
deleted file mode 100644
index 18d68dce8..000000000
--- a/library/phpqrcode/cache/mask_1/mask_133_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 Ӕ_΅hh|"zۉ-*dNHQĢRÂ ,X`c9Y(na_` ,X,X,X` #:8  ,X`Bd¾` ,X|ϢY\X; 7-; ` \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_137_1.dat b/library/phpqrcode/cache/mask_1/mask_137_1.dat
deleted file mode 100644
index 284d7beab..000000000
--- a/library/phpqrcode/cache/mask_1/mask_137_1.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-x1
-0 ӤKh]D,-t #ڌQ[T Ks7_?9|B&X^L0a„&3„M&L0a„ &2D4c0a„ &LȀЌe„ &L0abwȀf,&L0a„7&y2anoL<01O
- \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_141_1.dat b/library/phpqrcode/cache/mask_1/mask_141_1.dat
deleted file mode 100644
index 83220ddb4..000000000
--- a/library/phpqrcode/cache/mask_1/mask_141_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- >946)3$`s uʮ>Wd )g'M{3\d6ubذaÆ 6lؼn]Nذ9FްaÆ 6lذa3a#oذaÆ 6lذذ5e16lذaÆ ]Sbk6lذaÆ mͤ;CcfIdsG \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_145_1.dat b/library/phpqrcode/cache/mask_1/mask_145_1.dat
deleted file mode 100644
index 6a9950f7a..000000000
--- a/library/phpqrcode/cache/mask_1/mask_145_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x!0@k 4a)q2i.YCUO{35UZFn]fN>bdwtzJF}F1bĈ#F(F6r1bĈ#F1E1ilF1bĈ#FtF#F1bĈ#FtZ}##F1bĈleHGܣ@ٝ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_149_1.dat b/library/phpqrcode/cache/mask_1/mask_149_1.dat
deleted file mode 100644
index 02a3cdc6e..000000000
--- a/library/phpqrcode/cache/mask_1/mask_149_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 Ӕ_΅qH_Xci#Gd̘Ք՛gLU^ݮVR>dKVXbŊ+VXeoXJ_bŊ+VXb;ݙ+}Ŋ+VXbŊ+VAVngŊ+VXbŊ}+ +VXbŊVj>hewf*`uTq \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_153_1.dat b/library/phpqrcode/cache/mask_1/mask_153_1.dat
deleted file mode 100644
index 2abfca20b..000000000
--- a/library/phpqrcode/cache/mask_1/mask_153_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0\9btEc'HH9efߞmffM#.̘1cƌ3f̘1cf73f̘g̘1cƌ3f̘1co2c]?3f̘1cƌ3f5Mf3f̘1cƌ3f̘17utf3f̘1cƌ3f̘=lj3>V \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_157_1.dat b/library/phpqrcode/cache/mask_1/mask_157_1.dat
deleted file mode 100644
index 17344b891..000000000
--- a/library/phpqrcode/cache/mask_1/mask_157_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- >94Sd/51V)SkJv7eGcǎ;vرc]Zٱc'رcǎ;vر+رg;vرcǎ;}V`N+رcǎ;v:;v;vرcǎ;;}Vޱcǎ;vص'vz#;]klwoA` \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_161_1.dat b/library/phpqrcode/cache/mask_1/mask_161_1.dat
deleted file mode 100644
index 669ade1b8..000000000
--- a/library/phpqrcode/cache/mask_1/mask_161_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x10_΅Xš yi~Qbkvp7'M u=]([ 2dȐ +\' 2 2dȐ!C 2s0/3d() 2dȐ!C 241dh 2dȐ!C 2dhcȐ<dȐ!C 2dȐy!CyMaȐ!C 2d0 ^4[E2 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_165_1.dat b/library/phpqrcode/cache/mask_1/mask_165_1.dat
deleted file mode 100644
index abb48f0b1..000000000
--- a/library/phpqrcode/cache/mask_1/mask_165_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 Ӕ_ΥLK^#FYWt%ˍ4rM,QXdɒ%K,YdҼdɒ%K,Ydɒ%K%K %K,Ydɒ%Kv2$Kv,Ydɒ%K,Yʐ8K楷%K,Ydɒ%K2$K,K,Ydɒ%K,ZVK<βyy ) \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_169_1.dat b/library/phpqrcode/cache/mask_1/mask_169_1.dat
deleted file mode 100644
index ba21b710b..000000000
--- a/library/phpqrcode/cache/mask_1/mask_169_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 н_ M,B^ 5*VKNn2NNOi6>SL2eʔ)SL2M SLSL2eʔ)SL2M}LSSL2eʔ)SLeSy)SŔ)SL2eʔ)S;ٔ)S;)SL2eʔ)Sv()Sv()SL2eʔ)SLdT6}a*3mljmzC' \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_173_1.dat b/library/phpqrcode/cache/mask_1/mask_173_1.dat
deleted file mode 100644
index 436918c0b..000000000
--- a/library/phpqrcode/cache/mask_1/mask_173_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 Ӕ_Υ''@y]X1?"g:1犝fn˶˻mm.?lٲe˖-F>glٲ2lٲe˖-[lٲeO`˖e˖-[lٲe˖-[l lٲlٲe˖-[lٲeVO`˖e˖-[lٲe˖-[z0}[z0y˖-[lٲe˖-[Ee[hOVWö=t*| \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_177_1.dat b/library/phpqrcode/cache/mask_1/mask_177_1.dat
deleted file mode 100644
index 12e2e522f..000000000
--- a/library/phpqrcode/cache/mask_1/mask_177_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 Ep0X,a#r}6}nj~\8ƌ3f̘1cƌ7{3f,y3f̘1cƌ3fX_`X&3f̘1cƌ3f̘M_1cy̘1cƌ3f̘1cƌ+3f,y3f̘1cƌ3fX_bX&3f̘1cƌ3fx2dX'x[cy| 3 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_21_1.dat b/library/phpqrcode/cache/mask_1/mask_21_1.dat
deleted file mode 100644
index f87e0a112..000000000
--- a/library/phpqrcode/cache/mask_1/mask_21_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_25_1.dat b/library/phpqrcode/cache/mask_1/mask_25_1.dat
deleted file mode 100644
index 3a225e30f..000000000
--- a/library/phpqrcode/cache/mask_1/mask_25_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_29_1.dat b/library/phpqrcode/cache/mask_1/mask_29_1.dat
deleted file mode 100644
index 0a1cb3b5d..000000000
--- a/library/phpqrcode/cache/mask_1/mask_29_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_33_1.dat b/library/phpqrcode/cache/mask_1/mask_33_1.dat
deleted file mode 100644
index 318949df0..000000000
--- a/library/phpqrcode/cache/mask_1/mask_33_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_37_1.dat b/library/phpqrcode/cache/mask_1/mask_37_1.dat
deleted file mode 100644
index 5bd9e3aa0..000000000
--- a/library/phpqrcode/cache/mask_1/mask_37_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_41_1.dat b/library/phpqrcode/cache/mask_1/mask_41_1.dat
deleted file mode 100644
index 52e9e58f4..000000000
--- a/library/phpqrcode/cache/mask_1/mask_41_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_45_1.dat b/library/phpqrcode/cache/mask_1/mask_45_1.dat
deleted file mode 100644
index b35c567dc..000000000
--- a/library/phpqrcode/cache/mask_1/mask_45_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_49_1.dat b/library/phpqrcode/cache/mask_1/mask_49_1.dat
deleted file mode 100644
index d20d71710..000000000
--- a/library/phpqrcode/cache/mask_1/mask_49_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_53_1.dat b/library/phpqrcode/cache/mask_1/mask_53_1.dat
deleted file mode 100644
index a676d7dfa..000000000
--- a/library/phpqrcode/cache/mask_1/mask_53_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_57_1.dat b/library/phpqrcode/cache/mask_1/mask_57_1.dat
deleted file mode 100644
index 896ed4357..000000000
--- a/library/phpqrcode/cache/mask_1/mask_57_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_61_1.dat b/library/phpqrcode/cache/mask_1/mask_61_1.dat
deleted file mode 100644
index 4165a4bd2..000000000
--- a/library/phpqrcode/cache/mask_1/mask_61_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x30CbpPi`@&H^nadQG{n<vZGMkv=j7⠳9mn7<h \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_65_1.dat b/library/phpqrcode/cache/mask_1/mask_65_1.dat
deleted file mode 100644
index db8db88a8..000000000
--- a/library/phpqrcode/cache/mask_1/mask_65_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_69_1.dat b/library/phpqrcode/cache/mask_1/mask_69_1.dat
deleted file mode 100644
index 03bba657f..000000000
--- a/library/phpqrcode/cache/mask_1/mask_69_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_73_1.dat b/library/phpqrcode/cache/mask_1/mask_73_1.dat
deleted file mode 100644
index a729fdf04..000000000
--- a/library/phpqrcode/cache/mask_1/mask_73_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_77_1.dat b/library/phpqrcode/cache/mask_1/mask_77_1.dat
deleted file mode 100644
index 0fe0b03e8..000000000
--- a/library/phpqrcode/cache/mask_1/mask_77_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_81_1.dat b/library/phpqrcode/cache/mask_1/mask_81_1.dat
deleted file mode 100644
index eacbdb1a2..000000000
--- a/library/phpqrcode/cache/mask_1/mask_81_1.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_1/mask_85_1.dat b/library/phpqrcode/cache/mask_1/mask_85_1.dat
deleted file mode 100644
index b8a20c754..000000000
--- a/library/phpqrcode/cache/mask_1/mask_85_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- н\]4AA hM\QjsAkUjmun2RΚ5:k;jƲ[eo[o[kZ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_89_1.dat b/library/phpqrcode/cache/mask_1/mask_89_1.dat
deleted file mode 100644
index e9d226f35..000000000
--- a/library/phpqrcode/cache/mask_1/mask_89_1.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 Ӕ_΅Nh}%@ iDOH*c"<g)<mBswja.av7Affff極2淾5 uح9| \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_93_1.dat b/library/phpqrcode/cache/mask_1/mask_93_1.dat
deleted file mode 100644
index f37836c61..000000000
--- a/library/phpqrcode/cache/mask_1/mask_93_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x;
- >_.4Iy킎`)-5*(of[sm}6YM ;;;;;G{zطz1vw}=wuL%?"=~ei \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_1/mask_97_1.dat b/library/phpqrcode/cache/mask_1/mask_97_1.dat
deleted file mode 100644
index 24fa60fc3..000000000
--- a/library/phpqrcode/cache/mask_1/mask_97_1.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0н1\tncK<Di3#Gdgt(lxVP9F7lia``````ސq/]5 vne``````x-mX^35,y-# \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_101_2.dat b/library/phpqrcode/cache/mask_2/mask_101_2.dat
deleted file mode 100644
index e39fd2cf1..000000000
--- a/library/phpqrcode/cache/mask_2/mask_101_2.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-x1
- нC Ux!?1e)s*KۮLfBP(J֮ܨx/
-Ba(2 BP(2 EP(ʲRS(%qWRSiY \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_105_2.dat b/library/phpqrcode/cache/mask_2/mask_105_2.dat
deleted file mode 100644
index 7b63e31ba..000000000
--- a/library/phpqrcode/cache/mask_2/mask_105_2.dat
+++ /dev/null
@@ -1 +0,0 @@
-x! @\Mip4s 6ꙑYs"7&)=; ܌"H$ҏ;|IH$Dt#}OH$DHH$IZ#HgKJt$ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_109_2.dat b/library/phpqrcode/cache/mask_2/mask_109_2.dat
deleted file mode 100644
index 252f6d807..000000000
--- a/library/phpqrcode/cache/mask_2/mask_109_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0н1\@Nֈ<q##v-e~_[h46JKFjFh4E'i4Fɓ4yFhZEcS-;&j \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_113_2.dat b/library/phpqrcode/cache/mask_2/mask_113_2.dat
deleted file mode 100644
index 26b5d7eab..000000000
--- a/library/phpqrcode/cache/mask_2/mask_113_2.dat
+++ /dev/null
@@ -1 +0,0 @@
-x10_šЪ0ځD\5*{#bH'o+vUR1PD"H$>D"H$DH$D"Q&WerH$D"*x[(?/'nd \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_117_2.dat b/library/phpqrcode/cache/mask_2/mask_117_2.dat
deleted file mode 100644
index b4dcce46f..000000000
--- a/library/phpqrcode/cache/mask_2/mask_117_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- >94!m dOs\0X,la5#E>Z[ַRT*JR?Q-*T*JR?UW*JRTݟ+JRԤ~m5;S&+ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_121_2.dat b/library/phpqrcode/cache/mask_2/mask_121_2.dat
deleted file mode 100644
index a2a0097b1..000000000
--- a/library/phpqrcode/cache/mask_2/mask_121_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_125_2.dat b/library/phpqrcode/cache/mask_2/mask_125_2.dat
deleted file mode 100644
index 0ea40fdae..000000000
--- a/library/phpqrcode/cache/mask_2/mask_125_2.dat
+++ /dev/null
@@ -1 +0,0 @@
-x! PӔ_@ U(kp@^Mڮ5-:VF_\t:NtyNqt:NtG;Nt:.8:NtzA}yNq;+n& \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_129_2.dat b/library/phpqrcode/cache/mask_2/mask_129_2.dat
deleted file mode 100644
index bf048394b..000000000
--- a/library/phpqrcode/cache/mask_2/mask_129_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0н_KVڡ'.!w]A0X~  !࣠fK# xFy4 vey@^+  ~  L#veI \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_133_2.dat b/library/phpqrcode/cache/mask_2/mask_133_2.dat
deleted file mode 100644
index 9e78b6de5..000000000
--- a/library/phpqrcode/cache/mask_2/mask_133_2.dat
+++ /dev/null
@@ -1,10 +0,0 @@
-x1
- н&`LQ-g=Aqbʪ<vb+)((((((((In*<bG(((((((((
-y{AAAAAAAA!)
-
-
-
-
-
-
-'eMfv{ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_137_2.dat b/library/phpqrcode/cache/mask_2/mask_137_2.dat
deleted file mode 100644
index 95c3c48cd..000000000
--- a/library/phpqrcode/cache/mask_2/mask_137_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- н\NI,/d+ʣ`/F|5*z'H.,xO[KKMBBBBBBT|?!!98$$$$$$$$$$2 hȀ$2yBBBBBBBBBB"eȀ ɟ$I%ɿۓHb_x \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_141_2.dat b/library/phpqrcode/cache/mask_2/mask_141_2.dat
deleted file mode 100644
index da07da2e8..000000000
--- a/library/phpqrcode/cache/mask_2/mask_141_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x=
- нt*-?M[hU]WB;dwSj>l fƄȚ44& )OȚYF4444444444c4~9S:3ЌטpǮ> \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_145_2.dat b/library/phpqrcode/cache/mask_2/mask_145_2.dat
deleted file mode 100644
index 9ff2bbf3f..000000000
--- a/library/phpqrcode/cache/mask_2/mask_145_2.dat
+++ /dev/null
@@ -1,4 +0,0 @@
-x1
- нr]
-,tQ^&C~
-щj~mɾ.FgMDDDDDDDDDDDST׈DHdZL+ɴDDDDDDDDDDD2-'"""""""":BתEYDd \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_149_2.dat b/library/phpqrcode/cache/mask_2/mask_149_2.dat
deleted file mode 100644
index d52e0484b..000000000
--- a/library/phpqrcode/cache/mask_2/mask_149_2.dat
+++ /dev/null
@@ -1 +0,0 @@
-x;@/gcaGBXB'-ˆouէUQdRVOmT*ǫ;;j廝Ee2PQQQQQQQQQQQ TTTTTTTTTTTTr33R &Tskz_e2P=d \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_153_2.dat b/library/phpqrcode/cache/mask_2/mask_153_2.dat
deleted file mode 100644
index 3b0604101..000000000
--- a/library/phpqrcode/cache/mask_2/mask_153_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0 Ӥ8ZP!BZu賶"bu*)]MFFFFFFFFFFFF%= #ddddddddddddr ot2yFFFFFFFFFFFF& #k5L 2222222222(Y7"d@H \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_157_2.dat b/library/phpqrcode/cache/mask_2/mask_157_2.dat
deleted file mode 100644
index 2baf535e2..000000000
--- a/library/phpqrcode/cache/mask_2/mask_157_2.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-x1
-0>s6MqUH1X&U̘f/u-'.[KGGGGGGGGGGH|NG(ttttttttttNF;::::::::::}Nz$
->n A#^AG(t =3{ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_161_2.dat b/library/phpqrcode/cache/mask_2/mask_161_2.dat
deleted file mode 100644
index d2df7594e..000000000
--- a/library/phpqrcode/cache/mask_2/mask_161_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_165_2.dat b/library/phpqrcode/cache/mask_2/mask_165_2.dat
deleted file mode 100644
index 2e6cd7c6f..000000000
--- a/library/phpqrcode/cache/mask_2/mask_165_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0 Ӥ?BVUG%*+_fs MIIIIIIIII2d;l4()))))))))))eqJنIDIIIIIIIIIII)۠mPRRRRRRRRRRR6l JJJJJJJJJJJJن}RaQRRRRRRRRRRNeK?R퐔͔&W3U \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_169_2.dat b/library/phpqrcode/cache/mask_2/mask_169_2.dat
deleted file mode 100644
index 4052062b8..000000000
--- a/library/phpqrcode/cache/mask_2/mask_169_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_173_2.dat b/library/phpqrcode/cache/mask_2/mask_173_2.dat
deleted file mode 100644
index 0a30ba530..000000000
--- a/library/phpqrcode/cache/mask_2/mask_173_2.dat
+++ /dev/null
@@ -1 +0,0 @@
-x+@ Pift:>y &d U߬S[]5Z;a5V۞A[Z˴VՃI0ZZZZZZZZZZZZZZ=-Lhi`VFK?ݧhioJ0}o \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_177_2.dat b/library/phpqrcode/cache/mask_2/mask_177_2.dat
deleted file mode 100644
index d2c52f990..000000000
--- a/library/phpqrcode/cache/mask_2/mask_177_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- E>Y4V$~ ,C&U;Ook5bϙGx9%&&&&&&&&&&&n$OL|v#&&&&&&&&&&&&&bbݍXw#&l7bbbbbbbbbbbbbbM"l7bbbbbbbbbbbbbbMa!&݈3)U<WܱW/݈# n \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_21_2.dat b/library/phpqrcode/cache/mask_2/mask_21_2.dat
deleted file mode 100644
index 7466be4bb..000000000
--- a/library/phpqrcode/cache/mask_2/mask_21_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_25_2.dat b/library/phpqrcode/cache/mask_2/mask_25_2.dat
deleted file mode 100644
index 0bc44c034..000000000
--- a/library/phpqrcode/cache/mask_2/mask_25_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_29_2.dat b/library/phpqrcode/cache/mask_2/mask_29_2.dat
deleted file mode 100644
index 5112d11ef..000000000
--- a/library/phpqrcode/cache/mask_2/mask_29_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_33_2.dat b/library/phpqrcode/cache/mask_2/mask_33_2.dat
deleted file mode 100644
index 5bac0c80d..000000000
--- a/library/phpqrcode/cache/mask_2/mask_33_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_37_2.dat b/library/phpqrcode/cache/mask_2/mask_37_2.dat
deleted file mode 100644
index bdfc0bd43..000000000
--- a/library/phpqrcode/cache/mask_2/mask_37_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_41_2.dat b/library/phpqrcode/cache/mask_2/mask_41_2.dat
deleted file mode 100644
index c55c63e8c..000000000
--- a/library/phpqrcode/cache/mask_2/mask_41_2.dat
+++ /dev/null
@@ -1 +0,0 @@
-x30C JB&ùШQ*JXi@l0U>*F> \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_45_2.dat b/library/phpqrcode/cache/mask_2/mask_45_2.dat
deleted file mode 100644
index ad44ff188..000000000
--- a/library/phpqrcode/cache/mask_2/mask_45_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_49_2.dat b/library/phpqrcode/cache/mask_2/mask_49_2.dat
deleted file mode 100644
index 6e8edff24..000000000
--- a/library/phpqrcode/cache/mask_2/mask_49_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_53_2.dat b/library/phpqrcode/cache/mask_2/mask_53_2.dat
deleted file mode 100644
index 682cae2aa..000000000
--- a/library/phpqrcode/cache/mask_2/mask_53_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_57_2.dat b/library/phpqrcode/cache/mask_2/mask_57_2.dat
deleted file mode 100644
index 66a5c056b..000000000
--- a/library/phpqrcode/cache/mask_2/mask_57_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_61_2.dat b/library/phpqrcode/cache/mask_2/mask_61_2.dat
deleted file mode 100644
index 77d3815eb..000000000
--- a/library/phpqrcode/cache/mask_2/mask_61_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_65_2.dat b/library/phpqrcode/cache/mask_2/mask_65_2.dat
deleted file mode 100644
index caf184ada..000000000
--- a/library/phpqrcode/cache/mask_2/mask_65_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_69_2.dat b/library/phpqrcode/cache/mask_2/mask_69_2.dat
deleted file mode 100644
index 6a3801bf5..000000000
--- a/library/phpqrcode/cache/mask_2/mask_69_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_73_2.dat b/library/phpqrcode/cache/mask_2/mask_73_2.dat
deleted file mode 100644
index 74945b718..000000000
--- a/library/phpqrcode/cache/mask_2/mask_73_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_77_2.dat b/library/phpqrcode/cache/mask_2/mask_77_2.dat
deleted file mode 100644
index 903cba4a0..000000000
--- a/library/phpqrcode/cache/mask_2/mask_77_2.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 н_CM>Gt ѫe+FWZEm&gއFѶhF+t/FYvFj[*7a \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_81_2.dat b/library/phpqrcode/cache/mask_2/mask_81_2.dat
deleted file mode 100644
index 17a9ac2a1..000000000
--- a/library/phpqrcode/cache/mask_2/mask_81_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0н_KҩVi!O\"A]:xbW1uȦ&_T ΋6H$U^D~bׯb=gX \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_85_2.dat b/library/phpqrcode/cache/mask_2/mask_85_2.dat
deleted file mode 100644
index 72c74ff9a..000000000
--- a/library/phpqrcode/cache/mask_2/mask_85_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0=1\B7O$A0$8Wwjguu槊RT*uS֧JRTJRRޢN浘V \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_89_2.dat b/library/phpqrcode/cache/mask_2/mask_89_2.dat
deleted file mode 100644
index 06c9a4fe3..000000000
--- a/library/phpqrcode/cache/mask_2/mask_89_2.dat
+++ /dev/null
@@ -1 +0,0 @@
-xٱ 0 >/&E*cQqŃ zf$rM<sa#d2L&?ArYd2LG"3L&{Rygw; I \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_2/mask_93_2.dat b/library/phpqrcode/cache/mask_2/mask_93_2.dat
deleted file mode 100644
index f5202963d..000000000
--- a/library/phpqrcode/cache/mask_2/mask_93_2.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_2/mask_97_2.dat b/library/phpqrcode/cache/mask_2/mask_97_2.dat
deleted file mode 100644
index 38842b989..000000000
--- a/library/phpqrcode/cache/mask_2/mask_97_2.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0н_KivH4 <q  #ʩs-TUS_Y@ kDI@ VJ aPt0C8% \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_101_3.dat b/library/phpqrcode/cache/mask_3/mask_101_3.dat
deleted file mode 100644
index fa9925121..000000000
--- a/library/phpqrcode/cache/mask_3/mask_101_3.dat
+++ /dev/null
@@ -1 +0,0 @@
-xK EyWS9'D1񟾪p /9Ёu,ku9Ҥ$%ݭwALb%ClAzq۴붌b!ĤwX4`_'FWr!b&t1<FWr!bXyC 1ĆӇ)E{WٯAӅgL1]-&ƼLqn \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_105_3.dat b/library/phpqrcode/cache/mask_3/mask_105_3.dat
deleted file mode 100644
index d8a28ce98..000000000
--- a/library/phpqrcode/cache/mask_3/mask_105_3.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 D~O3r6@(1'J}4gk97A=ip}wZJo8JB=Cs= =;HzT.z衇z{{{T.z衇z{{{T.z衇zoS$PThE%Կbߞr\RL$ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_109_3.dat b/library/phpqrcode/cache/mask_3/mask_109_3.dat
deleted file mode 100644
index 48d94040e..000000000
--- a/library/phpqrcode/cache/mask_3/mask_109_3.dat
+++ /dev/null
@@ -1 +0,0 @@
-x1 D~O3r6 O(;V6sy>)_%s_d3KO1^aL,$H"$KzRPt[I&X9$H"$I$ysI$DI$ɓI$I$Dɍ%es!=LAZ5'̓IVrn/2oƅ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_113_3.dat b/library/phpqrcode/cache/mask_3/mask_113_3.dat
deleted file mode 100644
index 023b27304..000000000
--- a/library/phpqrcode/cache/mask_3/mask_113_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0 D}NrnDFj2KCt?WݲZi.qoP %Smj7ަ:*N:@:***fW9d2*j*}S@`*j৪6Jlѿ}}էTUa24hnt \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_117_3.dat b/library/phpqrcode/cache/mask_3/mask_117_3.dat
deleted file mode 100644
index 79cc04d14..000000000
--- a/library/phpqrcode/cache/mask_3/mask_117_3.dat
+++ /dev/null
@@ -1,4 +0,0 @@
-x1
-0 ]Q.xIB$?~!<Q?#5/tIJ8owi{}S^~q猉P„ &L0J1ϻݢDK'JÄ &L0ᝅn
-0a„ &LxgaG*&L0a{
-g{2sΉ~7\]%rJ9nZ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_121_3.dat b/library/phpqrcode/cache/mask_3/mask_121_3.dat
deleted file mode 100644
index aff5a7be5..000000000
--- a/library/phpqrcode/cache/mask_3/mask_121_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_125_3.dat b/library/phpqrcode/cache/mask_3/mask_125_3.dat
deleted file mode 100644
index e2febdbdd..000000000
--- a/library/phpqrcode/cache/mask_3/mask_125_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- ~N3rۄ]BБ'?</̼V۵ ҏ<0-_J[? +w^;*yɓ'O</9ɯ9<yƜ'O<yɓ'J^aț6 yɓ'O<G{icΓ'O<yP |]Z֤Iee:[~?<mJ_N: \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_129_3.dat b/library/phpqrcode/cache/mask_3/mask_129_3.dat
deleted file mode 100644
index b1ce63b74..000000000
--- a/library/phpqrcode/cache/mask_3/mask_129_3.dat
+++ /dev/null
@@ -1,8 +0,0 @@
-xA
- н6!n G<q4h/G?;hsLSTOj 2#
-Dy`ܫP@
-\B4*yt$
-(P / 򂼠#Q@
-yA^t$
-(P@ / D
-(\.`ɛjoCS ;R;R.I \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_133_3.dat b/library/phpqrcode/cache/mask_3/mask_133_3.dat
deleted file mode 100644
index f4181507a..000000000
--- a/library/phpqrcode/cache/mask_3/mask_133_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_137_3.dat b/library/phpqrcode/cache/mask_3/mask_137_3.dat
deleted file mode 100644
index e24ac5b51..000000000
--- a/library/phpqrcode/cache/mask_3/mask_137_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0}NrnFHS YQ|ZEfu,% $ujG:zou,:OsYďe:tIsj|+N5dltСC:t;b:MѡC:t9hH6F:tСCǽڨ{A%dC:tN$^ur dV'\wjSt;U'[,7 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_141_3.dat b/library/phpqrcode/cache/mask_3/mask_141_3.dat
deleted file mode 100644
index a3f6a2480..000000000
--- a/library/phpqrcode/cache/mask_3/mask_141_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0}N{˹)%]jf /d!uOUc0}a4R9_T~`_ R[Tծn1ݒ"E)RH-*p~HܥJ԰g"E)RHJҧ42L?RH"E)RiR滀g"E)RH >z#E)RHZ@bl-)ݿ<ߧ*OUR"5&5*ie J]+ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_145_3.dat b/library/phpqrcode/cache/mask_3/mask_145_3.dat
deleted file mode 100644
index 338b7e7a8..000000000
--- a/library/phpqrcode/cache/mask_3/mask_145_3.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-x
-@|:^ Jy̡yMj-'
-9VS֦K9e)PyUwe-m jԨQF5jԨRi٫F4_wk}0+jRBRF5jԨQeOMBJHjԨQF5jwP״˪IH I5jԨQFͳc w5jԨQF:zS*2UZ_C*e_OZ%dIȯb \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_149_3.dat b/library/phpqrcode/cache/mask_3/mask_149_3.dat
deleted file mode 100644
index 30bc5fabc..000000000
--- a/library/phpqrcode/cache/mask_3/mask_149_3.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA0}Oܠ⦐H頯'Z2{oV|Ι%>yR{!8ÂI+JpI|#f5κ[P A $H Q})&<E JQ)J A $H s5z%H A $H4A^5A)*E $H A $ 3MHQ $H A 3ާ`Po>X{ט+Wb`I)5%d \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_153_3.dat b/library/phpqrcode/cache/mask_3/mask_153_3.dat
deleted file mode 100644
index 89cdec031..000000000
--- a/library/phpqrcode/cache/mask_3/mask_153_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0}Ns˹)7mJ,}8X=cW^GeN<v]]bIͯ_gY+Mjvˋt&M4iҤI&Mxޜu~o[~4W55I&M4iҤIS5MLi5-M4iҤI&M4oiz`z@SjZ4iҤI&M4izs(VҤI&M4iҤYzK 6ϛ:=_h67m6mM{H \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_157_3.dat b/library/phpqrcode/cache/mask_3/mask_157_3.dat
deleted file mode 100644
index 167e6f844..000000000
--- a/library/phpqrcode/cache/mask_3/mask_157_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_161_3.dat b/library/phpqrcode/cache/mask_3/mask_161_3.dat
deleted file mode 100644
index 72a26a4fc..000000000
--- a/library/phpqrcode/cache/mask_3/mask_161_3.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xA
-0}NrnFTk,N Zђf7J:ƒ^`WٔUnXڤǧM-#V+ߡ+9zҖY l)SLocʱO_C?ߩ%;*KlM2eʔ)SL2Ye][bSL2eʔ)SLyVYlWG[bSL2eʔ)SL
-]g+$eʔ)SL2eʔ/qBbKlʔ)SL2eqʙ]£{A/~V9\%[P#' \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_165_3.dat b/library/phpqrcode/cache/mask_3/mask_165_3.dat
deleted file mode 100644
index 870af8f4f..000000000
--- a/library/phpqrcode/cache/mask_3/mask_165_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0}N3T #Z YuÏ:̛1ϱEUTT|S q)m-sG B.Cĉ'N8qğwv7['tg!.ե:qĉ'N8qv`_+.ե:qĉ'N8qv`R8qĉ'N8qΤ8"ե:qĉ'N8qĝIяہq&EKuĉ'N8q+9:}kFT?^ЏGo<0իCg/_ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_169_3.dat b/library/phpqrcode/cache/mask_3/mask_169_3.dat
deleted file mode 100644
index 943109526..000000000
--- a/library/phpqrcode/cache/mask_3/mask_169_3.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA0}O3rn񷾦 )}'31Eh]4P[ _]Kv<˙fp#y_l[geӧO>}o%uJV/{%O>}ӧO}K~O>}ӧO>Q=/ї>}ӧO>}u{ח>}ӧO>}u{蟪/%?}ӧO>}ׯ.N4<Ozzlzz W/_yp \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_173_3.dat b/library/phpqrcode/cache/mask_3/mask_173_3.dat
deleted file mode 100644
index 746698627..000000000
--- a/library/phpqrcode/cache/mask_3/mask_173_3.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA0}O3rnPkTTyM$&e/|"ֵdjuy[aiK{M S&z[BUBRIC!n5\w4B $@ $[”3cE^%xw  A:@ $@ $@ $BfID A:@ $@ $@ $p͒f%H@ $@ $@ $@BR %  $@ $@ $@ )$h4K$L  $@ $@ $@³_{Pg۴y>჏VMmRt(1| \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_177_3.dat b/library/phpqrcode/cache/mask_3/mask_177_3.dat
deleted file mode 100644
index 9586979a1..000000000
--- a/library/phpqrcode/cache/mask_3/mask_177_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_21_3.dat b/library/phpqrcode/cache/mask_3/mask_21_3.dat
deleted file mode 100644
index bcb4eec49..000000000
--- a/library/phpqrcode/cache/mask_3/mask_21_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_25_3.dat b/library/phpqrcode/cache/mask_3/mask_25_3.dat
deleted file mode 100644
index 0ffc375fc..000000000
--- a/library/phpqrcode/cache/mask_3/mask_25_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_29_3.dat b/library/phpqrcode/cache/mask_3/mask_29_3.dat
deleted file mode 100644
index 6150ac128..000000000
--- a/library/phpqrcode/cache/mask_3/mask_29_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_33_3.dat b/library/phpqrcode/cache/mask_3/mask_33_3.dat
deleted file mode 100644
index 6053b5e39..000000000
--- a/library/phpqrcode/cache/mask_3/mask_33_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_37_3.dat b/library/phpqrcode/cache/mask_3/mask_37_3.dat
deleted file mode 100644
index 5dea5b9cb..000000000
--- a/library/phpqrcode/cache/mask_3/mask_37_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_41_3.dat b/library/phpqrcode/cache/mask_3/mask_41_3.dat
deleted file mode 100644
index ca9ddc2aa..000000000
--- a/library/phpqrcode/cache/mask_3/mask_41_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_45_3.dat b/library/phpqrcode/cache/mask_3/mask_45_3.dat
deleted file mode 100644
index 3daad97f8..000000000
--- a/library/phpqrcode/cache/mask_3/mask_45_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK
- DsFJ(&)0dЇFg![8=&iaD)d8&Aլa 1'II׳79 ex߾ I&֝CuJy \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_49_3.dat b/library/phpqrcode/cache/mask_3/mask_49_3.dat
deleted file mode 100644
index 7f6508ddd..000000000
--- a/library/phpqrcode/cache/mask_3/mask_49_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_53_3.dat b/library/phpqrcode/cache/mask_3/mask_53_3.dat
deleted file mode 100644
index 8800beab1..000000000
--- a/library/phpqrcode/cache/mask_3/mask_53_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK
-0Ds ! -(.Bp&|"-t&`qQ-"9_+)Be/H8D%a~}spKFN=,;;a^t4\FSN \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_57_3.dat b/library/phpqrcode/cache/mask_3/mask_57_3.dat
deleted file mode 100644
index 4e1e5da38..000000000
--- a/library/phpqrcode/cache/mask_3/mask_57_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_61_3.dat b/library/phpqrcode/cache/mask_3/mask_61_3.dat
deleted file mode 100644
index bf1a3cc7f..000000000
--- a/library/phpqrcode/cache/mask_3/mask_61_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0fz4-%*dp!yZܫu(~=&ۓ)R2"/"<9FΊ=rb"/rw"2B#3-0-KW \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_65_3.dat b/library/phpqrcode/cache/mask_3/mask_65_3.dat
deleted file mode 100644
index 85892089b..000000000
--- a/library/phpqrcode/cache/mask_3/mask_65_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xQ
- D4\?R ,!O-Nv1:cZu "UMÕF ~jK-la[^q^Q\=o-laZpUB @IKJzɢ|1Í  \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_69_3.dat b/library/phpqrcode/cache/mask_3/mask_69_3.dat
deleted file mode 100644
index 55318a87b..000000000
--- a/library/phpqrcode/cache/mask_3/mask_69_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x
-0 {&2'd l=,Fy;$쇤WE-R:%T,O2g"",Ȣ/DyĈɧ{O䮳",:NvEWN#(&,,]x؅ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_73_3.dat b/library/phpqrcode/cache/mask_3/mask_73_3.dat
deleted file mode 100644
index 15be77f64..000000000
--- a/library/phpqrcode/cache/mask_3/mask_73_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xQ
-0 C{g;JJ?dԬK=RasJhTJ6exka\$nIE,-/XB*х=wee4t̒tLщtt߫b gFf qoddn-? \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_77_3.dat b/library/phpqrcode/cache/mask_3/mask_77_3.dat
deleted file mode 100644
index ec7828044..000000000
--- a/library/phpqrcode/cache/mask_3/mask_77_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0 &BiRaK"t`I@|fXyilE:Sza18GifK*?:YC1쌞졘(ቷJ*jl*TRIKR^ؙks)c)c)JZa \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_81_3.dat b/library/phpqrcode/cache/mask_3/mask_81_3.dat
deleted file mode 100644
index 47bc0f793..000000000
--- a/library/phpqrcode/cache/mask_3/mask_81_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
- F=\,JGAġhj>#3X:kԹ\FM Jhu3>TZ{PSgP'kVjժU_ۯUV=P oO:Wҝj[Wxm 5 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_85_3.dat b/library/phpqrcode/cache/mask_3/mask_85_3.dat
deleted file mode 100644
index 02c4f8cdb..000000000
--- a/library/phpqrcode/cache/mask_3/mask_85_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_3/mask_89_3.dat b/library/phpqrcode/cache/mask_3/mask_89_3.dat
deleted file mode 100644
index 2b4cb59fc..000000000
--- a/library/phpqrcode/cache/mask_3/mask_89_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1 ὧ) *.@U |eŵ6ۢw5*) oiK4nk>1}d>@ 4XYCo ۡ1<AhFt
- 4@51Wr>7G}}x7|NgN \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_93_3.dat b/library/phpqrcode/cache/mask_3/mask_93_3.dat
deleted file mode 100644
index b4cc8a971..000000000
--- a/library/phpqrcode/cache/mask_3/mask_93_3.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0 D}NrnJɪQ~B06na<<ׇe6MRCP L̓i9M 2 LkŮdDv*"aXjBdAddZTdAdqY0exqeN&WVQvc \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_3/mask_97_3.dat b/library/phpqrcode/cache/mask_3/mask_97_3.dat
deleted file mode 100644
index 7adc9ebaa..000000000
--- a/library/phpqrcode/cache/mask_3/mask_97_3.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_101_4.dat b/library/phpqrcode/cache/mask_4/mask_101_4.dat
deleted file mode 100644
index 1c97dc048..000000000
--- a/library/phpqrcode/cache/mask_4/mask_101_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA Fs^1bИ]4m+8+Ve^HR]\c
-oWN#X+l HEcp \^.9qW9":.BB \0aPǨcp \ONqjpG}}$.˅ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_105_4.dat b/library/phpqrcode/cache/mask_4/mask_105_4.dat
deleted file mode 100644
index 0211cdb3a..000000000
--- a/library/phpqrcode/cache/mask_4/mask_105_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK
-0 D=Mr˹A TeEFL2 #鹢_I!딤Ѻ-իkmO]sS T6*'8 N$'NZ^<JvNsNp''8 1{p?N¿nJBυ^[i'iHI-m+W \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_109_4.dat b/library/phpqrcode/cache/mask_4/mask_109_4.dat
deleted file mode 100644
index 2cc0c815d..000000000
--- a/library/phpqrcode/cache/mask_4/mask_109_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_113_4.dat b/library/phpqrcode/cache/mask_4/mask_113_4.dat
deleted file mode 100644
index 99bd73f69..000000000
--- a/library/phpqrcode/cache/mask_4/mask_113_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
- н_Jb)t&BBK_ֳ6C+5/q_ghfCbH+p;WK?Gt *G9r|c`c9FKHq49rȑ#DžUG*G9r>}rU*G9r|c[cN[_=׫5^J 1*qv \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_117_4.dat b/library/phpqrcode/cache/mask_4/mask_117_4.dat
deleted file mode 100644
index 386725918..000000000
--- a/library/phpqrcode/cache/mask_4/mask_117_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x
- н_s]4Dgn2Jj}ҾRsSWGRɧ)5Em#ܯk_"z3\rʕ+r Lk|/{;'<W:̕+W\rU=l3|sʕ+W\;woZrʕ+\sKzeSהz83u#Wubjd $ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_121_4.dat b/library/phpqrcode/cache/mask_4/mask_121_4.dat
deleted file mode 100644
index 84957eb7b..000000000
--- a/library/phpqrcode/cache/mask_4/mask_121_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_125_4.dat b/library/phpqrcode/cache/mask_4/mask_125_4.dat
deleted file mode 100644
index b98dc813a..000000000
--- a/library/phpqrcode/cache/mask_4/mask_125_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_129_4.dat b/library/phpqrcode/cache/mask_4/mask_129_4.dat
deleted file mode 100644
index 8ecfa2508..000000000
--- a/library/phpqrcode/cache/mask_4/mask_129_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_133_4.dat b/library/phpqrcode/cache/mask_4/mask_133_4.dat
deleted file mode 100644
index 69f83acbd..000000000
--- a/library/phpqrcode/cache/mask_4/mask_133_4.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xA
- н_ҚBB2f{
-cfgKq=)ڮWlK2޿8:oCRd\p\p@+$EQ.\p\#>/#\p\p># \p\p#>qp\p.$Iq dGR_4  \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_137_4.dat b/library/phpqrcode/cache/mask_4/mask_137_4.dat
deleted file mode 100644
index 0c09c487c..000000000
--- a/library/phpqrcode/cache/mask_4/mask_137_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_141_4.dat b/library/phpqrcode/cache/mask_4/mask_141_4.dat
deleted file mode 100644
index 62b03f243..000000000
--- a/library/phpqrcode/cache/mask_4/mask_141_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_145_4.dat b/library/phpqrcode/cache/mask_4/mask_145_4.dat
deleted file mode 100644
index 33fb21124..000000000
--- a/library/phpqrcode/cache/mask_4/mask_145_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_149_4.dat b/library/phpqrcode/cache/mask_4/mask_149_4.dat
deleted file mode 100644
index de99310f3..000000000
--- a/library/phpqrcode/cache/mask_4/mask_149_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x
-!н_sm +XӋ9=.=Zka]ޒ> Kjo |SSWKZm׌j\Ъ2 W\qW\q"~ jvtv_\qW\qW\q%g3 }+++ r9ArW\qW\qŕA g3WA W\qW\qW]V~v{D3Ȝ!\W^<r/ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_153_4.dat b/library/phpqrcode/cache/mask_4/mask_153_4.dat
deleted file mode 100644
index e827dd16f..000000000
--- a/library/phpqrcode/cache/mask_4/mask_153_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x10ޯsi,')p!4.;WUmj=.NO>Tڍ[S7vۜgq?
-{peo383838{YXz,_OYfe3s38383\C!Ms38383r \C?37938383\C!07M8383q,mMrskWv3~W WB \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_157_4.dat b/library/phpqrcode/cache/mask_4/mask_157_4.dat
deleted file mode 100644
index ad5fcf69d..000000000
--- a/library/phpqrcode/cache/mask_4/mask_157_4.dat
+++ /dev/null
@@ -1 +0,0 @@
-x10ޯs4"FP=iRX¢X0멪u 4ftl}m➭S|юS P5<]rwqwq^QN6ÏZsߙ,wqwqǝ>Μ5g;;Y}Vgw,wqwqw>9wqwq>3gY;[ww?P3Ƙggt퐮;].3w4A \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_161_4.dat b/library/phpqrcode/cache/mask_4/mask_161_4.dat
deleted file mode 100644
index 7604c4540..000000000
--- a/library/phpqrcode/cache/mask_4/mask_161_4.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA@ fs!AL_|,4l)iml׉0' +E ]N\x#2/_{7g9쏼ٷ}2r!?}-#<Zχj"P>Te9C9C9~6Sʇ겺!r!r!ۘse9C9C94_Ɯ|.r!r!s/s0 2r!r8}DwrDXΡ|x|!2 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_165_4.dat b/library/phpqrcode/cache/mask_4/mask_165_4.dat
deleted file mode 100644
index d83d63165..000000000
--- a/library/phpqrcode/cache/mask_4/mask_165_4.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xA
-1 }Or."*?fPLHIkΫZQ8
-Gyqk-n5+?|֎kKnEŹK.K.?2.|EJ{2<:.Ku\K.K.ǝmu)_8\r%\r%\Џ;'2!_8\r%\r%\Џ;'2!_\r%\r%\rinC?nn9 RK.K.;.HqY'ݽNF?K㕢,R| My*3 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_169_4.dat b/library/phpqrcode/cache/mask_4/mask_169_4.dat
deleted file mode 100644
index 4aac95c1e..000000000
--- a/library/phpqrcode/cache/mask_4/mask_169_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_173_4.dat b/library/phpqrcode/cache/mask_4/mask_173_4.dat
deleted file mode 100644
index 9df4d865d..000000000
--- a/library/phpqrcode/cache/mask_4/mask_173_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK
-1}Nrna ~ZY!Jt^5(/jkz[pj_?~v:|jwՖ_mXzo6?n<j$p-r-_p[z=VQ3TVo r-r-r-r09Lߚ r-r-r-r09Lߚ r-r-r-r09Lߚ r-r-r-r09Lߚ r-r-rv6?,e`=*K6ڭ~6 * \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_177_4.dat b/library/phpqrcode/cache/mask_4/mask_177_4.dat
deleted file mode 100644
index 6437d2511..000000000
--- a/library/phpqrcode/cache/mask_4/mask_177_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-!.1BMy![ c\cZV\q7EOzg~k˿j;pgu[*7׽Tp1s1sq!㠊w/r8X~lc9c9c9nr7~l0Wp1s1s1nr7~l0Wp1s1s1nr7~+8c9c9cnr7M+8c9c9toEǙNXy[R+cqN\,4J \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_21_4.dat b/library/phpqrcode/cache/mask_4/mask_21_4.dat
deleted file mode 100644
index e006b67e4..000000000
--- a/library/phpqrcode/cache/mask_4/mask_21_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_25_4.dat b/library/phpqrcode/cache/mask_4/mask_25_4.dat
deleted file mode 100644
index 0c7c44bbb..000000000
--- a/library/phpqrcode/cache/mask_4/mask_25_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_29_4.dat b/library/phpqrcode/cache/mask_4/mask_29_4.dat
deleted file mode 100644
index c28dc20e8..000000000
--- a/library/phpqrcode/cache/mask_4/mask_29_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_33_4.dat b/library/phpqrcode/cache/mask_4/mask_33_4.dat
deleted file mode 100644
index 5834b6fb5..000000000
--- a/library/phpqrcode/cache/mask_4/mask_33_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_37_4.dat b/library/phpqrcode/cache/mask_4/mask_37_4.dat
deleted file mode 100644
index 4bf2e26ed..000000000
--- a/library/phpqrcode/cache/mask_4/mask_37_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_41_4.dat b/library/phpqrcode/cache/mask_4/mask_41_4.dat
deleted file mode 100644
index b75b7d052..000000000
--- a/library/phpqrcode/cache/mask_4/mask_41_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_45_4.dat b/library/phpqrcode/cache/mask_4/mask_45_4.dat
deleted file mode 100644
index 1b921f300..000000000
--- a/library/phpqrcode/cache/mask_4/mask_45_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_49_4.dat b/library/phpqrcode/cache/mask_4/mask_49_4.dat
deleted file mode 100644
index e417f9476..000000000
--- a/library/phpqrcode/cache/mask_4/mask_49_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_53_4.dat b/library/phpqrcode/cache/mask_4/mask_53_4.dat
deleted file mode 100644
index 7e88826dd..000000000
--- a/library/phpqrcode/cache/mask_4/mask_53_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_57_4.dat b/library/phpqrcode/cache/mask_4/mask_57_4.dat
deleted file mode 100644
index 84669c7d6..000000000
--- a/library/phpqrcode/cache/mask_4/mask_57_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_61_4.dat b/library/phpqrcode/cache/mask_4/mask_61_4.dat
deleted file mode 100644
index d127c3be2..000000000
--- a/library/phpqrcode/cache/mask_4/mask_61_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_65_4.dat b/library/phpqrcode/cache/mask_4/mask_65_4.dat
deleted file mode 100644
index c24343d94..000000000
--- a/library/phpqrcode/cache/mask_4/mask_65_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK DtXЙ.4E1^hvOxW0 JHŻz[^܈[v
-yyZk=`vcǃ<ȃ<C/)zܑ C"" \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_69_4.dat b/library/phpqrcode/cache/mask_4/mask_69_4.dat
deleted file mode 100644
index a73b1144d..000000000
--- a/library/phpqrcode/cache/mask_4/mask_69_4.dat
+++ /dev/null
@@ -1 +0,0 @@
-x;0CwN\~;C$3$<)/meΥT2 :]^VV%zAnpvs"yyy)zdu6Gȋi^/<trrr)9ͤlr. \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_73_4.dat b/library/phpqrcode/cache/mask_4/mask_73_4.dat
deleted file mode 100644
index 72f89227e..000000000
--- a/library/phpqrcode/cache/mask_4/mask_73_4.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xA
-0 yM顴)1-lE3=}(9TdE/eO ZOŻKY;pS5+NI|
-"ev+DݓNs'OWkI̞Fri9& ]?A \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_77_4.dat b/library/phpqrcode/cache/mask_4/mask_77_4.dat
deleted file mode 100644
index 993c48608..000000000
--- a/library/phpqrcode/cache/mask_4/mask_77_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x
-0E?jFe80 uN0lB6:h<Ce\, ܗ~& rd0 Sz7z+oVu:7zWo S)mo3 Oy;:*h>aCe \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_81_4.dat b/library/phpqrcode/cache/mask_4/mask_81_4.dat
deleted file mode 100644
index dd6521613..000000000
--- a/library/phpqrcode/cache/mask_4/mask_81_4.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xA
-0 yMyXE m7"892ѸQ1ݳ+xx;t35DIY1x\:u}e/ #Th<
-UBz<5G<5{G<5<饫>]Urxu \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_85_4.dat b/library/phpqrcode/cache/mask_4/mask_85_4.dat
deleted file mode 100644
index c8d5123e2..000000000
--- a/library/phpqrcode/cache/mask_4/mask_85_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_4/mask_89_4.dat b/library/phpqrcode/cache/mask_4/mask_89_4.dat
deleted file mode 100644
index 5b9bd7ec3..000000000
--- a/library/phpqrcode/cache/mask_4/mask_89_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x1
-0 ὧI9%  Vڀfr0}z=#9ҕ:~s1BՁg&4pgq.p.&gT05rgsgqrg捯u38k.Egmb*&7? : \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_93_4.dat b/library/phpqrcode/cache/mask_4/mask_93_4.dat
deleted file mode 100644
index be7f5e525..000000000
--- a/library/phpqrcode/cache/mask_4/mask_93_4.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK
- ὧIn$}PŌB]N@%sfkҫ}CzoA}aʽ2|~D&l=Ywq}q\EYjK_ywqwz$==;_݋>+pH9Di \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_4/mask_97_4.dat b/library/phpqrcode/cache/mask_4/mask_97_4.dat
deleted file mode 100644
index 5d848caad..000000000
--- a/library/phpqrcode/cache/mask_4/mask_97_4.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_101_5.dat b/library/phpqrcode/cache/mask_5/mask_101_5.dat
deleted file mode 100644
index c21869e83..000000000
--- a/library/phpqrcode/cache/mask_5/mask_101_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x
- E+%=M3Cbv ѬNkûgqkqq{%Oo,iKee3[|iVh]` ` 0ʕz˴T0Gu/q8F13:W>#ȕ0c0Q8E=F#+a X͞+cV%9W>Q]TkY-gLqD艋 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_105_5.dat b/library/phpqrcode/cache/mask_5/mask_105_5.dat
deleted file mode 100644
index bc8798c64..000000000
--- a/library/phpqrcode/cache/mask_5/mask_105_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_109_5.dat b/library/phpqrcode/cache/mask_5/mask_109_5.dat
deleted file mode 100644
index 25a394402..000000000
--- a/library/phpqrcode/cache/mask_5/mask_109_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_113_5.dat b/library/phpqrcode/cache/mask_5/mask_113_5.dat
deleted file mode 100644
index 25f42b8b2..000000000
--- a/library/phpqrcode/cache/mask_5/mask_113_5.dat
+++ /dev/null
@@ -1,9 +0,0 @@
-x
-0D^6I63[[EDqc+jy81\c
-7c?u}DK4},kkg--3[UƂyUXUXSV:ϫ՝,|кS⫰
-
-
-Vɫ*X[*
-
-
-zU*NV*JUXUXSXijTi4fZkU^_~Ux }ծZ/r \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_117_5.dat b/library/phpqrcode/cache/mask_5/mask_117_5.dat
deleted file mode 100644
index f236940de..000000000
--- a/library/phpqrcode/cache/mask_5/mask_117_5.dat
+++ /dev/null
@@ -1 +0,0 @@
-x D|Mn/*{M+pI_&m-ѾC32u?o-kgB7wc=U%yoRhӯșDo:ֶyRJkQ^aaaqOgiJ ;qOg)ӊ0 0 0 [vö>=>0 0 0 Ofz3=>0 0 0.3Z$׷8\pw4:Zp:qX 7 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_121_5.dat b/library/phpqrcode/cache/mask_5/mask_121_5.dat
deleted file mode 100644
index 9bb5c4158..000000000
--- a/library/phpqrcode/cache/mask_5/mask_121_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_125_5.dat b/library/phpqrcode/cache/mask_5/mask_125_5.dat
deleted file mode 100644
index 2161c50a4..000000000
--- a/library/phpqrcode/cache/mask_5/mask_125_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
- E&fc;S$?؏Q4YahûyJ}9g==li.;nh_wz.qCWȧy uPk;<<<|*q, mkWqNl% yyyy^2䰅sX|aaaa3ϙ9lH<<<<̿웁[n`Tq8^vy \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_129_5.dat b/library/phpqrcode/cache/mask_5/mask_129_5.dat
deleted file mode 100644
index f0c1d6502..000000000
--- a/library/phpqrcode/cache/mask_5/mask_129_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_133_5.dat b/library/phpqrcode/cache/mask_5/mask_133_5.dat
deleted file mode 100644
index 46be8b094..000000000
--- a/library/phpqrcode/cache/mask_5/mask_133_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0 DѽOcr]4%1mCTxΜ[Dv={FEϏq?ݿ9keѭ}'2^c4G:3=JK-F0`#Hw'#<{~Z4 :BG舻F0`G~:`#?#tw-`#?##t#F0r}Q}eR;<CV}їY-H \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_137_5.dat b/library/phpqrcode/cache/mask_5/mask_137_5.dat
deleted file mode 100644
index 064e7f2f3..000000000
--- a/library/phpqrcode/cache/mask_5/mask_137_5.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-x
-0 >M/k1mX=hsH"k M:3qOW}9ԖIH1G;- sڶ?[%M
- v#;zg^3d}69Ψޙ@7҄#gv`;׳ީ\$wlv`v;ލ}7wߑa;vkA#gv`=N2wxgWӤ@n?c}SQ:Zd?+9vz)P \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_141_5.dat b/library/phpqrcode/cache/mask_5/mask_141_5.dat
deleted file mode 100644
index 60c1a8e81..000000000
--- a/library/phpqrcode/cache/mask_5/mask_141_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_145_5.dat b/library/phpqrcode/cache/mask_5/mask_145_5.dat
deleted file mode 100644
index 9303c07f9..000000000
--- a/library/phpqrcode/cache/mask_5/mask_145_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_149_5.dat b/library/phpqrcode/cache/mask_5/mask_149_5.dat
deleted file mode 100644
index 4256cefd0..000000000
--- a/library/phpqrcode/cache/mask_5/mask_149_5.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-x[
-0&c}-s+'^;Ax=Q_gUݏﵪxGTȺV¹UUE_IǴ;T1̠
-]W 2 2 |o5uꆬuI:(WKU躒rPAdAdA; vo_zNO{2rPA9 2 29}^O挞rwQdAdAnMA9(dAdA^W Z.+G^K`׵}`_Fk \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_153_5.dat b/library/phpqrcode/cache/mask_5/mask_153_5.dat
deleted file mode 100644
index deea09d77..000000000
--- a/library/phpqrcode/cache/mask_5/mask_153_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x
-@wfЬ`D"Ie<:au,7Of۳uP6~szs,jլcVZvߨm s^uHYu&l&l&_9 ;]^jsO;ܔrSn&l&l9yכzA rSnM6dM6dM6ރ@/$7ܔl&l&lzŽzACrSnM6dM6dOl7ᰚUuN֛FcPPS,l;HO \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_157_5.dat b/library/phpqrcode/cache/mask_5/mask_157_5.dat
deleted file mode 100644
index 176e2a69f..000000000
--- a/library/phpqrcode/cache/mask_5/mask_157_5.dat
+++ /dev/null
@@ -1 +0,0 @@
-x10Dާri( r* \~>C*vs]Ŝ_{W!zﶬ/)˙v V6V޻,f1Yb n^o>\O],,b,f1YyVgYYYb,f1+ʳ<˳<˳1YbŬ<+ʳ,,b,f1YyVgYYYb,fukys77}vmb=wsw)tW: \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_161_5.dat b/library/phpqrcode/cache/mask_5/mask_161_5.dat
deleted file mode 100644
index 70d5fb008..000000000
--- a/library/phpqrcode/cache/mask_5/mask_161_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xI
-@нDp@ o|m rHk㨤~co^Jzװ#5l¦S_92 [}ZÊ=T2ƀP2[cV衆CYf'-X9>v~usK5`e,2,2,2-///o_q}K\reYfeYf峖o+/,\feYfeYfٳexB.e2,2,̲g+l\r16,2,<v.r륆޼rO5s_ZɔuI_* \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_165_5.dat b/library/phpqrcode/cache/mask_5/mask_165_5.dat
deleted file mode 100644
index 94af813d9..000000000
--- a/library/phpqrcode/cache/mask_5/mask_165_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_169_5.dat b/library/phpqrcode/cache/mask_5/mask_169_5.dat
deleted file mode 100644
index 921a77076..000000000
--- a/library/phpqrcode/cache/mask_5/mask_169_5.dat
+++ /dev/null
@@ -1 +0,0 @@
-xj0|/niK'.r:T-m&Zx9yq3rOgvOO_zׯu`]ȷitاtiloc13j9%_g|ԧ)>>ϰ=te&_4=tU}/>>>Or5/u>/g}g}gOsvO}/g}g}ٷGo-w{r_{g}g}g_n<r_}>=n]4Nkβ_M8m?SF< \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_173_5.dat b/library/phpqrcode/cache/mask_5/mask_173_5.dat
deleted file mode 100644
index f9a674136..000000000
--- a/library/phpqrcode/cache/mask_5/mask_173_5.dat
+++ /dev/null
@@ -1,4 +0,0 @@
-x[
-0&G1gD)[CzeDѷц=RN6FJm JqP}x s_}GFy;
-[;]ek[QbTmy&0 L`̄Y?رw؛ fcVN9&0 L`ׄZ}0=F=F9ANL`&0 L`BzYfI=F9AN&0 L`&0 fIsr ' L`&0 L`<i͒"9AN&0 L`VaBX",Um>
-=wZgBΜP !8 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_177_5.dat b/library/phpqrcode/cache/mask_5/mask_177_5.dat
deleted file mode 100644
index b07c636b6..000000000
--- a/library/phpqrcode/cache/mask_5/mask_177_5.dat
+++ /dev/null
@@ -1,11 +0,0 @@
-xъ0~ܾح uO,"% :$Xui=ѶՃgƸ?Ώq.So~z׉W:=h1cq]Ƕi!r8Ɓ`+X
-V jj;8ƁX+
-oV`+X
-V?[1^h-ֳ5Z;rmS+
-oV`+X
-V;Z,YMB+
-V`+X
-VZeڦ}r\!W`+X
-V`+3Km>SB+
-V`+X
-Vc㊛{g;^Qq5ZUݮQL0+*&YDq*6 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_21_5.dat b/library/phpqrcode/cache/mask_5/mask_21_5.dat
deleted file mode 100644
index 04f97ea69..000000000
--- a/library/phpqrcode/cache/mask_5/mask_21_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_25_5.dat b/library/phpqrcode/cache/mask_5/mask_25_5.dat
deleted file mode 100644
index c20b59b1f..000000000
--- a/library/phpqrcode/cache/mask_5/mask_25_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xڝa
-@!4 ޳ʢ ?,""j?n<Oa w, l}rGM;Ϧ9[ _x|=l4lKv \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_29_5.dat b/library/phpqrcode/cache/mask_5/mask_29_5.dat
deleted file mode 100644
index 217ec1b8a..000000000
--- a/library/phpqrcode/cache/mask_5/mask_29_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xՒ]
- =M_n0W .=-4myB+ R􈋆$ƃ.=s/,+B7󳝍qz~q>=GZy:DR \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_33_5.dat b/library/phpqrcode/cache/mask_5/mask_33_5.dat
deleted file mode 100644
index 726d7fd75..000000000
--- a/library/phpqrcode/cache/mask_5/mask_33_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_37_5.dat b/library/phpqrcode/cache/mask_5/mask_37_5.dat
deleted file mode 100644
index 6d32ca6fa..000000000
--- a/library/phpqrcode/cache/mask_5/mask_37_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_41_5.dat b/library/phpqrcode/cache/mask_5/mask_41_5.dat
deleted file mode 100644
index e07c6172a..000000000
--- a/library/phpqrcode/cache/mask_5/mask_41_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xTA
- 5?7XMtxҴx ?@7@~"N$Sɰ{+CA'r\Pp<ޏ- ͺ:S3sԉۻީz#qw > \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_45_5.dat b/library/phpqrcode/cache/mask_5/mask_45_5.dat
deleted file mode 100644
index 5168a17f9..000000000
--- a/library/phpqrcode/cache/mask_5/mask_45_5.dat
+++ /dev/null
@@ -1 +0,0 @@
-xUA 5?U:N&Z":;4P1=bNvSGM1˛n<v`q{Mg4=G-T?='kuۭ>'(κ J{Eѵs] ,sq \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_49_5.dat b/library/phpqrcode/cache/mask_5/mask_49_5.dat
deleted file mode 100644
index 9f3f3cd7d..000000000
--- a/library/phpqrcode/cache/mask_5/mask_49_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_53_5.dat b/library/phpqrcode/cache/mask_5/mask_53_5.dat
deleted file mode 100644
index 449807bae..000000000
--- a/library/phpqrcode/cache/mask_5/mask_53_5.dat
+++ /dev/null
@@ -1 +0,0 @@
-xVA " zYf5ƐJC A;l\,dR. \(e_ еaNi5\żaLP(;2שjN6O u+l{y6od^ C[%  \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_57_5.dat b/library/phpqrcode/cache/mask_5/mask_57_5.dat
deleted file mode 100644
index c7dd81f39..000000000
--- a/library/phpqrcode/cache/mask_5/mask_57_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xVA
- 5?NlZHAbBZ0a Md`1z'"<Ր19nvͨ. )bݻ~;<Kھx_Eu 3][/[ToJϵU羁4v HPn|Im!wL1/8,g \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_61_5.dat b/library/phpqrcode/cache/mask_5/mask_61_5.dat
deleted file mode 100644
index dee749fbf..000000000
--- a/library/phpqrcode/cache/mask_5/mask_61_5.dat
+++ /dev/null
@@ -1 +0,0 @@
-xQ CwC ՖB .ݛwpKvg;|3:}ؓc0þɴjj7(lwe^WJɾSwt_eΫTMOs9ubs=?~~>9Z#tB~ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_65_5.dat b/library/phpqrcode/cache/mask_5/mask_65_5.dat
deleted file mode 100644
index ecd938068..000000000
--- a/library/phpqrcode/cache/mask_5/mask_65_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_69_5.dat b/library/phpqrcode/cache/mask_5/mask_69_5.dat
deleted file mode 100644
index ead4edc1f..000000000
--- a/library/phpqrcode/cache/mask_5/mask_69_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_73_5.dat b/library/phpqrcode/cache/mask_5/mask_73_5.dat
deleted file mode 100644
index 00001176d..000000000
--- a/library/phpqrcode/cache/mask_5/mask_73_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_77_5.dat b/library/phpqrcode/cache/mask_5/mask_77_5.dat
deleted file mode 100644
index 1652cdc2d..000000000
--- a/library/phpqrcode/cache/mask_5/mask_77_5.dat
+++ /dev/null
@@ -1 +0,0 @@
-xQ Cw#&C`T6ƹB(9 'ֆڢzk"hv.` cXB5[(F>71/34Ϊz^'[FyglgM>OTL4ϔ{&3Wy*ʧb*`<3;Vo0/s6n0ya[mcE \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_81_5.dat b/library/phpqrcode/cache/mask_5/mask_81_5.dat
deleted file mode 100644
index 71215e952..000000000
--- a/library/phpqrcode/cache/mask_5/mask_81_5.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-x
- C~M?tzU4" }tMX2|.ɋ˙F\~m4Xu
-ٔ, w:EƄ>X̯=_]g>>zמ/)5ךkkkZsXXY{ܮ}~mt:S#&;U#) \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_85_5.dat b/library/phpqrcode/cache/mask_5/mask_85_5.dat
deleted file mode 100644
index 09cf0e281..000000000
--- a/library/phpqrcode/cache/mask_5/mask_85_5.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_5/mask_89_5.dat b/library/phpqrcode/cache/mask_5/mask_89_5.dat
deleted file mode 100644
index 5fff53069..000000000
--- a/library/phpqrcode/cache/mask_5/mask_89_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x
- 45enpQ Gcfl^^;;b5;`kU͹߮j`NsO=\[a6~nLD? !6uF%w*Ȭkf77SĆbÆXodw_—mbClNۙ ck&YVoܡ׷BעبAl6 Jjx \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_93_5.dat b/library/phpqrcode/cache/mask_5/mask_93_5.dat
deleted file mode 100644
index ec4240bd3..000000000
--- a/library/phpqrcode/cache/mask_5/mask_93_5.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK
-0 D>&&  fP^8BY5s(imҮ=f3/wۧEyYQwf[} [90303ef̙3'3=<K{nSg3`f`f`dޝoiPg7 ܇GjkG]}?V/ kWi72Jsv|*"f^ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_5/mask_97_5.dat b/library/phpqrcode/cache/mask_5/mask_97_5.dat
deleted file mode 100644
index 509d1174f..000000000
--- a/library/phpqrcode/cache/mask_5/mask_97_5.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA Ef!3bf5ƼB|#f=<3l6<_+xj) ݩy J yXiܻ5IzsٞcueQ KKKd)>,ͼwxDַ.,;s%g,,,=Rὓ7uKKTD<(n lYhV۹sޕyPE<q \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_101_6.dat b/library/phpqrcode/cache/mask_6/mask_101_6.dat
deleted file mode 100644
index 13f97a0fd..000000000
--- a/library/phpqrcode/cache/mask_6/mask_101_6.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xk
-0 4/n_.2#SH6_PZf˳_,7؞+%Wd–n}_&Ok;Pf>tyY]ns ;ss,!LkԅcbL12cX91Z#XEn#;svT~L~LR11vs.1111J1&؍Ń111J1&ƞg KLƪjlk{gڞ5K1/ǐ~,ac$ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_105_6.dat b/library/phpqrcode/cache/mask_6/mask_105_6.dat
deleted file mode 100644
index a58fec749..000000000
--- a/library/phpqrcode/cache/mask_6/mask_105_6.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xQ
-@ DskBZ#o)Sd}Gܷl쯯^)G]S4S?#BZ:+{sHKNiI!me1
-RWe9!``Uyˀu:檞U=w-oԺwB}cMK蹰{{=y蹰{{=y蹰{wScaoi'fyO=CyO=Cy[{S޻=;|v4}ϯ20 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_109_6.dat b/library/phpqrcode/cache/mask_6/mask_109_6.dat
deleted file mode 100644
index be7b4749e..000000000
--- a/library/phpqrcode/cache/mask_6/mask_109_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA0 ~ρDBHCHV20nuol쯯˻=ۢs9[l'?7R" &2:7QqX_n ]$՚EIY*Lq0 0 0{LJз(s\ɳwX-7^ItIII$~?N0 0 0O'Itg7L$L-Iuzrfr M^'}(O~R]1YLĞu9Qӕ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_113_6.dat b/library/phpqrcode/cache/mask_6/mask_113_6.dat
deleted file mode 100644
index 397f52741..000000000
--- a/library/phpqrcode/cache/mask_6/mask_113_6.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-x E5NՉbF6on,m>gS9RWcǕ9&%1_cx= GR^w-z?dzv=,}ԥ?ǹژ:9m==@U䲉UXUXVe~by4Wi:e=<SZmAWUtVaVaVaZV5~V****^*~wk
-
-ZϪbayTfjֺʯjZ~t_@UnѾYWsV [|H \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_117_6.dat b/library/phpqrcode/cache/mask_6/mask_117_6.dat
deleted file mode 100644
index 99108bef7..000000000
--- a/library/phpqrcode/cache/mask_6/mask_117_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xa F4/#Ev3nŸ/mYTwm<~?ljGCqS/6ftݟoӔf^l'7`ZC ?heiXq4[ـԉaaa9]PYM<6a[g:0 0 0 ×gx8:Yz;7Cataaa Ʊ,CataaO U6 8=gxx\ƑXQt2JZ:g C+\ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_121_6.dat b/library/phpqrcode/cache/mask_6/mask_121_6.dat
deleted file mode 100644
index f3c329945..000000000
--- a/library/phpqrcode/cache/mask_6/mask_121_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_125_6.dat b/library/phpqrcode/cache/mask_6/mask_125_6.dat
deleted file mode 100644
index ff64d44fc..000000000
--- a/library/phpqrcode/cache/mask_6/mask_125_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA0Er3&H yb+Slh0Ͳ6LwEѿfǮIv;&vw,o]ud]|k棘9ԊC}s19Jw9ˡZb=PK&aaaa>ɼÆ$<>Ov'Cytaaaa~|'9liΣ<<<<Iæ<:<<<ٕWDzy:.z= ݓʯ sVöE=ll_k0_#vίmj \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_129_6.dat b/library/phpqrcode/cache/mask_6/mask_129_6.dat
deleted file mode 100644
index b4695c3ff..000000000
--- a/library/phpqrcode/cache/mask_6/mask_129_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_133_6.dat b/library/phpqrcode/cache/mask_6/mask_133_6.dat
deleted file mode 100644
index 40911dc57..000000000
--- a/library/phpqrcode/cache/mask_6/mask_133_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_137_6.dat b/library/phpqrcode/cache/mask_6/mask_137_6.dat
deleted file mode 100644
index 43ccb68c6..000000000
--- a/library/phpqrcode/cache/mask_6/mask_137_6.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x E5?e^4fHp[1-e)UQV]UWN5o*8|۩W6bk?{f|>s֪r666rҟ=vڲWy -'
-Ο;q tQE>U϶f곭xN]Tc(s❮7tAw`v`v`v`kvwfwt;];;;;;!ޙ;ao];l;;;÷| ʷ(3}l.?"މr};\}S-Aw<9;EV'ם \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_141_6.dat b/library/phpqrcode/cache/mask_6/mask_141_6.dat
deleted file mode 100644
index 0340409a4..000000000
--- a/library/phpqrcode/cache/mask_6/mask_141_6.dat
+++ /dev/null
@@ -1,10 +0,0 @@
-xa F4/c]زȐ[=[E럓sm,fn/|kj\j?g[q(NOZc5SGGP[oMVָfvL<<e
-+Ěa*XG6)))cLS6tjM]oW8D~OD`?׆NSk?)))*U)? SI=
-t
-BXLLLT5OqQS:`
-`
-`
-3_E)t
-`
-`
-`Lyb*?2T5i?U!K*xT7ioIEIREuJ+M7 ' \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_145_6.dat b/library/phpqrcode/cache/mask_6/mask_145_6.dat
deleted file mode 100644
index 6c1421513..000000000
--- a/library/phpqrcode/cache/mask_6/mask_145_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_149_6.dat b/library/phpqrcode/cache/mask_6/mask_149_6.dat
deleted file mode 100644
index 69e988350..000000000
--- a/library/phpqrcode/cache/mask_6/mask_149_6.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x
-0 E5f478UD62zmpߞk8}GӕN}?}W:guWAˌ7 ~;)Ø{̪ǿ+WPOۢrE\jwG)y˖wAAAAM%2`2dl|p}eqP : e j想=lT5ɠ : G{ddAtDaaaaa&أ&w : 1-MRb0Wf uz5&YiIѺNрAPQSL}4 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_153_6.dat b/library/phpqrcode/cache/mask_6/mask_153_6.dat
deleted file mode 100644
index 3ab6130ed..000000000
--- a/library/phpqrcode/cache/mask_6/mask_153_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_157_6.dat b/library/phpqrcode/cache/mask_6/mask_157_6.dat
deleted file mode 100644
index b45c0ceec..000000000
--- a/library/phpqrcode/cache/mask_6/mask_157_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA@D}fDN%nç,֖SVV>WóCaz6U~һ{`nݻdvVy~rZ"qk{>g$XKU}m\bjaGx,f1Yb]z̞^.5[?嬜r,f1YY>grVb,f1Y>g,rVmYb,f,|VY9Yb,f,|VY9+g1Ybً ̦M7>2{9z϶hm3l|9xټ#f#x6 -v%N' \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_161_6.dat b/library/phpqrcode/cache/mask_6/mask_161_6.dat
deleted file mode 100644
index ecec68b1a..000000000
--- a/library/phpqrcode/cache/mask_6/mask_161_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_165_6.dat b/library/phpqrcode/cache/mask_6/mask_165_6.dat
deleted file mode 100644
index d641dfa3d..000000000
--- a/library/phpqrcode/cache/mask_6/mask_165_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_169_6.dat b/library/phpqrcode/cache/mask_6/mask_169_6.dat
deleted file mode 100644
index ae689723d..000000000
--- a/library/phpqrcode/cache/mask_6/mask_169_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xJ0i9[Jɘk{1b!gnhHkS뉭-V?KIׁ1큏1ƣݎ/`/z)*=3ڏg6^k65CY<KkM[y@G&_=~>>㵾+'{է_Vˊx-J<ӛܗr_>>i;rO}/g}g}ٿ}}xO}/g}g}ٷGo/{{r_>>o/z^#}g}ٿd'ʳ|QRNS3YڳZ'msEǷj5 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_173_6.dat b/library/phpqrcode/cache/mask_6/mask_173_6.dat
deleted file mode 100644
index 95fa97c7b..000000000
--- a/library/phpqrcode/cache/mask_6/mask_173_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xa09MrM S*:a_-5hh_)uZ֭[loےsmKN{H?x`l#f9>ڟ[eЄώߓ ?^m*/Kmhy%v-nKlkKL`&& g5(gwxYܞa¬pVcZ[#O=SN9&0 L`DŽ 'tjj]QN9&0 L`sYRc@QN9 L`&0 L`"YRc\ ' r&0 L`EH9AN&0 L`& 7p6`|hms R5Ƙȉ k\X/ )g9 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_177_6.dat b/library/phpqrcode/cache/mask_6/mask_177_6.dat
deleted file mode 100644
index e9f0476f0..000000000
--- a/library/phpqrcode/cache/mask_6/mask_177_6.dat
+++ /dev/null
@@ -1,14 +0,0 @@
-xn {ڤ*4v۴u1{<LGiK GU]m/6j?mZmzy/ξgj\Փ<`_>f{_,,K9o 4ǵ7lniJiggir<-MG
-
-
-
-xuV+zRCr9+Gq6QWb"Qe"WL+
- XXXXX/|~j,nmuMۤ+
- XXXXXYa,X;M+
- XXXXXe)o<S+
-
-
-
-
-
-0X,ަyt]AWXXXXX;VH92me3WdQbeQؽ]>Әf|5H늚7/D \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_21_6.dat b/library/phpqrcode/cache/mask_6/mask_21_6.dat
deleted file mode 100644
index 6bd505b4a..000000000
--- a/library/phpqrcode/cache/mask_6/mask_21_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xڝQ C9M{i]X1- C!D7 W ٜ&rD)~]<M 3(>{A aS \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_25_6.dat b/library/phpqrcode/cache/mask_6/mask_25_6.dat
deleted file mode 100644
index d45083aab..000000000
--- a/library/phpqrcode/cache/mask_6/mask_25_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xڝQA 52)e+(XmZt*(ڹ;tJ<峂_ڤ3oڴ"̢azh}&qvSG֙,-J4}oS[}w \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_29_6.dat b/library/phpqrcode/cache/mask_6/mask_29_6.dat
deleted file mode 100644
index 0408e2240..000000000
--- a/library/phpqrcode/cache/mask_6/mask_29_6.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xRA
-0 XcL(4EԈB
-8Cܾ޳nM+lǝՆO1]&ڍ4UD-6-$:6dZ?ylf? 8?߲<l}gg* \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_33_6.dat b/library/phpqrcode/cache/mask_6/mask_33_6.dat
deleted file mode 100644
index 8de4ba5c9..000000000
--- a/library/phpqrcode/cache/mask_6/mask_33_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_37_6.dat b/library/phpqrcode/cache/mask_6/mask_37_6.dat
deleted file mode 100644
index b37ff0ab6..000000000
--- a/library/phpqrcode/cache/mask_6/mask_37_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA &T `j<P0jB#&,YofUj*UՏY[oY5 ~5 T7bnb,]˘-qF:stDch \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_41_6.dat b/library/phpqrcode/cache/mask_6/mask_41_6.dat
deleted file mode 100644
index c1535f785..000000000
--- a/library/phpqrcode/cache/mask_6/mask_41_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_45_6.dat b/library/phpqrcode/cache/mask_6/mask_45_6.dat
deleted file mode 100644
index a7da7ee02..000000000
--- a/library/phpqrcode/cache/mask_6/mask_45_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_49_6.dat b/library/phpqrcode/cache/mask_6/mask_49_6.dat
deleted file mode 100644
index 64ded7093..000000000
--- a/library/phpqrcode/cache/mask_6/mask_49_6.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xVQ i{K&YX؁0̦!=tn&fpWL
-`/<ϓKVrU\1bGp@ӑ&fN/+ƽq`AWSRGp_5||zxν:J+WEm4h43tܭ.Ag`\ʤ*F \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_53_6.dat b/library/phpqrcode/cache/mask_6/mask_53_6.dat
deleted file mode 100644
index 9139e3259..000000000
--- a/library/phpqrcode/cache/mask_6/mask_53_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_57_6.dat b/library/phpqrcode/cache/mask_6/mask_57_6.dat
deleted file mode 100644
index 61e7e2428..000000000
--- a/library/phpqrcode/cache/mask_6/mask_57_6.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xW |kKQ-^@c"Wr^UYM³>_ݏ`8G1`B`;+}&s]<JQF=mb3 UF'6ƖE 5JawZ60
-[99{S\ݞ8`k&os}{[R[+wOd^jW \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_61_6.dat b/library/phpqrcode/cache/mask_6/mask_61_6.dat
deleted file mode 100644
index f2d3f10df..000000000
--- a/library/phpqrcode/cache/mask_6/mask_61_6.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK DsڤE~݂ih'
-N'oVWjspCzοag!#WD%~˃Y?JfREKoͼǘ|Ƀˎ*OP7n뼽7s`sdDs~><iK'l'9%.7 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_65_6.dat b/library/phpqrcode/cache/mask_6/mask_65_6.dat
deleted file mode 100644
index 550fc8fe7..000000000
--- a/library/phpqrcode/cache/mask_6/mask_65_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xWQ i{KNLk?e$Qik41{`+!ڮM ? 1b8 .^wsnFj5EaQX|=w@2v<ŋŞ|4w\UXBQz+TTcBz/48,5`ȱ OV$ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_69_6.dat b/library/phpqrcode/cache/mask_6/mask_69_6.dat
deleted file mode 100644
index a3e4fa0f2..000000000
--- a/library/phpqrcode/cache/mask_6/mask_69_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-xK @dTh hLSSEq eY@<+*|窮 %>z*7e6QS`.>sE '%@[6@P0h aFxtpl2 Q-g1Nfeo^0FdT>N_OwG3ug {3<[Ժ b?'6^ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_73_6.dat b/library/phpqrcode/cache/mask_6/mask_73_6.dat
deleted file mode 100644
index ab71b70ae..000000000
--- a/library/phpqrcode/cache/mask_6/mask_73_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_77_6.dat b/library/phpqrcode/cache/mask_6/mask_77_6.dat
deleted file mode 100644
index ad5a660e3..000000000
--- a/library/phpqrcode/cache/mask_6/mask_77_6.dat
+++ /dev/null
@@ -1 +0,0 @@
-x E۲iVa.FpSTY4q~z=:͒ 6m8:#0PضiDy:2Š'Zs&}滜\r0\ŚXw;iPȔL)Seԕ{hDu9LbJSS))gZ{e)qJdLw+#3-V0շljڠS-S 9=ݯ5PPq1M?g \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_81_6.dat b/library/phpqrcode/cache/mask_6/mask_81_6.dat
deleted file mode 100644
index 28a6d0752..000000000
--- a/library/phpqrcode/cache/mask_6/mask_81_6.dat
+++ /dev/null
@@ -1,3 +0,0 @@
-xQ0D9 rRLvk`0 ;i6\|_cc1huio#2}x*.Yt&
-ְq/K;3ve̢ȊAH?`]5Kw!}{Zû߲W
-yⷾ^_ykk^Kתb-bYSڸ'֜Nu#MfHSQ?|]IAiMyyuW \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_6/mask_85_6.dat b/library/phpqrcode/cache/mask_6/mask_85_6.dat
deleted file mode 100644
index d5403e49a..000000000
--- a/library/phpqrcode/cache/mask_6/mask_85_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_89_6.dat b/library/phpqrcode/cache/mask_6/mask_89_6.dat
deleted file mode 100644
index eeeb5d197..000000000
--- a/library/phpqrcode/cache/mask_6/mask_89_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_93_6.dat b/library/phpqrcode/cache/mask_6/mask_93_6.dat
deleted file mode 100644
index 6ff38db68..000000000
--- a/library/phpqrcode/cache/mask_6/mask_93_6.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_6/mask_97_6.dat b/library/phpqrcode/cache/mask_6/mask_97_6.dat
deleted file mode 100644
index 3a2072efd..000000000
--- a/library/phpqrcode/cache/mask_6/mask_97_6.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xa0sdFx[=4Hoj34&s}* a Vc&35arW^aLClzq,1x SQN]/Giu`&w%,%DY"Kt+HE'|R2(v1vqiqd,%D~%ػJj}ͺĺgY"Kd,+K
-]Wt+sF/)].zN'`>1='#`+bl]Z \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_101_7.dat b/library/phpqrcode/cache/mask_7/mask_101_7.dat
deleted file mode 100644
index 1f6bc5129..000000000
--- a/library/phpqrcode/cache/mask_7/mask_101_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xQ C}rm`fjT#54'tfaЇo$c<Hݠh8lo=ĄŧHv;z!|/FЍ3cf̌Sʅ㍂ 8K)49Q11J3fS+wck3cf캌zyy̵Ҍ1{bLXS+.to{>mOJ23c<6Xn0F ) \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_105_7.dat b/library/phpqrcode/cache/mask_7/mask_105_7.dat
deleted file mode 100644
index 6b0cacfe9..000000000
--- a/library/phpqrcode/cache/mask_7/mask_105_7.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0EFaMҙNPx)pQ_~|ñ(bF$.aoWGNPUǖM%{oHQUlִL^>+m#{{eo&Y2soM)gncO9sZ3wo+{=f.zޣ{{=zGcskCQϞp^&{^NʷU e5}EwGn+o \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_109_7.dat b/library/phpqrcode/cache/mask_7/mask_109_7.dat
deleted file mode 100644
index 9875cbe8c..000000000
--- a/library/phpqrcode/cache/mask_7/mask_109_7.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0 D9Mr}* _x-d:"NJ-k"⨚d{ջגɬ|<b2+U %Z}.q%Gih QA9IIG&ɞ< o:,ub2}mބ_ D'IIIO'$: 0 0 I$~D'w$L䇙TOvLVOO^<ObOOOʛt\3<Gͫ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_113_7.dat b/library/phpqrcode/cache/mask_7/mask_113_7.dat
deleted file mode 100644
index b6e215982..000000000
--- a/library/phpqrcode/cache/mask_7/mask_113_7.dat
+++ /dev/null
@@ -1,11 +0,0 @@
-xQ D4p˵MPeQ6d?Ը>'rQ5+ s)c7-1nn햺qɔJtg^ʉw̘Ň-?*&Mm@ee5^
-c
-
-,b\13j4TZfŢo*
-
-
-:Ut*
-
-
-Xů0<BWUtVaVaVYl
-ްkf5_ kW5{5pnCZ: bv \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_117_7.dat b/library/phpqrcode/cache/mask_7/mask_117_7.dat
deleted file mode 100644
index cde78c10d..000000000
--- a/library/phpqrcode/cache/mask_7/mask_117_7.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xY D4pUI>"%6ed 8rS NsUnk5XejުuVXg,l`u!hXZ\VlM|[ͬ0 0 0 #hF'c]i>Hataaa~<ÆzyqkO0 0 0 㪞Faaa)2˰fÒ%z8tO=3=3:cw
-V$ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_121_7.dat b/library/phpqrcode/cache/mask_7/mask_121_7.dat
deleted file mode 100644
index d5d577f7e..000000000
--- a/library/phpqrcode/cache/mask_7/mask_121_7.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x[
- Edi;^az,#6ƞ^rh&^amY9_غ5Cr6t^^WlEز~ɿ|MmmS}( ۰ ۰ ۰}mQ]ZVq]vѲ"M1fG, qBmtaaazeF3cxIDmtaaamný$n۰ ۰ ۰ ۏa[}`[yޖ޻)n<4K/Oslnlm/G \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_125_7.dat b/library/phpqrcode/cache/mask_7/mask_125_7.dat
deleted file mode 100644
index f9ec0887b..000000000
--- a/library/phpqrcode/cache/mask_7/mask_125_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_129_7.dat b/library/phpqrcode/cache/mask_7/mask_129_7.dat
deleted file mode 100644
index 9bf51d529..000000000
--- a/library/phpqrcode/cache/mask_7/mask_129_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_133_7.dat b/library/phpqrcode/cache/mask_7/mask_133_7.dat
deleted file mode 100644
index b643ffeda..000000000
--- a/library/phpqrcode/cache/mask_7/mask_133_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_137_7.dat b/library/phpqrcode/cache/mask_7/mask_137_7.dat
deleted file mode 100644
index 11d212bf4..000000000
--- a/library/phpqrcode/cache/mask_7/mask_137_7.dat
+++ /dev/null
@@ -1,5 +0,0 @@
-x
- F4/ c_ǂ+{SK<EӐ%umĔOcPNsu+ ʺQS,E)ֵ^fa_HkoKr6DZQ F><o[l
-Ο
-07։Vl;b7fMS;1LC<Q[+@wt v`v`v`v&! 7X+@wt v`v`v`v8 YP΂;C;;;saG{;ڻ>vR|KMH
-#Н(Sqd \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_141_7.dat b/library/phpqrcode/cache/mask_7/mask_141_7.dat
deleted file mode 100644
index 98dffab00..000000000
--- a/library/phpqrcode/cache/mask_7/mask_141_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA E= rITY@Ä0!|1tbG0ԗѤs2Z/oa\qzOnҋMntX"KmeM}CpPL^S0S0S0SL )ǔژY߾%b,Sl?zC)tLLLLI2zRXh@)tLLLLI1zbϷB)~0S0S0S07)|B)))3ՖL% tfwM*:~hZsnc$1UTtJg8OYE \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_145_7.dat b/library/phpqrcode/cache/mask_7/mask_145_7.dat
deleted file mode 100644
index 4aa2bac11..000000000
--- a/library/phpqrcode/cache/mask_7/mask_145_7.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x
- E5?W6Z-^2qbGX6(Ɖu"LbbGuμGk:HwA[jmHݞ3OkQ{l|TEm JfL?2"&)kRfc̉F,z=5X5X5X7F\pUs#5X5X5XFdYk!a ` ` `o8ct ]CC gM5[N%khZp?Iܣϲ^n$Y7AZP[ fȓ0 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_149_7.dat b/library/phpqrcode/cache/mask_7/mask_149_7.dat
deleted file mode 100644
index 809f00554..000000000
--- a/library/phpqrcode/cache/mask_7/mask_149_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xn {? uچ2G$ncFKb3֪tPc ̥7[?9:['9'*Ӗ Gah_/z+6XB>2qYJ0黏Bfa 1 9c7G Ol,^꽓3A:H  1A b0X4%٫#d>&C  1A b<A{oG&LMA:H1A b 1 {j2tb 1A &1X`_ 9`BG_l5:g5ajMLI <|r. \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_153_7.dat b/library/phpqrcode/cache/mask_7/mask_153_7.dat
deleted file mode 100644
index c1ab27664..000000000
--- a/library/phpqrcode/cache/mask_7/mask_153_7.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xQ0= 匉B5
-ю惤/ͲIi^-Zkm|YDh9 \{K{y3v̻E]u`Rr"}Y e2{VV8][.n:+2_B&6Mlb&6`3i9YΌ諡yU}ԟ82f-vږ6nMI7Mlb&6l7 tnMlb&6Ml2^/nMI7Mlb&6;gxACtnOMlb&6yyfP[64̫k`v^+9 ʬO۱}攨+ZX=:iWE \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_157_7.dat b/library/phpqrcode/cache/mask_7/mask_157_7.dat
deleted file mode 100644
index 2db27f685..000000000
--- a/library/phpqrcode/cache/mask_7/mask_157_7.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xM
-0E[M͕s_  }FQks{%Wq.]8evVbvV}_E̻n3W^K\`V캽Zl,f1Y;afkިizz?urVY9Yb,f,|VY9+g1Yb,|Y9+g7,f1Yb|Y>+g嬜,f1Yb|Y>+g嬜,f1Ylio.\Ɲo<l;9:g[϶lm^I>=gϙ-yk_TA \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_161_7.dat b/library/phpqrcode/cache/mask_7/mask_161_7.dat
deleted file mode 100644
index 35ba8ff48..000000000
--- a/library/phpqrcode/cache/mask_7/mask_161_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xю y/皨E)Ʈ1~493,˵+ZT=ZeC.<sv>~iߏ&>,6e~,lW] 2\;׵2j"e,rXݵV(c쵵ZӖ18ީ/,'t.ee,cX2߱,_|yt|]t.cX2e,cy/ɗys.eLe,cX2lo|Z{+2]bl,cX2e{+֊[A2]X2e,c9CX</owsPy]y}Vd氹d9JӇ)1 jI2 \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_165_7.dat b/library/phpqrcode/cache/mask_7/mask_165_7.dat
deleted file mode 100644
index e27fb8edf..000000000
--- a/library/phpqrcode/cache/mask_7/mask_165_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xQ0M&A,N̨!x0&XZׇZ-Kث[ejx,.g}`;+k{~1}+k{إSGWg}ݬ@?_8퐾o+k][hW8~uMgqg|j<*q=<ۓRwƓq9.83838IUG?~snr\q98383xq㮁y979.gqgqg=)q'Eq9.gqgqwOz50Ir\838_Vvd}ax˯5)&9)fx3YH]S^*/ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_169_7.dat b/library/phpqrcode/cache/mask_7/mask_169_7.dat
deleted file mode 100644
index ef1a181f2..000000000
--- a/library/phpqrcode/cache/mask_7/mask_169_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_173_7.dat b/library/phpqrcode/cache/mask_7/mask_173_7.dat
deleted file mode 100644
index 3b5137125..000000000
--- a/library/phpqrcode/cache/mask_7/mask_173_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xj0 {=M/ RbHrj\=,mcoZ8;mm0b_ߚt$~Wu5ǚNn'?df2(oG,L6_{z? 9wq9 S!ƌ9o2 L`pOEnv8Lv8L UY"d} Kr ' L`&0 L`B'f:O8TcTc\kr ' L`&0 L`BYgIkr ' L`&0 L`"YRc\ ' r&0 L`EڳH9AN&0 L`&'!;q+Yl*ܳ=؀9j[2 Ms¤Ԅ* \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_177_7.dat b/library/phpqrcode/cache/mask_7/mask_177_7.dat
deleted file mode 100644
index 068477c92..000000000
--- a/library/phpqrcode/cache/mask_7/mask_177_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_21_7.dat b/library/phpqrcode/cache/mask_7/mask_21_7.dat
deleted file mode 100644
index 4f9f1386d..000000000
--- a/library/phpqrcode/cache/mask_7/mask_21_7.dat
+++ /dev/null
@@ -1,4 +0,0 @@
-xڝQ
-0 B=r]-?]Rl2nc
-[nA".j+i
-~x3<aX{HC1x)S \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_25_7.dat b/library/phpqrcode/cache/mask_7/mask_25_7.dat
deleted file mode 100644
index cefe1b972..000000000
--- a/library/phpqrcode/cache/mask_7/mask_25_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xڝQA 5[F@aZ̲ >;QIQH8R҈G"z,&;'o97%P8%6oǽ;]NWn[f7v \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_29_7.dat b/library/phpqrcode/cache/mask_7/mask_29_7.dat
deleted file mode 100644
index e3d7391b7..000000000
--- a/library/phpqrcode/cache/mask_7/mask_29_7.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xR9 QpX$lŲf!I2pgSMZj<K.ط
-Ǘ^D/_y/gcxV0Bf#]BϽʳh9޹^ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_33_7.dat b/library/phpqrcode/cache/mask_7/mask_33_7.dat
deleted file mode 100644
index 1763f4286..000000000
--- a/library/phpqrcode/cache/mask_7/mask_33_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xSA@k6ǒ80 7-nZbE0"t]3Ztq>"te0#ԛ`_1-cha~/Eh4"~ \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_37_7.dat b/library/phpqrcode/cache/mask_7/mask_37_7.dat
deleted file mode 100644
index 87d9a1a9d..000000000
--- a/library/phpqrcode/cache/mask_7/mask_37_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_41_7.dat b/library/phpqrcode/cache/mask_7/mask_41_7.dat
deleted file mode 100644
index 8acec04f0..000000000
--- a/library/phpqrcode/cache/mask_7/mask_41_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xTA 5[fDY(O^bR3/~t/L"7SQQ5j\Sib#Նȏ+ǣw#zx?㽧A-wu曑Y7$b.%A;wRoxG}? \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_45_7.dat b/library/phpqrcode/cache/mask_7/mask_45_7.dat
deleted file mode 100644
index dbba31d0b..000000000
--- a/library/phpqrcode/cache/mask_7/mask_45_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_49_7.dat b/library/phpqrcode/cache/mask_7/mask_49_7.dat
deleted file mode 100644
index be5dce8b7..000000000
--- a/library/phpqrcode/cache/mask_7/mask_49_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xV0khC-X.<h6̋ 3,B Ԕ,@ϐd5$K"T|p%9"yp,=<mԉ!?DW"(A-\- J\{0plWW]4?4h= Z_d+g(**+붵( \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_53_7.dat b/library/phpqrcode/cache/mask_7/mask_53_7.dat
deleted file mode 100644
index 7028ef6d7..000000000
--- a/library/phpqrcode/cache/mask_7/mask_53_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xK Ds&Rki&,H)tDj =QaP"ds1ZyC|hey CvaH7+OuQsZtb7 vhV ~1#~[ffHkZJtmZ6s wr&C߶f \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_57_7.dat b/library/phpqrcode/cache/mask_7/mask_57_7.dat
deleted file mode 100644
index ee3107a3c..000000000
--- a/library/phpqrcode/cache/mask_7/mask_57_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA03&H)Kb&q֞[-֌ 9rYs .iӾ`~G{ciՂ\Y<.|2۟2 QQ[[^N88l[}[Pl?g+o*ϖ4W1 33[\Gosbkmmm^h \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_61_7.dat b/library/phpqrcode/cache/mask_7/mask_61_7.dat
deleted file mode 100644
index 76f8d7271..000000000
--- a/library/phpqrcode/cache/mask_7/mask_61_7.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-xK
- Ds+-*5mcaT19Y쌧L9 糶s//i\bī-"^DH-i;bnA7fet7ٷỵE:r<46(uy{K3o"|ao?ᜟ竟p9j~NƛsTY u \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_65_7.dat b/library/phpqrcode/cache/mask_7/mask_65_7.dat
deleted file mode 100644
index d8b920626..000000000
--- a/library/phpqrcode/cache/mask_7/mask_65_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-xA I*6^L!酰 i)mTT]VW\9e@4Ku^#N%:,mYJN9ඩvA2ϜH"Y +?`BXDBX̽{.wd,~΂k,^bQ~.\w ^ρOYEJmX"% \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_69_7.dat b/library/phpqrcode/cache/mask_7/mask_69_7.dat
deleted file mode 100644
index c2db0204a..000000000
--- a/library/phpqrcode/cache/mask_7/mask_69_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_73_7.dat b/library/phpqrcode/cache/mask_7/mask_73_7.dat
deleted file mode 100644
index f414e4a58..000000000
--- a/library/phpqrcode/cache/mask_7/mask_73_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_77_7.dat b/library/phpqrcode/cache/mask_7/mask_77_7.dat
deleted file mode 100644
index 3e52bfd3f..000000000
--- a/library/phpqrcode/cache/mask_7/mask_77_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_81_7.dat b/library/phpqrcode/cache/mask_7/mask_81_7.dat
deleted file mode 100644
index 78e08dfc6..000000000
--- a/library/phpqrcode/cache/mask_7/mask_81_7.dat
+++ /dev/null
@@ -1 +0,0 @@
-x D5?l"͊ݕu4a>ukv o40T%96U5*sI{`_>S?}(:yTl{G&E\6}"AX XϬ<mwxfG<krUeεεXXZ~s;\Z3|y /wp˯U[~}Oo`msݑ)~, \ No newline at end of file
diff --git a/library/phpqrcode/cache/mask_7/mask_85_7.dat b/library/phpqrcode/cache/mask_7/mask_85_7.dat
deleted file mode 100644
index a53824aee..000000000
--- a/library/phpqrcode/cache/mask_7/mask_85_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_89_7.dat b/library/phpqrcode/cache/mask_7/mask_89_7.dat
deleted file mode 100644
index 32934a441..000000000
--- a/library/phpqrcode/cache/mask_7/mask_89_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_93_7.dat b/library/phpqrcode/cache/mask_7/mask_93_7.dat
deleted file mode 100644
index 1955f6b7d..000000000
--- a/library/phpqrcode/cache/mask_7/mask_93_7.dat
+++ /dev/null
Binary files differ
diff --git a/library/phpqrcode/cache/mask_7/mask_97_7.dat b/library/phpqrcode/cache/mask_7/mask_97_7.dat
deleted file mode 100644
index b277368bd..000000000
--- a/library/phpqrcode/cache/mask_7/mask_97_7.dat
+++ /dev/null
@@ -1,2 +0,0 @@
-x0ܲD[V.KI`'sxy$xx"= O^&pbYʬ$Kݣ8K eÌ 3:$bI,%$Yb襶
-M)T %q綦EX}jlTTKbI,%,_e[%V]R];N,%$%V@`%pam(}_%%۸4='u)ai.;M> \ No newline at end of file
diff --git a/library/phpqrcode/index.php b/library/phpqrcode/index.php
deleted file mode 100644
index 9e14b7eaa..000000000
--- a/library/phpqrcode/index.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Exemplatory usage
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- echo "<h1>PHP QR Code</h1><hr/>";
-
- //set it to writable location, a place for temp generated PNG files
- $PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR;
-
- //html PNG location prefix
- $PNG_WEB_DIR = 'temp/';
-
- include "qrlib.php";
-
- //ofcourse we need rights to create temp dir
- if (!file_exists($PNG_TEMP_DIR))
- mkdir($PNG_TEMP_DIR);
-
-
- $filename = $PNG_TEMP_DIR.'test.png';
-
- //processing form input
- //remember to sanitize user input in real-life solution !!!
- $errorCorrectionLevel = 'L';
- if (isset($_REQUEST['level']) && in_array($_REQUEST['level'], array('L','M','Q','H')))
- $errorCorrectionLevel = $_REQUEST['level'];
-
- $matrixPointSize = 4;
- if (isset($_REQUEST['size']))
- $matrixPointSize = min(max((int)$_REQUEST['size'], 1), 10);
-
-
- if (isset($_REQUEST['data'])) {
-
- //it's very important!
- if (trim($_REQUEST['data']) == '')
- die('data cannot be empty! <a href="?">back</a>');
-
- // user data
- $filename = $PNG_TEMP_DIR.'test'.md5($_REQUEST['data'].'|'.$errorCorrectionLevel.'|'.$matrixPointSize).'.png';
- QRcode::png($_REQUEST['data'], $filename, $errorCorrectionLevel, $matrixPointSize, 2);
-
- } else {
-
- //default data
- echo 'You can provide data in GET parameter: <a href="?data=like_that">like that</a><hr/>';
- QRcode::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2);
-
- }
-
- //display generated file
- echo '<img src="'.$PNG_WEB_DIR.basename($filename).'" /><hr/>';
-
- //config form
- echo '<form action="index.php" method="post">
- Data:&nbsp;<input name="data" value="'.(isset($_REQUEST['data'])?htmlspecialchars($_REQUEST['data']):'PHP QR Code :)').'" />&nbsp;
- ECC:&nbsp;<select name="level">
- <option value="L"'.(($errorCorrectionLevel=='L')?' selected':'').'>L - smallest</option>
- <option value="M"'.(($errorCorrectionLevel=='M')?' selected':'').'>M</option>
- <option value="Q"'.(($errorCorrectionLevel=='Q')?' selected':'').'>Q</option>
- <option value="H"'.(($errorCorrectionLevel=='H')?' selected':'').'>H - best</option>
- </select>&nbsp;
- Size:&nbsp;<select name="size">';
-
- for($i=1;$i<=10;$i++)
- echo '<option value="'.$i.'"'.(($matrixPointSize==$i)?' selected':'').'>'.$i.'</option>';
-
- echo '</select>&nbsp;
- <input type="submit" value="GENERATE"></form><hr/>';
-
- // benchmark
- QRtools::timeBenchmark();
-
- \ No newline at end of file
diff --git a/library/phpqrcode/phpqrcode.php b/library/phpqrcode/phpqrcode.php
deleted file mode 100644
index 80adb9df2..000000000
--- a/library/phpqrcode/phpqrcode.php
+++ /dev/null
@@ -1,3312 +0,0 @@
-<?php
-
-/*
- * PHP QR Code encoder
- *
- * This file contains MERGED version of PHP QR Code library.
- * It was auto-generated from full version for your convenience.
- *
- * This merged version was configured to not requre any external files,
- * with disabled cache, error loging and weker but faster mask matching.
- * If you need tune it up please use non-merged version.
- *
- * For full version, documentation, examples of use please visit:
- *
- * http://phpqrcode.sourceforge.net/
- * https://sourceforge.net/projects/phpqrcode/
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-
-/*
- * Version: 1.1.4
- * Build: 2010100721
- */
-
-
-
-//---- qrconst.php -----------------------------
-
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Common constants
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- // Encoding modes
-
- define('QR_MODE_NUL', -1);
- define('QR_MODE_NUM', 0);
- define('QR_MODE_AN', 1);
- define('QR_MODE_8', 2);
- define('QR_MODE_KANJI', 3);
- define('QR_MODE_STRUCTURE', 4);
-
- // Levels of error correction.
-
- define('QR_ECLEVEL_L', 0);
- define('QR_ECLEVEL_M', 1);
- define('QR_ECLEVEL_Q', 2);
- define('QR_ECLEVEL_H', 3);
-
- // Supported output formats
-
- define('QR_FORMAT_TEXT', 0);
- define('QR_FORMAT_PNG', 1);
-
- class qrstr {
- public static function set(&$srctab, $x, $y, $repl, $replLen = false) {
- $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl));
- }
- }
-
-
-
-//---- merged_config.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Config file, tuned-up for merged verion
- */
-
- define('QR_CACHEABLE', false); // use cache - more disk reads but less CPU power, masks and format templates are stored there
- define('QR_CACHE_DIR', false); // used when QR_CACHEABLE === true
- define('QR_LOG_DIR', false); // default error logs dir
-
- define('QR_FIND_BEST_MASK', true); // if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code
- define('QR_FIND_FROM_RANDOM', 2); // if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly
- define('QR_DEFAULT_MASK', 2); // when QR_FIND_BEST_MASK === false
-
- define('QR_PNG_MAXIMUM_SIZE', 1024); // maximum allowed png image width (in pixels), tune to make sure GD and PHP can handle such big images
-
-
-
-
-//---- qrtools.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Toolset, handy and debug utilites.
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRtools {
-
- //----------------------------------------------------------------------
- public static function binarize($frame)
- {
- $len = count($frame);
- foreach ($frame as &$frameLine) {
-
- for($i=0; $i<$len; $i++) {
- $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0';
- }
- }
-
- return $frame;
- }
-
- //----------------------------------------------------------------------
- public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037')
- {
- $barcode_array = array();
-
- if (!is_array($mode))
- $mode = explode(',', $mode);
-
- $eccLevel = 'L';
-
- if (count($mode) > 1) {
- $eccLevel = $mode[1];
- }
-
- $qrTab = QRcode::text($code, false, $eccLevel);
- $size = count($qrTab);
-
- $barcode_array['num_rows'] = $size;
- $barcode_array['num_cols'] = $size;
- $barcode_array['bcode'] = array();
-
- foreach ($qrTab as $line) {
- $arrAdd = array();
- foreach(str_split($line) as $char)
- $arrAdd[] = ($char=='1')?1:0;
- $barcode_array['bcode'][] = $arrAdd;
- }
-
- return $barcode_array;
- }
-
- //----------------------------------------------------------------------
- public static function clearCache()
- {
- self::$frames = array();
- }
-
- //----------------------------------------------------------------------
- public static function buildCache()
- {
- QRtools::markTime('before_build_cache');
-
- $mask = new QRmask();
- for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) {
- $frame = QRspec::newFrame($a);
- if (QR_IMAGE) {
- $fileName = QR_CACHE_DIR.'frame_'.$a.'.png';
- QRimage::png(self::binarize($frame), $fileName, 1, 0);
- }
-
- $width = count($frame);
- $bitMask = array_fill(0, $width, array_fill(0, $width, 0));
- for ($maskNo=0; $maskNo<8; $maskNo++)
- $mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true);
- }
-
- QRtools::markTime('after_build_cache');
- }
-
- //----------------------------------------------------------------------
- public static function log($outfile, $err)
- {
- if (QR_LOG_DIR !== false) {
- if ($err != '') {
- if ($outfile !== false) {
- file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
- } else {
- file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
- }
- }
- }
- }
-
- //----------------------------------------------------------------------
- public static function dumpMask($frame)
- {
- $width = count($frame);
- for($y=0;$y<$width;$y++) {
- for($x=0;$x<$width;$x++) {
- echo ord($frame[$y][$x]).',';
- }
- }
- }
-
- //----------------------------------------------------------------------
- public static function markTime($markerId)
- {
- list($usec, $sec) = explode(" ", microtime());
- $time = ((float)$usec + (float)$sec);
-
- if (!isset($GLOBALS['qr_time_bench']))
- $GLOBALS['qr_time_bench'] = array();
-
- $GLOBALS['qr_time_bench'][$markerId] = $time;
- }
-
- //----------------------------------------------------------------------
- public static function timeBenchmark()
- {
- self::markTime('finish');
-
- $lastTime = 0;
- $startTime = 0;
- $p = 0;
-
- echo '<table cellpadding="3" cellspacing="1">
- <thead><tr style="border-bottom:1px solid silver"><td colspan="2" style="text-align:center">BENCHMARK</td></tr></thead>
- <tbody>';
-
- foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) {
- if ($p > 0) {
- echo '<tr><th style="text-align:right">till '.$markerId.': </th><td>'.number_format($thisTime-$lastTime, 6).'s</td></tr>';
- } else {
- $startTime = $thisTime;
- }
-
- $p++;
- $lastTime = $thisTime;
- }
-
- echo '</tbody><tfoot>
- <tr style="border-top:2px solid black"><th style="text-align:right">TOTAL: </th><td>'.number_format($lastTime-$startTime, 6).'s</td></tr>
- </tfoot>
- </table>';
- }
-
- }
-
- //##########################################################################
-
- QRtools::markTime('start');
-
-
-
-
-//---- qrspec.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * QR Code specifications
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * The following data / specifications are taken from
- * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004)
- * or
- * "Automatic identification and data capture techniques --
- * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('QRSPEC_VERSION_MAX', 40);
- define('QRSPEC_WIDTH_MAX', 177);
-
- define('QRCAP_WIDTH', 0);
- define('QRCAP_WORDS', 1);
- define('QRCAP_REMINDER', 2);
- define('QRCAP_EC', 3);
-
- class QRspec {
-
- public static $capacity = array(
- array( 0, 0, 0, array( 0, 0, 0, 0)),
- array( 21, 26, 0, array( 7, 10, 13, 17)), // 1
- array( 25, 44, 7, array( 10, 16, 22, 28)),
- array( 29, 70, 7, array( 15, 26, 36, 44)),
- array( 33, 100, 7, array( 20, 36, 52, 64)),
- array( 37, 134, 7, array( 26, 48, 72, 88)), // 5
- array( 41, 172, 7, array( 36, 64, 96, 112)),
- array( 45, 196, 0, array( 40, 72, 108, 130)),
- array( 49, 242, 0, array( 48, 88, 132, 156)),
- array( 53, 292, 0, array( 60, 110, 160, 192)),
- array( 57, 346, 0, array( 72, 130, 192, 224)), //10
- array( 61, 404, 0, array( 80, 150, 224, 264)),
- array( 65, 466, 0, array( 96, 176, 260, 308)),
- array( 69, 532, 0, array( 104, 198, 288, 352)),
- array( 73, 581, 3, array( 120, 216, 320, 384)),
- array( 77, 655, 3, array( 132, 240, 360, 432)), //15
- array( 81, 733, 3, array( 144, 280, 408, 480)),
- array( 85, 815, 3, array( 168, 308, 448, 532)),
- array( 89, 901, 3, array( 180, 338, 504, 588)),
- array( 93, 991, 3, array( 196, 364, 546, 650)),
- array( 97, 1085, 3, array( 224, 416, 600, 700)), //20
- array(101, 1156, 4, array( 224, 442, 644, 750)),
- array(105, 1258, 4, array( 252, 476, 690, 816)),
- array(109, 1364, 4, array( 270, 504, 750, 900)),
- array(113, 1474, 4, array( 300, 560, 810, 960)),
- array(117, 1588, 4, array( 312, 588, 870, 1050)), //25
- array(121, 1706, 4, array( 336, 644, 952, 1110)),
- array(125, 1828, 4, array( 360, 700, 1020, 1200)),
- array(129, 1921, 3, array( 390, 728, 1050, 1260)),
- array(133, 2051, 3, array( 420, 784, 1140, 1350)),
- array(137, 2185, 3, array( 450, 812, 1200, 1440)), //30
- array(141, 2323, 3, array( 480, 868, 1290, 1530)),
- array(145, 2465, 3, array( 510, 924, 1350, 1620)),
- array(149, 2611, 3, array( 540, 980, 1440, 1710)),
- array(153, 2761, 3, array( 570, 1036, 1530, 1800)),
- array(157, 2876, 0, array( 570, 1064, 1590, 1890)), //35
- array(161, 3034, 0, array( 600, 1120, 1680, 1980)),
- array(165, 3196, 0, array( 630, 1204, 1770, 2100)),
- array(169, 3362, 0, array( 660, 1260, 1860, 2220)),
- array(173, 3532, 0, array( 720, 1316, 1950, 2310)),
- array(177, 3706, 0, array( 750, 1372, 2040, 2430)) //40
- );
-
- //----------------------------------------------------------------------
- public static function getDataLength($version, $level)
- {
- return self::$capacity[$version][QRCAP_WORDS] - self::$capacity[$version][QRCAP_EC][$level];
- }
-
- //----------------------------------------------------------------------
- public static function getECCLength($version, $level)
- {
- return self::$capacity[$version][QRCAP_EC][$level];
- }
-
- //----------------------------------------------------------------------
- public static function getWidth($version)
- {
- return self::$capacity[$version][QRCAP_WIDTH];
- }
-
- //----------------------------------------------------------------------
- public static function getRemainder($version)
- {
- return self::$capacity[$version][QRCAP_REMINDER];
- }
-
- //----------------------------------------------------------------------
- public static function getMinimumVersion($size, $level)
- {
-
- for($i=1; $i<= QRSPEC_VERSION_MAX; $i++) {
- $words = self::$capacity[$i][QRCAP_WORDS] - self::$capacity[$i][QRCAP_EC][$level];
- if($words >= $size)
- return $i;
- }
-
- return -1;
- }
-
- //######################################################################
-
- public static $lengthTableBits = array(
- array(10, 12, 14),
- array( 9, 11, 13),
- array( 8, 16, 16),
- array( 8, 10, 12)
- );
-
- //----------------------------------------------------------------------
- public static function lengthIndicator($mode, $version)
- {
- if ($mode == QR_MODE_STRUCTURE)
- return 0;
-
- if ($version <= 9) {
- $l = 0;
- } else if ($version <= 26) {
- $l = 1;
- } else {
- $l = 2;
- }
-
- return self::$lengthTableBits[$mode][$l];
- }
-
- //----------------------------------------------------------------------
- public static function maximumWords($mode, $version)
- {
- if($mode == QR_MODE_STRUCTURE)
- return 3;
-
- if($version <= 9) {
- $l = 0;
- } else if($version <= 26) {
- $l = 1;
- } else {
- $l = 2;
- }
-
- $bits = self::$lengthTableBits[$mode][$l];
- $words = (1 << $bits) - 1;
-
- if($mode == QR_MODE_KANJI) {
- $words *= 2; // the number of bytes is required
- }
-
- return $words;
- }
-
- // Error correction code -----------------------------------------------
- // Table of the error correction code (Reed-Solomon block)
- // See Table 12-16 (pp.30-36), JIS X0510:2004.
-
- public static $eccTable = array(
- array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)),
- array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1
- array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)),
- array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)),
- array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)),
- array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5
- array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)),
- array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)),
- array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)),
- array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)),
- array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), //10
- array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)),
- array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)),
- array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)),
- array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)),
- array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), //15
- array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)),
- array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)),
- array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)),
- array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)),
- array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), //20
- array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)),
- array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)),
- array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)),
- array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)),
- array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), //25
- array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)),
- array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)),
- array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)),
- array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)),
- array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), //30
- array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)),
- array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)),
- array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)),
- array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)),
- array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), //35
- array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)),
- array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)),
- array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)),
- array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)),
- array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)),//40
- );
-
- //----------------------------------------------------------------------
- // CACHEABLE!!!
-
- public static function getEccSpec($version, $level, array &$spec)
- {
- if (count($spec) < 5) {
- $spec = array(0,0,0,0,0);
- }
-
- $b1 = self::$eccTable[$version][$level][0];
- $b2 = self::$eccTable[$version][$level][1];
- $data = self::getDataLength($version, $level);
- $ecc = self::getECCLength($version, $level);
-
- if($b2 == 0) {
- $spec[0] = $b1;
- $spec[1] = (int)($data / $b1);
- $spec[2] = (int)($ecc / $b1);
- $spec[3] = 0;
- $spec[4] = 0;
- } else {
- $spec[0] = $b1;
- $spec[1] = (int)($data / ($b1 + $b2));
- $spec[2] = (int)($ecc / ($b1 + $b2));
- $spec[3] = $b2;
- $spec[4] = $spec[1] + 1;
- }
- }
-
- // Alignment pattern ---------------------------------------------------
-
- // Positions of alignment patterns.
- // This array includes only the second and the third position of the
- // alignment patterns. Rest of them can be calculated from the distance
- // between them.
-
- // See Table 1 in Appendix E (pp.71) of JIS X0510:2004.
-
- public static $alignmentPattern = array(
- array( 0, 0),
- array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5
- array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10
- array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), //11-15
- array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), //16-20
- array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), //21-25
- array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), //26-30
- array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), //31-35
- array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58), //35-40
- );
-
-
- /** --------------------------------------------------------------------
- * Put an alignment marker.
- * @param frame
- * @param width
- * @param ox,oy center coordinate of the pattern
- */
- public static function putAlignmentMarker(array &$frame, $ox, $oy)
- {
- $finder = array(
- "\xa1\xa1\xa1\xa1\xa1",
- "\xa1\xa0\xa0\xa0\xa1",
- "\xa1\xa0\xa1\xa0\xa1",
- "\xa1\xa0\xa0\xa0\xa1",
- "\xa1\xa1\xa1\xa1\xa1"
- );
-
- $yStart = $oy-2;
- $xStart = $ox-2;
-
- for($y=0; $y<5; $y++) {
- QRstr::set($frame, $xStart, $yStart+$y, $finder[$y]);
- }
- }
-
- //----------------------------------------------------------------------
- public static function putAlignmentPattern($version, &$frame, $width)
- {
- if($version < 2)
- return;
-
- $d = self::$alignmentPattern[$version][1] - self::$alignmentPattern[$version][0];
- if($d < 0) {
- $w = 2;
- } else {
- $w = (int)(($width - self::$alignmentPattern[$version][0]) / $d + 2);
- }
-
- if($w * $w - 3 == 1) {
- $x = self::$alignmentPattern[$version][0];
- $y = self::$alignmentPattern[$version][0];
- self::putAlignmentMarker($frame, $x, $y);
- return;
- }
-
- $cx = self::$alignmentPattern[$version][0];
- for($x=1; $x<$w - 1; $x++) {
- self::putAlignmentMarker($frame, 6, $cx);
- self::putAlignmentMarker($frame, $cx, 6);
- $cx += $d;
- }
-
- $cy = self::$alignmentPattern[$version][0];
- for($y=0; $y<$w-1; $y++) {
- $cx = self::$alignmentPattern[$version][0];
- for($x=0; $x<$w-1; $x++) {
- self::putAlignmentMarker($frame, $cx, $cy);
- $cx += $d;
- }
- $cy += $d;
- }
- }
-
- // Version information pattern -----------------------------------------
-
- // Version information pattern (BCH coded).
- // See Table 1 in Appendix D (pp.68) of JIS X0510:2004.
-
- // size: [QRSPEC_VERSION_MAX - 6]
-
- public static $versionPattern = array(
- 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d,
- 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9,
- 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75,
- 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64,
- 0x27541, 0x28c69
- );
-
- //----------------------------------------------------------------------
- public static function getVersionPattern($version)
- {
- if($version < 7 || $version > QRSPEC_VERSION_MAX)
- return 0;
-
- return self::$versionPattern[$version -7];
- }
-
- // Format information --------------------------------------------------
- // See calcFormatInfo in tests/test_qrspec.c (orginal qrencode c lib)
-
- public static $formatInfo = array(
- array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976),
- array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0),
- array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed),
- array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b)
- );
-
- public static function getFormatInfo($mask, $level)
- {
- if($mask < 0 || $mask > 7)
- return 0;
-
- if($level < 0 || $level > 3)
- return 0;
-
- return self::$formatInfo[$level][$mask];
- }
-
- // Frame ---------------------------------------------------------------
- // Cache of initial frames.
-
- public static $frames = array();
-
- /** --------------------------------------------------------------------
- * Put a finder pattern.
- * @param frame
- * @param width
- * @param ox,oy upper-left coordinate of the pattern
- */
- public static function putFinderPattern(&$frame, $ox, $oy)
- {
- $finder = array(
- "\xc1\xc1\xc1\xc1\xc1\xc1\xc1",
- "\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
- "\xc1\xc1\xc1\xc1\xc1\xc1\xc1"
- );
-
- for($y=0; $y<7; $y++) {
- QRstr::set($frame, $ox, $oy+$y, $finder[$y]);
- }
- }
-
- //----------------------------------------------------------------------
- public static function createFrame($version)
- {
- $width = self::$capacity[$version][QRCAP_WIDTH];
- $frameLine = str_repeat ("\0", $width);
- $frame = array_fill(0, $width, $frameLine);
-
- // Finder pattern
- self::putFinderPattern($frame, 0, 0);
- self::putFinderPattern($frame, $width - 7, 0);
- self::putFinderPattern($frame, 0, $width - 7);
-
- // Separator
- $yOffset = $width - 7;
-
- for($y=0; $y<7; $y++) {
- $frame[$y][7] = "\xc0";
- $frame[$y][$width - 8] = "\xc0";
- $frame[$yOffset][7] = "\xc0";
- $yOffset++;
- }
-
- $setPattern = str_repeat("\xc0", 8);
-
- QRstr::set($frame, 0, 7, $setPattern);
- QRstr::set($frame, $width-8, 7, $setPattern);
- QRstr::set($frame, 0, $width - 8, $setPattern);
-
- // Format info
- $setPattern = str_repeat("\x84", 9);
- QRstr::set($frame, 0, 8, $setPattern);
- QRstr::set($frame, $width - 8, 8, $setPattern, 8);
-
- $yOffset = $width - 8;
-
- for($y=0; $y<8; $y++,$yOffset++) {
- $frame[$y][8] = "\x84";
- $frame[$yOffset][8] = "\x84";
- }
-
- // Timing pattern
-
- for($i=1; $i<$width-15; $i++) {
- $frame[6][7+$i] = chr(0x90 | ($i & 1));
- $frame[7+$i][6] = chr(0x90 | ($i & 1));
- }
-
- // Alignment pattern
- self::putAlignmentPattern($version, $frame, $width);
-
- // Version information
- if($version >= 7) {
- $vinf = self::getVersionPattern($version);
-
- $v = $vinf;
-
- for($x=0; $x<6; $x++) {
- for($y=0; $y<3; $y++) {
- $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1));
- $v = $v >> 1;
- }
- }
-
- $v = $vinf;
- for($y=0; $y<6; $y++) {
- for($x=0; $x<3; $x++) {
- $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1));
- $v = $v >> 1;
- }
- }
- }
-
- // and a little bit...
- $frame[$width - 8][8] = "\x81";
-
- return $frame;
- }
-
- //----------------------------------------------------------------------
- public static function debug($frame, $binary_mode = false)
- {
- if ($binary_mode) {
-
- foreach ($frame as &$frameLine) {
- $frameLine = join('<span class="m">&nbsp;&nbsp;</span>', explode('0', $frameLine));
- $frameLine = join('&#9608;&#9608;', explode('1', $frameLine));
- }
-
- ?>
- <style>
- .m { background-color: white; }
- </style>
- <?php
- echo '<pre><tt><br/ ><br/ ><br/ >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
- echo join("<br/ >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", $frame);
- echo '</tt></pre><br/ ><br/ ><br/ ><br/ ><br/ ><br/ >';
-
- } else {
-
- foreach ($frame as &$frameLine) {
- $frameLine = join('<span class="m">&nbsp;</span>', explode("\xc0", $frameLine));
- $frameLine = join('<span class="m">&#9618;</span>', explode("\xc1", $frameLine));
- $frameLine = join('<span class="p">&nbsp;</span>', explode("\xa0", $frameLine));
- $frameLine = join('<span class="p">&#9618;</span>', explode("\xa1", $frameLine));
- $frameLine = join('<span class="s">&#9671;</span>', explode("\x84", $frameLine)); //format 0
- $frameLine = join('<span class="s">&#9670;</span>', explode("\x85", $frameLine)); //format 1
- $frameLine = join('<span class="x">&#9762;</span>', explode("\x81", $frameLine)); //special bit
- $frameLine = join('<span class="c">&nbsp;</span>', explode("\x90", $frameLine)); //clock 0
- $frameLine = join('<span class="c">&#9719;</span>', explode("\x91", $frameLine)); //clock 1
- $frameLine = join('<span class="f">&nbsp;</span>', explode("\x88", $frameLine)); //version
- $frameLine = join('<span class="f">&#9618;</span>', explode("\x89", $frameLine)); //version
- $frameLine = join('&#9830;', explode("\x01", $frameLine));
- $frameLine = join('&#8901;', explode("\0", $frameLine));
- }
-
- ?>
- <style>
- .p { background-color: yellow; }
- .m { background-color: #00FF00; }
- .s { background-color: #FF0000; }
- .c { background-color: aqua; }
- .x { background-color: pink; }
- .f { background-color: gold; }
- </style>
- <?php
- echo "<pre><tt>";
- echo join("<br/ >", $frame);
- echo "</tt></pre>";
-
- }
- }
-
- //----------------------------------------------------------------------
- public static function serial($frame)
- {
- return gzcompress(join("\n", $frame), 9);
- }
-
- //----------------------------------------------------------------------
- public static function unserial($code)
- {
- return explode("\n", gzuncompress($code));
- }
-
- //----------------------------------------------------------------------
- public static function newFrame($version)
- {
- if($version < 1 || $version > QRSPEC_VERSION_MAX)
- return null;
-
- if(!isset(self::$frames[$version])) {
-
- $fileName = QR_CACHE_DIR.'frame_'.$version.'.dat';
-
- if (QR_CACHEABLE) {
- if (file_exists($fileName)) {
- self::$frames[$version] = self::unserial(file_get_contents($fileName));
- } else {
- self::$frames[$version] = self::createFrame($version);
- file_put_contents($fileName, self::serial(self::$frames[$version]));
- }
- } else {
- self::$frames[$version] = self::createFrame($version);
- }
- }
-
- if(is_null(self::$frames[$version]))
- return null;
-
- return self::$frames[$version];
- }
-
- //----------------------------------------------------------------------
- public static function rsBlockNum($spec) { return $spec[0] + $spec[3]; }
- public static function rsBlockNum1($spec) { return $spec[0]; }
- public static function rsDataCodes1($spec) { return $spec[1]; }
- public static function rsEccCodes1($spec) { return $spec[2]; }
- public static function rsBlockNum2($spec) { return $spec[3]; }
- public static function rsDataCodes2($spec) { return $spec[4]; }
- public static function rsEccCodes2($spec) { return $spec[2]; }
- public static function rsDataLength($spec) { return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); }
- public static function rsEccLength($spec) { return ($spec[0] + $spec[3]) * $spec[2]; }
-
- }
-
-
-
-//---- qrimage.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Image output of code using GD2
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('QR_IMAGE', true);
-
- class QRimage {
-
- //----------------------------------------------------------------------
- public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE)
- {
- $image = self::image($frame, $pixelPerPoint, $outerFrame);
-
- if ($filename === false) {
- Header("Content-type: image/png");
- ImagePng($image);
- } else {
- if($saveandprint===TRUE){
- ImagePng($image, $filename);
- header("Content-type: image/png");
- ImagePng($image);
- }else{
- ImagePng($image, $filename);
- }
- }
-
- ImageDestroy($image);
- }
-
- //----------------------------------------------------------------------
- public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85)
- {
- $image = self::image($frame, $pixelPerPoint, $outerFrame);
-
- if ($filename === false) {
- Header("Content-type: image/jpeg");
- ImageJpeg($image, null, $q);
- } else {
- ImageJpeg($image, $filename, $q);
- }
-
- ImageDestroy($image);
- }
-
- //----------------------------------------------------------------------
- private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4)
- {
- $h = count($frame);
- $w = strlen($frame[0]);
-
- $imgW = $w + 2*$outerFrame;
- $imgH = $h + 2*$outerFrame;
-
- $base_image =ImageCreate($imgW, $imgH);
-
- $col[0] = ImageColorAllocate($base_image,255,255,255);
- $col[1] = ImageColorAllocate($base_image,0,0,0);
-
- imagefill($base_image, 0, 0, $col[0]);
-
- for($y=0; $y<$h; $y++) {
- for($x=0; $x<$w; $x++) {
- if ($frame[$y][$x] == '1') {
- ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[1]);
- }
- }
- }
-
- $target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint);
- ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH);
- ImageDestroy($base_image);
-
- return $target_image;
- }
- }
-
-
-
-//---- qrinput.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Input encoding class
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('STRUCTURE_HEADER_BITS', 20);
- define('MAX_STRUCTURED_SYMBOLS', 16);
-
- class QRinputItem {
-
- public $mode;
- public $size;
- public $data;
- public $bstream;
-
- public function __construct($mode, $size, $data, $bstream = null)
- {
- $setData = array_slice($data, 0, $size);
-
- if (count($setData) < $size) {
- $setData = array_merge($setData, array_fill(0,$size-count($setData),0));
- }
-
- if(!QRinput::check($mode, $size, $setData)) {
- throw new Exception('Error m:'.$mode.',s:'.$size.',d:'.join(',',$setData));
- return null;
- }
-
- $this->mode = $mode;
- $this->size = $size;
- $this->data = $setData;
- $this->bstream = $bstream;
- }
-
- //----------------------------------------------------------------------
- public function encodeModeNum($version)
- {
- try {
-
- $words = (int)($this->size / 3);
- $bs = new QRbitstream();
-
- $val = 0x1;
- $bs->appendNum(4, $val);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_NUM, $version), $this->size);
-
- for($i=0; $i<$words; $i++) {
- $val = (ord($this->data[$i*3 ]) - ord('0')) * 100;
- $val += (ord($this->data[$i*3+1]) - ord('0')) * 10;
- $val += (ord($this->data[$i*3+2]) - ord('0'));
- $bs->appendNum(10, $val);
- }
-
- if($this->size - $words * 3 == 1) {
- $val = ord($this->data[$words*3]) - ord('0');
- $bs->appendNum(4, $val);
- } else if($this->size - $words * 3 == 2) {
- $val = (ord($this->data[$words*3 ]) - ord('0')) * 10;
- $val += (ord($this->data[$words*3+1]) - ord('0'));
- $bs->appendNum(7, $val);
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeModeAn($version)
- {
- try {
- $words = (int)($this->size / 2);
- $bs = new QRbitstream();
-
- $bs->appendNum(4, 0x02);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_AN, $version), $this->size);
-
- for($i=0; $i<$words; $i++) {
- $val = (int)QRinput::lookAnTable(ord($this->data[$i*2 ])) * 45;
- $val += (int)QRinput::lookAnTable(ord($this->data[$i*2+1]));
-
- $bs->appendNum(11, $val);
- }
-
- if($this->size & 1) {
- $val = QRinput::lookAnTable(ord($this->data[$words * 2]));
- $bs->appendNum(6, $val);
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeMode8($version)
- {
- try {
- $bs = new QRbitstream();
-
- $bs->appendNum(4, 0x4);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_8, $version), $this->size);
-
- for($i=0; $i<$this->size; $i++) {
- $bs->appendNum(8, ord($this->data[$i]));
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeModeKanji($version)
- {
- try {
-
- $bs = new QRbitrtream();
-
- $bs->appendNum(4, 0x8);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_KANJI, $version), (int)($this->size / 2));
-
- for($i=0; $i<$this->size; $i+=2) {
- $val = (ord($this->data[$i]) << 8) | ord($this->data[$i+1]);
- if($val <= 0x9ffc) {
- $val -= 0x8140;
- } else {
- $val -= 0xc140;
- }
-
- $h = ($val >> 8) * 0xc0;
- $val = ($val & 0xff) + $h;
-
- $bs->appendNum(13, $val);
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeModeStructure()
- {
- try {
- $bs = new QRbitstream();
-
- $bs->appendNum(4, 0x03);
- $bs->appendNum(4, ord($this->data[1]) - 1);
- $bs->appendNum(4, ord($this->data[0]) - 1);
- $bs->appendNum(8, ord($this->data[2]));
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function estimateBitStreamSizeOfEntry($version)
- {
- $bits = 0;
-
- if($version == 0)
- $version = 1;
-
- switch($this->mode) {
- case QR_MODE_NUM: $bits = QRinput::estimateBitsModeNum($this->size); break;
- case QR_MODE_AN: $bits = QRinput::estimateBitsModeAn($this->size); break;
- case QR_MODE_8: $bits = QRinput::estimateBitsMode8($this->size); break;
- case QR_MODE_KANJI: $bits = QRinput::estimateBitsModeKanji($this->size);break;
- case QR_MODE_STRUCTURE: return STRUCTURE_HEADER_BITS;
- default:
- return 0;
- }
-
- $l = QRspec::lengthIndicator($this->mode, $version);
- $m = 1 << $l;
- $num = (int)(($this->size + $m - 1) / $m);
-
- $bits += $num * (4 + $l);
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public function encodeBitStream($version)
- {
- try {
-
- unset($this->bstream);
- $words = QRspec::maximumWords($this->mode, $version);
-
- if($this->size > $words) {
-
- $st1 = new QRinputItem($this->mode, $words, $this->data);
- $st2 = new QRinputItem($this->mode, $this->size - $words, array_slice($this->data, $words));
-
- $st1->encodeBitStream($version);
- $st2->encodeBitStream($version);
-
- $this->bstream = new QRbitstream();
- $this->bstream->append($st1->bstream);
- $this->bstream->append($st2->bstream);
-
- unset($st1);
- unset($st2);
-
- } else {
-
- $ret = 0;
-
- switch($this->mode) {
- case QR_MODE_NUM: $ret = $this->encodeModeNum($version); break;
- case QR_MODE_AN: $ret = $this->encodeModeAn($version); break;
- case QR_MODE_8: $ret = $this->encodeMode8($version); break;
- case QR_MODE_KANJI: $ret = $this->encodeModeKanji($version);break;
- case QR_MODE_STRUCTURE: $ret = $this->encodeModeStructure(); break;
-
- default:
- break;
- }
-
- if($ret < 0)
- return -1;
- }
-
- return $this->bstream->size();
-
- } catch (Exception $e) {
- return -1;
- }
- }
- };
-
- //##########################################################################
-
- class QRinput {
-
- public $items;
-
- private $version;
- private $level;
-
- //----------------------------------------------------------------------
- public function __construct($version = 0, $level = QR_ECLEVEL_L)
- {
- if ($version < 0 || $version > QRSPEC_VERSION_MAX || $level > QR_ECLEVEL_H) {
- throw new Exception('Invalid version no');
- return NULL;
- }
-
- $this->version = $version;
- $this->level = $level;
- }
-
- //----------------------------------------------------------------------
- public function getVersion()
- {
- return $this->version;
- }
-
- //----------------------------------------------------------------------
- public function setVersion($version)
- {
- if($version < 0 || $version > QRSPEC_VERSION_MAX) {
- throw new Exception('Invalid version no');
- return -1;
- }
-
- $this->version = $version;
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function getErrorCorrectionLevel()
- {
- return $this->level;
- }
-
- //----------------------------------------------------------------------
- public function setErrorCorrectionLevel($level)
- {
- if($level > QR_ECLEVEL_H) {
- throw new Exception('Invalid ECLEVEL');
- return -1;
- }
-
- $this->level = $level;
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function appendEntry(QRinputItem $entry)
- {
- $this->items[] = $entry;
- }
-
- //----------------------------------------------------------------------
- public function append($mode, $size, $data)
- {
- try {
- $entry = new QRinputItem($mode, $size, $data);
- $this->items[] = $entry;
- return 0;
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
-
- public function insertStructuredAppendHeader($size, $index, $parity)
- {
- if( $size > MAX_STRUCTURED_SYMBOLS ) {
- throw new Exception('insertStructuredAppendHeader wrong size');
- }
-
- if( $index <= 0 || $index > MAX_STRUCTURED_SYMBOLS ) {
- throw new Exception('insertStructuredAppendHeader wrong index');
- }
-
- $buf = array($size, $index, $parity);
-
- try {
- $entry = new QRinputItem(QR_MODE_STRUCTURE, 3, buf);
- array_unshift($this->items, $entry);
- return 0;
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function calcParity()
- {
- $parity = 0;
-
- foreach($this->items as $item) {
- if($item->mode != QR_MODE_STRUCTURE) {
- for($i=$item->size-1; $i>=0; $i--) {
- $parity ^= $item->data[$i];
- }
- }
- }
-
- return $parity;
- }
-
- //----------------------------------------------------------------------
- public static function checkModeNum($size, $data)
- {
- for($i=0; $i<$size; $i++) {
- if((ord($data[$i]) < ord('0')) || (ord($data[$i]) > ord('9'))){
- return false;
- }
- }
-
- return true;
- }
-
- //----------------------------------------------------------------------
- public static function estimateBitsModeNum($size)
- {
- $w = (int)$size / 3;
- $bits = $w * 10;
-
- switch($size - $w * 3) {
- case 1:
- $bits += 4;
- break;
- case 2:
- $bits += 7;
- break;
- default:
- break;
- }
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public static $anTable = array(
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43,
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1,
- -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- );
-
- //----------------------------------------------------------------------
- public static function lookAnTable($c)
- {
- return (($c > 127)?-1:self::$anTable[$c]);
- }
-
- //----------------------------------------------------------------------
- public static function checkModeAn($size, $data)
- {
- for($i=0; $i<$size; $i++) {
- if (self::lookAnTable(ord($data[$i])) == -1) {
- return false;
- }
- }
-
- return true;
- }
-
- //----------------------------------------------------------------------
- public static function estimateBitsModeAn($size)
- {
- $w = (int)($size / 2);
- $bits = $w * 11;
-
- if($size & 1) {
- $bits += 6;
- }
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public static function estimateBitsMode8($size)
- {
- return $size * 8;
- }
-
- //----------------------------------------------------------------------
- public function estimateBitsModeKanji($size)
- {
- return (int)(($size / 2) * 13);
- }
-
- //----------------------------------------------------------------------
- public static function checkModeKanji($size, $data)
- {
- if($size & 1)
- return false;
-
- for($i=0; $i<$size; $i+=2) {
- $val = (ord($data[$i]) << 8) | ord($data[$i+1]);
- if( $val < 0x8140
- || ($val > 0x9ffc && $val < 0xe040)
- || $val > 0xebbf) {
- return false;
- }
- }
-
- return true;
- }
-
- /***********************************************************************
- * Validation
- **********************************************************************/
-
- public static function check($mode, $size, $data)
- {
- if($size <= 0)
- return false;
-
- switch($mode) {
- case QR_MODE_NUM: return self::checkModeNum($size, $data); break;
- case QR_MODE_AN: return self::checkModeAn($size, $data); break;
- case QR_MODE_KANJI: return self::checkModeKanji($size, $data); break;
- case QR_MODE_8: return true; break;
- case QR_MODE_STRUCTURE: return true; break;
-
- default:
- break;
- }
-
- return false;
- }
-
-
- //----------------------------------------------------------------------
- public function estimateBitStreamSize($version)
- {
- $bits = 0;
-
- foreach($this->items as $item) {
- $bits += $item->estimateBitStreamSizeOfEntry($version);
- }
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public function estimateVersion()
- {
- $version = 0;
- $prev = 0;
- do {
- $prev = $version;
- $bits = $this->estimateBitStreamSize($prev);
- $version = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level);
- if ($version < 0) {
- return -1;
- }
- } while ($version > $prev);
-
- return $version;
- }
-
- //----------------------------------------------------------------------
- public static function lengthOfCode($mode, $version, $bits)
- {
- $payload = $bits - 4 - QRspec::lengthIndicator($mode, $version);
- switch($mode) {
- case QR_MODE_NUM:
- $chunks = (int)($payload / 10);
- $remain = $payload - $chunks * 10;
- $size = $chunks * 3;
- if($remain >= 7) {
- $size += 2;
- } else if($remain >= 4) {
- $size += 1;
- }
- break;
- case QR_MODE_AN:
- $chunks = (int)($payload / 11);
- $remain = $payload - $chunks * 11;
- $size = $chunks * 2;
- if($remain >= 6)
- $size++;
- break;
- case QR_MODE_8:
- $size = (int)($payload / 8);
- break;
- case QR_MODE_KANJI:
- $size = (int)(($payload / 13) * 2);
- break;
- case QR_MODE_STRUCTURE:
- $size = (int)($payload / 8);
- break;
- default:
- $size = 0;
- break;
- }
-
- $maxsize = QRspec::maximumWords($mode, $version);
- if($size < 0) $size = 0;
- if($size > $maxsize) $size = $maxsize;
-
- return $size;
- }
-
- //----------------------------------------------------------------------
- public function createBitStream()
- {
- $total = 0;
-
- foreach($this->items as $item) {
- $bits = $item->encodeBitStream($this->version);
-
- if($bits < 0)
- return -1;
-
- $total += $bits;
- }
-
- return $total;
- }
-
- //----------------------------------------------------------------------
- public function convertData()
- {
- $ver = $this->estimateVersion();
- if($ver > $this->getVersion()) {
- $this->setVersion($ver);
- }
-
- for(;;) {
- $bits = $this->createBitStream();
-
- if($bits < 0)
- return -1;
-
- $ver = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level);
- if($ver < 0) {
- throw new Exception('WRONG VERSION');
- return -1;
- } else if($ver > $this->getVersion()) {
- $this->setVersion($ver);
- } else {
- break;
- }
- }
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function appendPaddingBit(&$bstream)
- {
- $bits = $bstream->size();
- $maxwords = QRspec::getDataLength($this->version, $this->level);
- $maxbits = $maxwords * 8;
-
- if ($maxbits == $bits) {
- return 0;
- }
-
- if ($maxbits - $bits < 5) {
- return $bstream->appendNum($maxbits - $bits, 0);
- }
-
- $bits += 4;
- $words = (int)(($bits + 7) / 8);
-
- $padding = new QRbitstream();
- $ret = $padding->appendNum($words * 8 - $bits + 4, 0);
-
- if($ret < 0)
- return $ret;
-
- $padlen = $maxwords - $words;
-
- if($padlen > 0) {
-
- $padbuf = array();
- for($i=0; $i<$padlen; $i++) {
- $padbuf[$i] = ($i&1)?0x11:0xec;
- }
-
- $ret = $padding->appendBytes($padlen, $padbuf);
-
- if($ret < 0)
- return $ret;
-
- }
-
- $ret = $bstream->append($padding);
-
- return $ret;
- }
-
- //----------------------------------------------------------------------
- public function mergeBitStream()
- {
- if($this->convertData() < 0) {
- return null;
- }
-
- $bstream = new QRbitstream();
-
- foreach($this->items as $item) {
- $ret = $bstream->append($item->bstream);
- if($ret < 0) {
- return null;
- }
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public function getBitStream()
- {
-
- $bstream = $this->mergeBitStream();
-
- if($bstream == null) {
- return null;
- }
-
- $ret = $this->appendPaddingBit($bstream);
- if($ret < 0) {
- return null;
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public function getByteStream()
- {
- $bstream = $this->getBitStream();
- if($bstream == null) {
- return null;
- }
-
- return $bstream->toByte();
- }
- }
-
-
-
-
-
-
-//---- qrbitstream.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Bitstream class
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRbitstream {
-
- public $data = array();
-
- //----------------------------------------------------------------------
- public function size()
- {
- return count($this->data);
- }
-
- //----------------------------------------------------------------------
- public function allocate($setLength)
- {
- $this->data = array_fill(0, $setLength, 0);
- return 0;
- }
-
- //----------------------------------------------------------------------
- public static function newFromNum($bits, $num)
- {
- $bstream = new QRbitstream();
- $bstream->allocate($bits);
-
- $mask = 1 << ($bits - 1);
- for($i=0; $i<$bits; $i++) {
- if($num & $mask) {
- $bstream->data[$i] = 1;
- } else {
- $bstream->data[$i] = 0;
- }
- $mask = $mask >> 1;
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public static function newFromBytes($size, $data)
- {
- $bstream = new QRbitstream();
- $bstream->allocate($size * 8);
- $p=0;
-
- for($i=0; $i<$size; $i++) {
- $mask = 0x80;
- for($j=0; $j<8; $j++) {
- if($data[$i] & $mask) {
- $bstream->data[$p] = 1;
- } else {
- $bstream->data[$p] = 0;
- }
- $p++;
- $mask = $mask >> 1;
- }
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public function append(QRbitstream $arg)
- {
- if (is_null($arg)) {
- return -1;
- }
-
- if($arg->size() == 0) {
- return 0;
- }
-
- if($this->size() == 0) {
- $this->data = $arg->data;
- return 0;
- }
-
- $this->data = array_values(array_merge($this->data, $arg->data));
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function appendNum($bits, $num)
- {
- if ($bits == 0)
- return 0;
-
- $b = QRbitstream::newFromNum($bits, $num);
-
- if(is_null($b))
- return -1;
-
- $ret = $this->append($b);
- unset($b);
-
- return $ret;
- }
-
- //----------------------------------------------------------------------
- public function appendBytes($size, $data)
- {
- if ($size == 0)
- return 0;
-
- $b = QRbitstream::newFromBytes($size, $data);
-
- if(is_null($b))
- return -1;
-
- $ret = $this->append($b);
- unset($b);
-
- return $ret;
- }
-
- //----------------------------------------------------------------------
- public function toByte()
- {
-
- $size = $this->size();
-
- if($size == 0) {
- return array();
- }
-
- $data = array_fill(0, (int)(($size + 7) / 8), 0);
- $bytes = (int)($size / 8);
-
- $p = 0;
-
- for($i=0; $i<$bytes; $i++) {
- $v = 0;
- for($j=0; $j<8; $j++) {
- $v = $v << 1;
- $v |= $this->data[$p];
- $p++;
- }
- $data[$i] = $v;
- }
-
- if($size & 7) {
- $v = 0;
- for($j=0; $j<($size & 7); $j++) {
- $v = $v << 1;
- $v |= $this->data[$p];
- $p++;
- }
- $data[$bytes] = $v;
- }
-
- return $data;
- }
-
- }
-
-
-
-
-//---- qrsplit.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Input splitting classes
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * The following data / specifications are taken from
- * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004)
- * or
- * "Automatic identification and data capture techniques --
- * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
- class QRsplit {
-
- public $dataStr = '';
- public $input;
- public $modeHint;
-
- //----------------------------------------------------------------------
- public function __construct($dataStr, $input, $modeHint)
- {
- $this->dataStr = $dataStr;
- $this->input = $input;
- $this->modeHint = $modeHint;
- }
-
- //----------------------------------------------------------------------
- public static function isdigitat($str, $pos)
- {
- if ($pos >= strlen($str))
- return false;
-
- return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9')));
- }
-
- //----------------------------------------------------------------------
- public static function isalnumat($str, $pos)
- {
- if ($pos >= strlen($str))
- return false;
-
- return (QRinput::lookAnTable(ord($str[$pos])) >= 0);
- }
-
- //----------------------------------------------------------------------
- public function identifyMode($pos)
- {
- if ($pos >= strlen($this->dataStr))
- return QR_MODE_NUL;
-
- $c = $this->dataStr[$pos];
-
- if(self::isdigitat($this->dataStr, $pos)) {
- return QR_MODE_NUM;
- } else if(self::isalnumat($this->dataStr, $pos)) {
- return QR_MODE_AN;
- } else if($this->modeHint == QR_MODE_KANJI) {
-
- if ($pos+1 < strlen($this->dataStr))
- {
- $d = $this->dataStr[$pos+1];
- $word = (ord($c) << 8) | ord($d);
- if(($word >= 0x8140 && $word <= 0x9ffc) || ($word >= 0xe040 && $word <= 0xebbf)) {
- return QR_MODE_KANJI;
- }
- }
- }
-
- return QR_MODE_8;
- }
-
- //----------------------------------------------------------------------
- public function eatNum()
- {
- $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
-
- $p = 0;
- while(self::isdigitat($this->dataStr, $p)) {
- $p++;
- }
-
- $run = $p;
- $mode = $this->identifyMode($p);
-
- if($mode == QR_MODE_8) {
- $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln
- + QRinput::estimateBitsMode8(1) // + 4 + l8
- - QRinput::estimateBitsMode8($run + 1); // - 4 - l8
- if($dif > 0) {
- return $this->eat8();
- }
- }
- if($mode == QR_MODE_AN) {
- $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln
- + QRinput::estimateBitsModeAn(1) // + 4 + la
- - QRinput::estimateBitsModeAn($run + 1);// - 4 - la
- if($dif > 0) {
- return $this->eatAn();
- }
- }
-
- $ret = $this->input->append(QR_MODE_NUM, $run, str_split($this->dataStr));
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function eatAn()
- {
- $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion());
- $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
-
- $p = 0;
-
- while(self::isalnumat($this->dataStr, $p)) {
- if(self::isdigitat($this->dataStr, $p)) {
- $q = $p;
- while(self::isdigitat($this->dataStr, $q)) {
- $q++;
- }
-
- $dif = QRinput::estimateBitsModeAn($p) // + 4 + la
- + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln
- - QRinput::estimateBitsModeAn($q); // - 4 - la
-
- if($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else {
- $p++;
- }
- }
-
- $run = $p;
-
- if(!self::isalnumat($this->dataStr, $p)) {
- $dif = QRinput::estimateBitsModeAn($run) + 4 + $la
- + QRinput::estimateBitsMode8(1) // + 4 + l8
- - QRinput::estimateBitsMode8($run + 1); // - 4 - l8
- if($dif > 0) {
- return $this->eat8();
- }
- }
-
- $ret = $this->input->append(QR_MODE_AN, $run, str_split($this->dataStr));
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function eatKanji()
- {
- $p = 0;
-
- while($this->identifyMode($p) == QR_MODE_KANJI) {
- $p += 2;
- }
-
- $ret = $this->input->append(QR_MODE_KANJI, $p, str_split($this->dataStr));
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function eat8()
- {
- $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion());
- $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
-
- $p = 1;
- $dataStrLen = strlen($this->dataStr);
-
- while($p < $dataStrLen) {
-
- $mode = $this->identifyMode($p);
- if($mode == QR_MODE_KANJI) {
- break;
- }
- if($mode == QR_MODE_NUM) {
- $q = $p;
- while(self::isdigitat($this->dataStr, $q)) {
- $q++;
- }
- $dif = QRinput::estimateBitsMode8($p) // + 4 + l8
- + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln
- - QRinput::estimateBitsMode8($q); // - 4 - l8
- if($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else if($mode == QR_MODE_AN) {
- $q = $p;
- while(self::isalnumat($this->dataStr, $q)) {
- $q++;
- }
- $dif = QRinput::estimateBitsMode8($p) // + 4 + l8
- + QRinput::estimateBitsModeAn($q - $p) + 4 + $la
- - QRinput::estimateBitsMode8($q); // - 4 - l8
- if($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else {
- $p++;
- }
- }
-
- $run = $p;
- $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr));
-
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function splitString()
- {
- while (strlen($this->dataStr) > 0)
- {
- if($this->dataStr == '')
- return 0;
-
- $mode = $this->identifyMode(0);
-
- switch ($mode) {
- case QR_MODE_NUM: $length = $this->eatNum(); break;
- case QR_MODE_AN: $length = $this->eatAn(); break;
- case QR_MODE_KANJI:
- if ($hint == QR_MODE_KANJI)
- $length = $this->eatKanji();
- else $length = $this->eat8();
- break;
- default: $length = $this->eat8(); break;
-
- }
-
- if($length == 0) return 0;
- if($length < 0) return -1;
-
- $this->dataStr = substr($this->dataStr, $length);
- }
- }
-
- //----------------------------------------------------------------------
- public function toUpper()
- {
- $stringLen = strlen($this->dataStr);
- $p = 0;
-
- while ($p<$stringLen) {
- $mode = self::identifyMode(substr($this->dataStr, $p), $this->modeHint);
- if($mode == QR_MODE_KANJI) {
- $p += 2;
- } else {
- if (ord($this->dataStr[$p]) >= ord('a') && ord($this->dataStr[$p]) <= ord('z')) {
- $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32);
- }
- $p++;
- }
- }
-
- return $this->dataStr;
- }
-
- //----------------------------------------------------------------------
- public static function splitStringToQRinput($string, QRinput $input, $modeHint, $casesensitive = true)
- {
- if(is_null($string) || $string == '\0' || $string == '') {
- throw new Exception('empty string!!!');
- }
-
- $split = new QRsplit($string, $input, $modeHint);
-
- if(!$casesensitive)
- $split->toUpper();
-
- return $split->splitString();
- }
- }
-
-
-
-//---- qrrscode.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Reed-Solomon error correction support
- *
- * Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q
- * (libfec is released under the GNU Lesser General Public License.)
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRrsItem {
-
- public $mm; // Bits per symbol
- public $nn; // Symbols per block (= (1<<mm)-1)
- public $alpha_to = array(); // log lookup table
- public $index_of = array(); // Antilog lookup table
- public $genpoly = array(); // Generator polynomial
- public $nroots; // Number of generator roots = number of parity symbols
- public $fcr; // First consecutive root, index form
- public $prim; // Primitive element, index form
- public $iprim; // prim-th root of 1, index form
- public $pad; // Padding bytes in shortened block
- public $gfpoly;
-
- //----------------------------------------------------------------------
- public function modnn($x)
- {
- while ($x >= $this->nn) {
- $x -= $this->nn;
- $x = ($x >> $this->mm) + ($x & $this->nn);
- }
-
- return $x;
- }
-
- //----------------------------------------------------------------------
- public static function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad)
- {
- // Common code for intializing a Reed-Solomon control block (char or int symbols)
- // Copyright 2004 Phil Karn, KA9Q
- // May be used under the terms of the GNU Lesser General Public License (LGPL)
-
- $rs = null;
-
- // Check parameter ranges
- if($symsize < 0 || $symsize > 8) return $rs;
- if($fcr < 0 || $fcr >= (1<<$symsize)) return $rs;
- if($prim <= 0 || $prim >= (1<<$symsize)) return $rs;
- if($nroots < 0 || $nroots >= (1<<$symsize)) return $rs; // Can't have more roots than symbol values!
- if($pad < 0 || $pad >= ((1<<$symsize) -1 - $nroots)) return $rs; // Too much padding
-
- $rs = new QRrsItem();
- $rs->mm = $symsize;
- $rs->nn = (1<<$symsize)-1;
- $rs->pad = $pad;
-
- $rs->alpha_to = array_fill(0, $rs->nn+1, 0);
- $rs->index_of = array_fill(0, $rs->nn+1, 0);
-
- // PHP style macro replacement ;)
- $NN =& $rs->nn;
- $A0 =& $NN;
-
- // Generate Galois field lookup tables
- $rs->index_of[0] = $A0; // log(zero) = -inf
- $rs->alpha_to[$A0] = 0; // alpha**-inf = 0
- $sr = 1;
-
- for($i=0; $i<$rs->nn; $i++) {
- $rs->index_of[$sr] = $i;
- $rs->alpha_to[$i] = $sr;
- $sr <<= 1;
- if($sr & (1<<$symsize)) {
- $sr ^= $gfpoly;
- }
- $sr &= $rs->nn;
- }
-
- if($sr != 1){
- // field generator polynomial is not primitive!
- $rs = NULL;
- return $rs;
- }
-
- /* Form RS code generator polynomial from its roots */
- $rs->genpoly = array_fill(0, $nroots+1, 0);
-
- $rs->fcr = $fcr;
- $rs->prim = $prim;
- $rs->nroots = $nroots;
- $rs->gfpoly = $gfpoly;
-
- /* Find prim-th root of 1, used in decoding */
- for($iprim=1;($iprim % $prim) != 0;$iprim += $rs->nn)
- ; // intentional empty-body loop!
-
- $rs->iprim = (int)($iprim / $prim);
- $rs->genpoly[0] = 1;
-
- for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) {
- $rs->genpoly[$i+1] = 1;
-
- // Multiply rs->genpoly[] by @**(root + x)
- for ($j = $i; $j > 0; $j--) {
- if ($rs->genpoly[$j] != 0) {
- $rs->genpoly[$j] = $rs->genpoly[$j-1] ^ $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[$j]] + $root)];
- } else {
- $rs->genpoly[$j] = $rs->genpoly[$j-1];
- }
- }
- // rs->genpoly[0] can never be zero
- $rs->genpoly[0] = $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[0]] + $root)];
- }
-
- // convert rs->genpoly[] to index form for quicker encoding
- for ($i = 0; $i <= $nroots; $i++)
- $rs->genpoly[$i] = $rs->index_of[$rs->genpoly[$i]];
-
- return $rs;
- }
-
- //----------------------------------------------------------------------
- public function encode_rs_char($data, &$parity)
- {
- $MM =& $this->mm;
- $NN =& $this->nn;
- $ALPHA_TO =& $this->alpha_to;
- $INDEX_OF =& $this->index_of;
- $GENPOLY =& $this->genpoly;
- $NROOTS =& $this->nroots;
- $FCR =& $this->fcr;
- $PRIM =& $this->prim;
- $IPRIM =& $this->iprim;
- $PAD =& $this->pad;
- $A0 =& $NN;
-
- $parity = array_fill(0, $NROOTS, 0);
-
- for($i=0; $i< ($NN-$NROOTS-$PAD); $i++) {
-
- $feedback = $INDEX_OF[$data[$i] ^ $parity[0]];
- if($feedback != $A0) {
- // feedback term is non-zero
-
- // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must
- // always be for the polynomials constructed by init_rs()
- $feedback = $this->modnn($NN - $GENPOLY[$NROOTS] + $feedback);
-
- for($j=1;$j<$NROOTS;$j++) {
- $parity[$j] ^= $ALPHA_TO[$this->modnn($feedback + $GENPOLY[$NROOTS-$j])];
- }
- }
-
- // Shift
- array_shift($parity);
- if($feedback != $A0) {
- array_push($parity, $ALPHA_TO[$this->modnn($feedback + $GENPOLY[0])]);
- } else {
- array_push($parity, 0);
- }
- }
- }
- }
-
- //##########################################################################
-
- class QRrs {
-
- public static $items = array();
-
- //----------------------------------------------------------------------
- public static function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad)
- {
- foreach(self::$items as $rs) {
- if($rs->pad != $pad) continue;
- if($rs->nroots != $nroots) continue;
- if($rs->mm != $symsize) continue;
- if($rs->gfpoly != $gfpoly) continue;
- if($rs->fcr != $fcr) continue;
- if($rs->prim != $prim) continue;
-
- return $rs;
- }
-
- $rs = QRrsItem::init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad);
- array_unshift(self::$items, $rs);
-
- return $rs;
- }
- }
-
-
-
-//---- qrmask.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Masking
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('N1', 3);
- define('N2', 3);
- define('N3', 40);
- define('N4', 10);
-
- class QRmask {
-
- public $runLength = array();
-
- //----------------------------------------------------------------------
- public function __construct()
- {
- $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0);
- }
-
- //----------------------------------------------------------------------
- public function writeFormatInformation($width, &$frame, $mask, $level)
- {
- $blacks = 0;
- $format = QRspec::getFormatInfo($mask, $level);
-
- for($i=0; $i<8; $i++) {
- if($format & 1) {
- $blacks += 2;
- $v = 0x85;
- } else {
- $v = 0x84;
- }
-
- $frame[8][$width - 1 - $i] = chr($v);
- if($i < 6) {
- $frame[$i][8] = chr($v);
- } else {
- $frame[$i + 1][8] = chr($v);
- }
- $format = $format >> 1;
- }
-
- for($i=0; $i<7; $i++) {
- if($format & 1) {
- $blacks += 2;
- $v = 0x85;
- } else {
- $v = 0x84;
- }
-
- $frame[$width - 7 + $i][8] = chr($v);
- if($i == 0) {
- $frame[8][7] = chr($v);
- } else {
- $frame[8][6 - $i] = chr($v);
- }
-
- $format = $format >> 1;
- }
-
- return $blacks;
- }
-
- //----------------------------------------------------------------------
- public function mask0($x, $y) { return ($x+$y)&1; }
- public function mask1($x, $y) { return ($y&1); }
- public function mask2($x, $y) { return ($x%3); }
- public function mask3($x, $y) { return ($x+$y)%3; }
- public function mask4($x, $y) { return (((int)($y/2))+((int)($x/3)))&1; }
- public function mask5($x, $y) { return (($x*$y)&1)+($x*$y)%3; }
- public function mask6($x, $y) { return ((($x*$y)&1)+($x*$y)%3)&1; }
- public function mask7($x, $y) { return ((($x*$y)%3)+(($x+$y)&1))&1; }
-
- //----------------------------------------------------------------------
- private function generateMaskNo($maskNo, $width, $frame)
- {
- $bitMask = array_fill(0, $width, array_fill(0, $width, 0));
-
- for($y=0; $y<$width; $y++) {
- for($x=0; $x<$width; $x++) {
- if(ord($frame[$y][$x]) & 0x80) {
- $bitMask[$y][$x] = 0;
- } else {
- $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y);
- $bitMask[$y][$x] = ($maskFunc == 0)?1:0;
- }
-
- }
- }
-
- return $bitMask;
- }
-
- //----------------------------------------------------------------------
- public static function serial($bitFrame)
- {
- $codeArr = array();
-
- foreach ($bitFrame as $line)
- $codeArr[] = join('', $line);
-
- return gzcompress(join("\n", $codeArr), 9);
- }
-
- //----------------------------------------------------------------------
- public static function unserial($code)
- {
- $codeArr = array();
-
- $codeLines = explode("\n", gzuncompress($code));
- foreach ($codeLines as $line)
- $codeArr[] = str_split($line);
-
- return $codeArr;
- }
-
- //----------------------------------------------------------------------
- public function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly = false)
- {
- $b = 0;
- $bitMask = array();
-
- $fileName = QR_CACHE_DIR.'mask_'.$maskNo.DIRECTORY_SEPARATOR.'mask_'.$width.'_'.$maskNo.'.dat';
-
- if (QR_CACHEABLE) {
- if (file_exists($fileName)) {
- $bitMask = self::unserial(file_get_contents($fileName));
- } else {
- $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
- if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo))
- mkdir(QR_CACHE_DIR.'mask_'.$maskNo);
- file_put_contents($fileName, self::serial($bitMask));
- }
- } else {
- $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
- }
-
- if ($maskGenOnly)
- return;
-
- $d = $s;
-
- for($y=0; $y<$width; $y++) {
- for($x=0; $x<$width; $x++) {
- if($bitMask[$y][$x] == 1) {
- $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]);
- }
- $b += (int)(ord($d[$y][$x]) & 1);
- }
- }
-
- return $b;
- }
-
- //----------------------------------------------------------------------
- public function makeMask($width, $frame, $maskNo, $level)
- {
- $masked = array_fill(0, $width, str_repeat("\0", $width));
- $this->makeMaskNo($maskNo, $width, $frame, $masked);
- $this->writeFormatInformation($width, $masked, $maskNo, $level);
-
- return $masked;
- }
-
- //----------------------------------------------------------------------
- public function calcN1N3($length)
- {
- $demerit = 0;
-
- for($i=0; $i<$length; $i++) {
-
- if($this->runLength[$i] >= 5) {
- $demerit += (N1 + ($this->runLength[$i] - 5));
- }
- if($i & 1) {
- if(($i >= 3) && ($i < ($length-2)) && ($this->runLength[$i] % 3 == 0)) {
- $fact = (int)($this->runLength[$i] / 3);
- if(($this->runLength[$i-2] == $fact) &&
- ($this->runLength[$i-1] == $fact) &&
- ($this->runLength[$i+1] == $fact) &&
- ($this->runLength[$i+2] == $fact)) {
- if(($this->runLength[$i-3] < 0) || ($this->runLength[$i-3] >= (4 * $fact))) {
- $demerit += N3;
- } else if((($i+3) >= $length) || ($this->runLength[$i+3] >= (4 * $fact))) {
- $demerit += N3;
- }
- }
- }
- }
- }
- return $demerit;
- }
-
- //----------------------------------------------------------------------
- public function evaluateSymbol($width, $frame)
- {
- $head = 0;
- $demerit = 0;
-
- for($y=0; $y<$width; $y++) {
- $head = 0;
- $this->runLength[0] = 1;
-
- $frameY = $frame[$y];
-
- if ($y>0)
- $frameYM = $frame[$y-1];
-
- for($x=0; $x<$width; $x++) {
- if(($x > 0) && ($y > 0)) {
- $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]);
- $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]);
-
- if(($b22 | ($w22 ^ 1))&1) {
- $demerit += N2;
- }
- }
- if(($x == 0) && (ord($frameY[$x]) & 1)) {
- $this->runLength[0] = -1;
- $head = 1;
- $this->runLength[$head] = 1;
- } else if($x > 0) {
- if((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) {
- $head++;
- $this->runLength[$head] = 1;
- } else {
- $this->runLength[$head]++;
- }
- }
- }
-
- $demerit += $this->calcN1N3($head+1);
- }
-
- for($x=0; $x<$width; $x++) {
- $head = 0;
- $this->runLength[0] = 1;
-
- for($y=0; $y<$width; $y++) {
- if($y == 0 && (ord($frame[$y][$x]) & 1)) {
- $this->runLength[0] = -1;
- $head = 1;
- $this->runLength[$head] = 1;
- } else if($y > 0) {
- if((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) {
- $head++;
- $this->runLength[$head] = 1;
- } else {
- $this->runLength[$head]++;
- }
- }
- }
-
- $demerit += $this->calcN1N3($head+1);
- }
-
- return $demerit;
- }
-
-
- //----------------------------------------------------------------------
- public function mask($width, $frame, $level)
- {
- $minDemerit = PHP_INT_MAX;
- $bestMaskNum = 0;
- $bestMask = array();
-
- $checked_masks = array(0,1,2,3,4,5,6,7);
-
- if (QR_FIND_FROM_RANDOM !== false) {
-
- $howManuOut = 8-(QR_FIND_FROM_RANDOM % 9);
- for ($i = 0; $i < $howManuOut; $i++) {
- $remPos = rand (0, count($checked_masks)-1);
- unset($checked_masks[$remPos]);
- $checked_masks = array_values($checked_masks);
- }
-
- }
-
- $bestMask = $frame;
-
- foreach($checked_masks as $i) {
- $mask = array_fill(0, $width, str_repeat("\0", $width));
-
- $demerit = 0;
- $blacks = 0;
- $blacks = $this->makeMaskNo($i, $width, $frame, $mask);
- $blacks += $this->writeFormatInformation($width, $mask, $i, $level);
- $blacks = (int)(100 * $blacks / ($width * $width));
- $demerit = (int)((int)(abs($blacks - 50) / 5) * N4);
- $demerit += $this->evaluateSymbol($width, $mask);
-
- if($demerit < $minDemerit) {
- $minDemerit = $demerit;
- $bestMask = $mask;
- $bestMaskNum = $i;
- }
- }
-
- return $bestMask;
- }
-
- //----------------------------------------------------------------------
- }
-
-
-
-
-//---- qrencode.php -----------------------------
-
-
-
-
-/*
- * PHP QR Code encoder
- *
- * Main encoder classes.
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRrsblock {
- public $dataLength;
- public $data = array();
- public $eccLength;
- public $ecc = array();
-
- public function __construct($dl, $data, $el, &$ecc, QRrsItem $rs)
- {
- $rs->encode_rs_char($data, $ecc);
-
- $this->dataLength = $dl;
- $this->data = $data;
- $this->eccLength = $el;
- $this->ecc = $ecc;
- }
- };
-
- //##########################################################################
-
- class QRrawcode {
- public $version;
- public $datacode = array();
- public $ecccode = array();
- public $blocks;
- public $rsblocks = array(); //of RSblock
- public $count;
- public $dataLength;
- public $eccLength;
- public $b1;
-
- //----------------------------------------------------------------------
- public function __construct(QRinput $input)
- {
- $spec = array(0,0,0,0,0);
-
- $this->datacode = $input->getByteStream();
- if(is_null($this->datacode)) {
- throw new Exception('null imput string');
- }
-
- QRspec::getEccSpec($input->getVersion(), $input->getErrorCorrectionLevel(), $spec);
-
- $this->version = $input->getVersion();
- $this->b1 = QRspec::rsBlockNum1($spec);
- $this->dataLength = QRspec::rsDataLength($spec);
- $this->eccLength = QRspec::rsEccLength($spec);
- $this->ecccode = array_fill(0, $this->eccLength, 0);
- $this->blocks = QRspec::rsBlockNum($spec);
-
- $ret = $this->init($spec);
- if($ret < 0) {
- throw new Exception('block alloc error');
- return null;
- }
-
- $this->count = 0;
- }
-
- //----------------------------------------------------------------------
- public function init(array $spec)
- {
- $dl = QRspec::rsDataCodes1($spec);
- $el = QRspec::rsEccCodes1($spec);
- $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
-
-
- $blockNo = 0;
- $dataPos = 0;
- $eccPos = 0;
- for($i=0; $i<QRspec::rsBlockNum1($spec); $i++) {
- $ecc = array_slice($this->ecccode,$eccPos);
- $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs);
- $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc);
-
- $dataPos += $dl;
- $eccPos += $el;
- $blockNo++;
- }
-
- if(QRspec::rsBlockNum2($spec) == 0)
- return 0;
-
- $dl = QRspec::rsDataCodes2($spec);
- $el = QRspec::rsEccCodes2($spec);
- $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
-
- if($rs == NULL) return -1;
-
- for($i=0; $i<QRspec::rsBlockNum2($spec); $i++) {
- $ecc = array_slice($this->ecccode,$eccPos);
- $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs);
- $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc);
-
- $dataPos += $dl;
- $eccPos += $el;
- $blockNo++;
- }
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function getCode()
- {
- $ret;
-
- if($this->count < $this->dataLength) {
- $row = $this->count % $this->blocks;
- $col = $this->count / $this->blocks;
- if($col >= $this->rsblocks[0]->dataLength) {
- $row += $this->b1;
- }
- $ret = $this->rsblocks[$row]->data[$col];
- } else if($this->count < $this->dataLength + $this->eccLength) {
- $row = ($this->count - $this->dataLength) % $this->blocks;
- $col = ($this->count - $this->dataLength) / $this->blocks;
- $ret = $this->rsblocks[$row]->ecc[$col];
- } else {
- return 0;
- }
- $this->count++;
-
- return $ret;
- }
- }
-
- //##########################################################################
-
- class QRcode {
-
- public $version;
- public $width;
- public $data;
-
- //----------------------------------------------------------------------
- public function encodeMask(QRinput $input, $mask)
- {
- if($input->getVersion() < 0 || $input->getVersion() > QRSPEC_VERSION_MAX) {
- throw new Exception('wrong version');
- }
- if($input->getErrorCorrectionLevel() > QR_ECLEVEL_H) {
- throw new Exception('wrong level');
- }
-
- $raw = new QRrawcode($input);
-
- QRtools::markTime('after_raw');
-
- $version = $raw->version;
- $width = QRspec::getWidth($version);
- $frame = QRspec::newFrame($version);
-
- $filler = new FrameFiller($width, $frame);
- if(is_null($filler)) {
- return NULL;
- }
-
- // inteleaved data and ecc codes
- for($i=0; $i<$raw->dataLength + $raw->eccLength; $i++) {
- $code = $raw->getCode();
- $bit = 0x80;
- for($j=0; $j<8; $j++) {
- $addr = $filler->next();
- $filler->setFrameAt($addr, 0x02 | (($bit & $code) != 0));
- $bit = $bit >> 1;
- }
- }
-
- QRtools::markTime('after_filler');
-
- unset($raw);
-
- // remainder bits
- $j = QRspec::getRemainder($version);
- for($i=0; $i<$j; $i++) {
- $addr = $filler->next();
- $filler->setFrameAt($addr, 0x02);
- }
-
- $frame = $filler->frame;
- unset($filler);
-
-
- // masking
- $maskObj = new QRmask();
- if($mask < 0) {
-
- if (QR_FIND_BEST_MASK) {
- $masked = $maskObj->mask($width, $frame, $input->getErrorCorrectionLevel());
- } else {
- $masked = $maskObj->makeMask($width, $frame, (intval(QR_DEFAULT_MASK) % 8), $input->getErrorCorrectionLevel());
- }
- } else {
- $masked = $maskObj->makeMask($width, $frame, $mask, $input->getErrorCorrectionLevel());
- }
-
- if($masked == NULL) {
- return NULL;
- }
-
- QRtools::markTime('after_mask');
-
- $this->version = $version;
- $this->width = $width;
- $this->data = $masked;
-
- return $this;
- }
-
- //----------------------------------------------------------------------
- public function encodeInput(QRinput $input)
- {
- return $this->encodeMask($input, -1);
- }
-
- //----------------------------------------------------------------------
- public function encodeString8bit($string, $version, $level)
- {
- if(string == NULL) {
- throw new Exception('empty string!');
- return NULL;
- }
-
- $input = new QRinput($version, $level);
- if($input == NULL) return NULL;
-
- $ret = $input->append($input, QR_MODE_8, strlen($string), str_split($string));
- if($ret < 0) {
- unset($input);
- return NULL;
- }
- return $this->encodeInput($input);
- }
-
- //----------------------------------------------------------------------
- public function encodeString($string, $version, $level, $hint, $casesensitive)
- {
-
- if($hint != QR_MODE_8 && $hint != QR_MODE_KANJI) {
- throw new Exception('bad hint');
- return NULL;
- }
-
- $input = new QRinput($version, $level);
- if($input == NULL) return NULL;
-
- $ret = QRsplit::splitStringToQRinput($string, $input, $hint, $casesensitive);
- if($ret < 0) {
- return NULL;
- }
-
- return $this->encodeInput($input);
- }
-
- //----------------------------------------------------------------------
- public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false)
- {
- $enc = QRencode::factory($level, $size, $margin);
- return $enc->encodePNG($text, $outfile, $saveandprint=false);
- }
-
- //----------------------------------------------------------------------
- public static function text($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4)
- {
- $enc = QRencode::factory($level, $size, $margin);
- return $enc->encode($text, $outfile);
- }
-
- //----------------------------------------------------------------------
- public static function raw($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4)
- {
- $enc = QRencode::factory($level, $size, $margin);
- return $enc->encodeRAW($text, $outfile);
- }
- }
-
- //##########################################################################
-
- class FrameFiller {
-
- public $width;
- public $frame;
- public $x;
- public $y;
- public $dir;
- public $bit;
-
- //----------------------------------------------------------------------
- public function __construct($width, &$frame)
- {
- $this->width = $width;
- $this->frame = $frame;
- $this->x = $width - 1;
- $this->y = $width - 1;
- $this->dir = -1;
- $this->bit = -1;
- }
-
- //----------------------------------------------------------------------
- public function setFrameAt($at, $val)
- {
- $this->frame[$at['y']][$at['x']] = chr($val);
- }
-
- //----------------------------------------------------------------------
- public function getFrameAt($at)
- {
- return ord($this->frame[$at['y']][$at['x']]);
- }
-
- //----------------------------------------------------------------------
- public function next()
- {
- do {
-
- if($this->bit == -1) {
- $this->bit = 0;
- return array('x'=>$this->x, 'y'=>$this->y);
- }
-
- $x = $this->x;
- $y = $this->y;
- $w = $this->width;
-
- if($this->bit == 0) {
- $x--;
- $this->bit++;
- } else {
- $x++;
- $y += $this->dir;
- $this->bit--;
- }
-
- if($this->dir < 0) {
- if($y < 0) {
- $y = 0;
- $x -= 2;
- $this->dir = 1;
- if($x == 6) {
- $x--;
- $y = 9;
- }
- }
- } else {
- if($y == $w) {
- $y = $w - 1;
- $x -= 2;
- $this->dir = -1;
- if($x == 6) {
- $x--;
- $y -= 8;
- }
- }
- }
- if($x < 0 || $y < 0) return null;
-
- $this->x = $x;
- $this->y = $y;
-
- } while(ord($this->frame[$y][$x]) & 0x80);
-
- return array('x'=>$x, 'y'=>$y);
- }
-
- } ;
-
- //##########################################################################
-
- class QRencode {
-
- public $casesensitive = true;
- public $eightbit = false;
-
- public $version = 0;
- public $size = 3;
- public $margin = 4;
-
- public $structured = 0; // not supported yet
-
- public $level = QR_ECLEVEL_L;
- public $hint = QR_MODE_8;
-
- //----------------------------------------------------------------------
- public static function factory($level = QR_ECLEVEL_L, $size = 3, $margin = 4)
- {
- $enc = new QRencode();
- $enc->size = $size;
- $enc->margin = $margin;
-
- switch ($level.'') {
- case '0':
- case '1':
- case '2':
- case '3':
- $enc->level = $level;
- break;
- case 'l':
- case 'L':
- $enc->level = QR_ECLEVEL_L;
- break;
- case 'm':
- case 'M':
- $enc->level = QR_ECLEVEL_M;
- break;
- case 'q':
- case 'Q':
- $enc->level = QR_ECLEVEL_Q;
- break;
- case 'h':
- case 'H':
- $enc->level = QR_ECLEVEL_H;
- break;
- }
-
- return $enc;
- }
-
- //----------------------------------------------------------------------
- public function encodeRAW($intext, $outfile = false)
- {
- $code = new QRcode();
-
- if($this->eightbit) {
- $code->encodeString8bit($intext, $this->version, $this->level);
- } else {
- $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive);
- }
-
- return $code->data;
- }
-
- //----------------------------------------------------------------------
- public function encode($intext, $outfile = false)
- {
- $code = new QRcode();
-
- if($this->eightbit) {
- $code->encodeString8bit($intext, $this->version, $this->level);
- } else {
- $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive);
- }
-
- QRtools::markTime('after_encode');
-
- if ($outfile!== false) {
- file_put_contents($outfile, join("\n", QRtools::binarize($code->data)));
- } else {
- return QRtools::binarize($code->data);
- }
- }
-
- //----------------------------------------------------------------------
- public function encodePNG($intext, $outfile = false,$saveandprint=false)
- {
- try {
-
- ob_start();
- $tab = $this->encode($intext);
- $err = ob_get_contents();
- ob_end_clean();
-
- if ($err != '')
- QRtools::log($outfile, $err);
-
- $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin));
-
- QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint);
-
- } catch (Exception $e) {
-
- QRtools::log($outfile, $e->getMessage());
-
- }
- }
- }
-
-
diff --git a/library/phpqrcode/qrbitstream.php b/library/phpqrcode/qrbitstream.php
deleted file mode 100644
index 7d4ec4a6c..000000000
--- a/library/phpqrcode/qrbitstream.php
+++ /dev/null
@@ -1,180 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Bitstream class
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRbitstream {
-
- public $data = array();
-
- //----------------------------------------------------------------------
- public function size()
- {
- return count($this->data);
- }
-
- //----------------------------------------------------------------------
- public function allocate($setLength)
- {
- $this->data = array_fill(0, $setLength, 0);
- return 0;
- }
-
- //----------------------------------------------------------------------
- public static function newFromNum($bits, $num)
- {
- $bstream = new QRbitstream();
- $bstream->allocate($bits);
-
- $mask = 1 << ($bits - 1);
- for($i=0; $i<$bits; $i++) {
- if($num & $mask) {
- $bstream->data[$i] = 1;
- } else {
- $bstream->data[$i] = 0;
- }
- $mask = $mask >> 1;
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public static function newFromBytes($size, $data)
- {
- $bstream = new QRbitstream();
- $bstream->allocate($size * 8);
- $p=0;
-
- for($i=0; $i<$size; $i++) {
- $mask = 0x80;
- for($j=0; $j<8; $j++) {
- if($data[$i] & $mask) {
- $bstream->data[$p] = 1;
- } else {
- $bstream->data[$p] = 0;
- }
- $p++;
- $mask = $mask >> 1;
- }
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public function append(QRbitstream $arg)
- {
- if (is_null($arg)) {
- return -1;
- }
-
- if($arg->size() == 0) {
- return 0;
- }
-
- if($this->size() == 0) {
- $this->data = $arg->data;
- return 0;
- }
-
- $this->data = array_values(array_merge($this->data, $arg->data));
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function appendNum($bits, $num)
- {
- if ($bits == 0)
- return 0;
-
- $b = QRbitstream::newFromNum($bits, $num);
-
- if(is_null($b))
- return -1;
-
- $ret = $this->append($b);
- unset($b);
-
- return $ret;
- }
-
- //----------------------------------------------------------------------
- public function appendBytes($size, $data)
- {
- if ($size == 0)
- return 0;
-
- $b = QRbitstream::newFromBytes($size, $data);
-
- if(is_null($b))
- return -1;
-
- $ret = $this->append($b);
- unset($b);
-
- return $ret;
- }
-
- //----------------------------------------------------------------------
- public function toByte()
- {
-
- $size = $this->size();
-
- if($size == 0) {
- return array();
- }
-
- $data = array_fill(0, (int)(($size + 7) / 8), 0);
- $bytes = (int)($size / 8);
-
- $p = 0;
-
- for($i=0; $i<$bytes; $i++) {
- $v = 0;
- for($j=0; $j<8; $j++) {
- $v = $v << 1;
- $v |= $this->data[$p];
- $p++;
- }
- $data[$i] = $v;
- }
-
- if($size & 7) {
- $v = 0;
- for($j=0; $j<($size & 7); $j++) {
- $v = $v << 1;
- $v |= $this->data[$p];
- $p++;
- }
- $data[$bytes] = $v;
- }
-
- return $data;
- }
-
- }
diff --git a/library/phpqrcode/qrconfig.php b/library/phpqrcode/qrconfig.php
deleted file mode 100644
index e53dff8c2..000000000
--- a/library/phpqrcode/qrconfig.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Config file, feel free to modify
- */
-
- define('QR_CACHEABLE', true); // use cache - more disk reads but less CPU power, masks and format templates are stored there
- define('QR_CACHE_DIR', dirname(__FILE__).DIRECTORY_SEPARATOR.'cache'.DIRECTORY_SEPARATOR); // used when QR_CACHEABLE === true
- define('QR_LOG_DIR', dirname(__FILE__).DIRECTORY_SEPARATOR); // default error logs dir
-
- define('QR_FIND_BEST_MASK', true); // if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code
- define('QR_FIND_FROM_RANDOM', false); // if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly
- define('QR_DEFAULT_MASK', 2); // when QR_FIND_BEST_MASK === false
-
- define('QR_PNG_MAXIMUM_SIZE', 1024); // maximum allowed png image width (in pixels), tune to make sure GD and PHP can handle such big images
- \ No newline at end of file
diff --git a/library/phpqrcode/qrconst.php b/library/phpqrcode/qrconst.php
deleted file mode 100644
index 9fac9fdc1..000000000
--- a/library/phpqrcode/qrconst.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * PHP QR Code encoder
- *
- * Common constants
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- // Encoding modes
-
- define('QR_MODE_NUL', -1);
- define('QR_MODE_NUM', 0);
- define('QR_MODE_AN', 1);
- define('QR_MODE_8', 2);
- define('QR_MODE_KANJI', 3);
- define('QR_MODE_STRUCTURE', 4);
-
- // Levels of error correction.
-
- define('QR_ECLEVEL_L', 0);
- define('QR_ECLEVEL_M', 1);
- define('QR_ECLEVEL_Q', 2);
- define('QR_ECLEVEL_H', 3);
-
- // Supported output formats
-
- define('QR_FORMAT_TEXT', 0);
- define('QR_FORMAT_PNG', 1);
-
- class qrstr {
- public static function set(&$srctab, $x, $y, $repl, $replLen = false) {
- $srctab[$y] = substr_replace($srctab[$y], ($replLen !== false)?substr($repl,0,$replLen):$repl, $x, ($replLen !== false)?$replLen:strlen($repl));
- }
- } \ No newline at end of file
diff --git a/library/phpqrcode/qrencode.php b/library/phpqrcode/qrencode.php
deleted file mode 100644
index 4b77a5bdd..000000000
--- a/library/phpqrcode/qrencode.php
+++ /dev/null
@@ -1,502 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Main encoder classes.
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRrsblock {
- public $dataLength;
- public $data = array();
- public $eccLength;
- public $ecc = array();
-
- public function __construct($dl, $data, $el, &$ecc, QRrsItem $rs)
- {
- $rs->encode_rs_char($data, $ecc);
-
- $this->dataLength = $dl;
- $this->data = $data;
- $this->eccLength = $el;
- $this->ecc = $ecc;
- }
- };
-
- //##########################################################################
-
- class QRrawcode {
- public $version;
- public $datacode = array();
- public $ecccode = array();
- public $blocks;
- public $rsblocks = array(); //of RSblock
- public $count;
- public $dataLength;
- public $eccLength;
- public $b1;
-
- //----------------------------------------------------------------------
- public function __construct(QRinput $input)
- {
- $spec = array(0,0,0,0,0);
-
- $this->datacode = $input->getByteStream();
- if(is_null($this->datacode)) {
- throw new Exception('null imput string');
- }
-
- QRspec::getEccSpec($input->getVersion(), $input->getErrorCorrectionLevel(), $spec);
-
- $this->version = $input->getVersion();
- $this->b1 = QRspec::rsBlockNum1($spec);
- $this->dataLength = QRspec::rsDataLength($spec);
- $this->eccLength = QRspec::rsEccLength($spec);
- $this->ecccode = array_fill(0, $this->eccLength, 0);
- $this->blocks = QRspec::rsBlockNum($spec);
-
- $ret = $this->init($spec);
- if($ret < 0) {
- throw new Exception('block alloc error');
- return null;
- }
-
- $this->count = 0;
- }
-
- //----------------------------------------------------------------------
- public function init(array $spec)
- {
- $dl = QRspec::rsDataCodes1($spec);
- $el = QRspec::rsEccCodes1($spec);
- $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
-
-
- $blockNo = 0;
- $dataPos = 0;
- $eccPos = 0;
- for($i=0; $i<QRspec::rsBlockNum1($spec); $i++) {
- $ecc = array_slice($this->ecccode,$eccPos);
- $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs);
- $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc);
-
- $dataPos += $dl;
- $eccPos += $el;
- $blockNo++;
- }
-
- if(QRspec::rsBlockNum2($spec) == 0)
- return 0;
-
- $dl = QRspec::rsDataCodes2($spec);
- $el = QRspec::rsEccCodes2($spec);
- $rs = QRrs::init_rs(8, 0x11d, 0, 1, $el, 255 - $dl - $el);
-
- if($rs == NULL) return -1;
-
- for($i=0; $i<QRspec::rsBlockNum2($spec); $i++) {
- $ecc = array_slice($this->ecccode,$eccPos);
- $this->rsblocks[$blockNo] = new QRrsblock($dl, array_slice($this->datacode, $dataPos), $el, $ecc, $rs);
- $this->ecccode = array_merge(array_slice($this->ecccode,0, $eccPos), $ecc);
-
- $dataPos += $dl;
- $eccPos += $el;
- $blockNo++;
- }
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function getCode()
- {
- $ret;
-
- if($this->count < $this->dataLength) {
- $row = $this->count % $this->blocks;
- $col = $this->count / $this->blocks;
- if($col >= $this->rsblocks[0]->dataLength) {
- $row += $this->b1;
- }
- $ret = $this->rsblocks[$row]->data[$col];
- } else if($this->count < $this->dataLength + $this->eccLength) {
- $row = ($this->count - $this->dataLength) % $this->blocks;
- $col = ($this->count - $this->dataLength) / $this->blocks;
- $ret = $this->rsblocks[$row]->ecc[$col];
- } else {
- return 0;
- }
- $this->count++;
-
- return $ret;
- }
- }
-
- //##########################################################################
-
- class QRcode {
-
- public $version;
- public $width;
- public $data;
-
- //----------------------------------------------------------------------
- public function encodeMask(QRinput $input, $mask)
- {
- if($input->getVersion() < 0 || $input->getVersion() > QRSPEC_VERSION_MAX) {
- throw new Exception('wrong version');
- }
- if($input->getErrorCorrectionLevel() > QR_ECLEVEL_H) {
- throw new Exception('wrong level');
- }
-
- $raw = new QRrawcode($input);
-
- QRtools::markTime('after_raw');
-
- $version = $raw->version;
- $width = QRspec::getWidth($version);
- $frame = QRspec::newFrame($version);
-
- $filler = new FrameFiller($width, $frame);
- if(is_null($filler)) {
- return NULL;
- }
-
- // inteleaved data and ecc codes
- for($i=0; $i<$raw->dataLength + $raw->eccLength; $i++) {
- $code = $raw->getCode();
- $bit = 0x80;
- for($j=0; $j<8; $j++) {
- $addr = $filler->next();
- $filler->setFrameAt($addr, 0x02 | (($bit & $code) != 0));
- $bit = $bit >> 1;
- }
- }
-
- QRtools::markTime('after_filler');
-
- unset($raw);
-
- // remainder bits
- $j = QRspec::getRemainder($version);
- for($i=0; $i<$j; $i++) {
- $addr = $filler->next();
- $filler->setFrameAt($addr, 0x02);
- }
-
- $frame = $filler->frame;
- unset($filler);
-
-
- // masking
- $maskObj = new QRmask();
- if($mask < 0) {
-
- if (QR_FIND_BEST_MASK) {
- $masked = $maskObj->mask($width, $frame, $input->getErrorCorrectionLevel());
- } else {
- $masked = $maskObj->makeMask($width, $frame, (intval(QR_DEFAULT_MASK) % 8), $input->getErrorCorrectionLevel());
- }
- } else {
- $masked = $maskObj->makeMask($width, $frame, $mask, $input->getErrorCorrectionLevel());
- }
-
- if($masked == NULL) {
- return NULL;
- }
-
- QRtools::markTime('after_mask');
-
- $this->version = $version;
- $this->width = $width;
- $this->data = $masked;
-
- return $this;
- }
-
- //----------------------------------------------------------------------
- public function encodeInput(QRinput $input)
- {
- return $this->encodeMask($input, -1);
- }
-
- //----------------------------------------------------------------------
- public function encodeString8bit($string, $version, $level)
- {
- if(string == NULL) {
- throw new Exception('empty string!');
- return NULL;
- }
-
- $input = new QRinput($version, $level);
- if($input == NULL) return NULL;
-
- $ret = $input->append($input, QR_MODE_8, strlen($string), str_split($string));
- if($ret < 0) {
- unset($input);
- return NULL;
- }
- return $this->encodeInput($input);
- }
-
- //----------------------------------------------------------------------
- public function encodeString($string, $version, $level, $hint, $casesensitive)
- {
-
- if($hint != QR_MODE_8 && $hint != QR_MODE_KANJI) {
- throw new Exception('bad hint');
- return NULL;
- }
-
- $input = new QRinput($version, $level);
- if($input == NULL) return NULL;
-
- $ret = QRsplit::splitStringToQRinput($string, $input, $hint, $casesensitive);
- if($ret < 0) {
- return NULL;
- }
-
- return $this->encodeInput($input);
- }
-
- //----------------------------------------------------------------------
- public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false)
- {
- $enc = QRencode::factory($level, $size, $margin);
- return $enc->encodePNG($text, $outfile, $saveandprint=false);
- }
-
- //----------------------------------------------------------------------
- public static function text($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4)
- {
- $enc = QRencode::factory($level, $size, $margin);
- return $enc->encode($text, $outfile);
- }
-
- //----------------------------------------------------------------------
- public static function raw($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4)
- {
- $enc = QRencode::factory($level, $size, $margin);
- return $enc->encodeRAW($text, $outfile);
- }
- }
-
- //##########################################################################
-
- class FrameFiller {
-
- public $width;
- public $frame;
- public $x;
- public $y;
- public $dir;
- public $bit;
-
- //----------------------------------------------------------------------
- public function __construct($width, &$frame)
- {
- $this->width = $width;
- $this->frame = $frame;
- $this->x = $width - 1;
- $this->y = $width - 1;
- $this->dir = -1;
- $this->bit = -1;
- }
-
- //----------------------------------------------------------------------
- public function setFrameAt($at, $val)
- {
- $this->frame[$at['y']][$at['x']] = chr($val);
- }
-
- //----------------------------------------------------------------------
- public function getFrameAt($at)
- {
- return ord($this->frame[$at['y']][$at['x']]);
- }
-
- //----------------------------------------------------------------------
- public function next()
- {
- do {
-
- if($this->bit == -1) {
- $this->bit = 0;
- return array('x'=>$this->x, 'y'=>$this->y);
- }
-
- $x = $this->x;
- $y = $this->y;
- $w = $this->width;
-
- if($this->bit == 0) {
- $x--;
- $this->bit++;
- } else {
- $x++;
- $y += $this->dir;
- $this->bit--;
- }
-
- if($this->dir < 0) {
- if($y < 0) {
- $y = 0;
- $x -= 2;
- $this->dir = 1;
- if($x == 6) {
- $x--;
- $y = 9;
- }
- }
- } else {
- if($y == $w) {
- $y = $w - 1;
- $x -= 2;
- $this->dir = -1;
- if($x == 6) {
- $x--;
- $y -= 8;
- }
- }
- }
- if($x < 0 || $y < 0) return null;
-
- $this->x = $x;
- $this->y = $y;
-
- } while(ord($this->frame[$y][$x]) & 0x80);
-
- return array('x'=>$x, 'y'=>$y);
- }
-
- } ;
-
- //##########################################################################
-
- class QRencode {
-
- public $casesensitive = true;
- public $eightbit = false;
-
- public $version = 0;
- public $size = 3;
- public $margin = 4;
-
- public $structured = 0; // not supported yet
-
- public $level = QR_ECLEVEL_L;
- public $hint = QR_MODE_8;
-
- //----------------------------------------------------------------------
- public static function factory($level = QR_ECLEVEL_L, $size = 3, $margin = 4)
- {
- $enc = new QRencode();
- $enc->size = $size;
- $enc->margin = $margin;
-
- switch ($level.'') {
- case '0':
- case '1':
- case '2':
- case '3':
- $enc->level = $level;
- break;
- case 'l':
- case 'L':
- $enc->level = QR_ECLEVEL_L;
- break;
- case 'm':
- case 'M':
- $enc->level = QR_ECLEVEL_M;
- break;
- case 'q':
- case 'Q':
- $enc->level = QR_ECLEVEL_Q;
- break;
- case 'h':
- case 'H':
- $enc->level = QR_ECLEVEL_H;
- break;
- }
-
- return $enc;
- }
-
- //----------------------------------------------------------------------
- public function encodeRAW($intext, $outfile = false)
- {
- $code = new QRcode();
-
- if($this->eightbit) {
- $code->encodeString8bit($intext, $this->version, $this->level);
- } else {
- $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive);
- }
-
- return $code->data;
- }
-
- //----------------------------------------------------------------------
- public function encode($intext, $outfile = false)
- {
- $code = new QRcode();
-
- if($this->eightbit) {
- $code->encodeString8bit($intext, $this->version, $this->level);
- } else {
- $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive);
- }
-
- QRtools::markTime('after_encode');
-
- if ($outfile!== false) {
- file_put_contents($outfile, join("\n", QRtools::binarize($code->data)));
- } else {
- return QRtools::binarize($code->data);
- }
- }
-
- //----------------------------------------------------------------------
- public function encodePNG($intext, $outfile = false,$saveandprint=false)
- {
- try {
-
- ob_start();
- $tab = $this->encode($intext);
- $err = ob_get_contents();
- ob_end_clean();
-
- if ($err != '')
- QRtools::log($outfile, $err);
-
- $maxSize = (int)(QR_PNG_MAXIMUM_SIZE / (count($tab)+2*$this->margin));
-
- QRimage::png($tab, $outfile, min(max(1, $this->size), $maxSize), $this->margin,$saveandprint);
-
- } catch (Exception $e) {
-
- QRtools::log($outfile, $e->getMessage());
-
- }
- }
- }
diff --git a/library/phpqrcode/qrimage.php b/library/phpqrcode/qrimage.php
deleted file mode 100644
index 10b0a6e1b..000000000
--- a/library/phpqrcode/qrimage.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Image output of code using GD2
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('QR_IMAGE', true);
-
- class QRimage {
-
- //----------------------------------------------------------------------
- public static function png($frame, $filename = false, $pixelPerPoint = 4, $outerFrame = 4,$saveandprint=FALSE)
- {
- $image = self::image($frame, $pixelPerPoint, $outerFrame);
-
- if ($filename === false) {
- Header("Content-type: image/png");
- ImagePng($image);
- } else {
- if($saveandprint===TRUE){
- ImagePng($image, $filename);
- header("Content-type: image/png");
- ImagePng($image);
- }else{
- ImagePng($image, $filename);
- }
- }
-
- ImageDestroy($image);
- }
-
- //----------------------------------------------------------------------
- public static function jpg($frame, $filename = false, $pixelPerPoint = 8, $outerFrame = 4, $q = 85)
- {
- $image = self::image($frame, $pixelPerPoint, $outerFrame);
-
- if ($filename === false) {
- Header("Content-type: image/jpeg");
- ImageJpeg($image, null, $q);
- } else {
- ImageJpeg($image, $filename, $q);
- }
-
- ImageDestroy($image);
- }
-
- //----------------------------------------------------------------------
- private static function image($frame, $pixelPerPoint = 4, $outerFrame = 4)
- {
- $h = count($frame);
- $w = strlen($frame[0]);
-
- $imgW = $w + 2*$outerFrame;
- $imgH = $h + 2*$outerFrame;
-
- $base_image =ImageCreate($imgW, $imgH);
-
- $col[0] = ImageColorAllocate($base_image,255,255,255);
- $col[1] = ImageColorAllocate($base_image,0,0,0);
-
- imagefill($base_image, 0, 0, $col[0]);
-
- for($y=0; $y<$h; $y++) {
- for($x=0; $x<$w; $x++) {
- if ($frame[$y][$x] == '1') {
- ImageSetPixel($base_image,$x+$outerFrame,$y+$outerFrame,$col[1]);
- }
- }
- }
-
- $target_image =ImageCreate($imgW * $pixelPerPoint, $imgH * $pixelPerPoint);
- ImageCopyResized($target_image, $base_image, 0, 0, 0, 0, $imgW * $pixelPerPoint, $imgH * $pixelPerPoint, $imgW, $imgH);
- ImageDestroy($base_image);
-
- return $target_image;
- }
- } \ No newline at end of file
diff --git a/library/phpqrcode/qrinput.php b/library/phpqrcode/qrinput.php
deleted file mode 100644
index 0f6d7f944..000000000
--- a/library/phpqrcode/qrinput.php
+++ /dev/null
@@ -1,729 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Input encoding class
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('STRUCTURE_HEADER_BITS', 20);
- define('MAX_STRUCTURED_SYMBOLS', 16);
-
- class QRinputItem {
-
- public $mode;
- public $size;
- public $data;
- public $bstream;
-
- public function __construct($mode, $size, $data, $bstream = null)
- {
- $setData = array_slice($data, 0, $size);
-
- if (count($setData) < $size) {
- $setData = array_merge($setData, array_fill(0,$size-count($setData),0));
- }
-
- if(!QRinput::check($mode, $size, $setData)) {
- throw new Exception('Error m:'.$mode.',s:'.$size.',d:'.join(',',$setData));
- return null;
- }
-
- $this->mode = $mode;
- $this->size = $size;
- $this->data = $setData;
- $this->bstream = $bstream;
- }
-
- //----------------------------------------------------------------------
- public function encodeModeNum($version)
- {
- try {
-
- $words = (int)($this->size / 3);
- $bs = new QRbitstream();
-
- $val = 0x1;
- $bs->appendNum(4, $val);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_NUM, $version), $this->size);
-
- for($i=0; $i<$words; $i++) {
- $val = (ord($this->data[$i*3 ]) - ord('0')) * 100;
- $val += (ord($this->data[$i*3+1]) - ord('0')) * 10;
- $val += (ord($this->data[$i*3+2]) - ord('0'));
- $bs->appendNum(10, $val);
- }
-
- if($this->size - $words * 3 == 1) {
- $val = ord($this->data[$words*3]) - ord('0');
- $bs->appendNum(4, $val);
- } else if($this->size - $words * 3 == 2) {
- $val = (ord($this->data[$words*3 ]) - ord('0')) * 10;
- $val += (ord($this->data[$words*3+1]) - ord('0'));
- $bs->appendNum(7, $val);
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeModeAn($version)
- {
- try {
- $words = (int)($this->size / 2);
- $bs = new QRbitstream();
-
- $bs->appendNum(4, 0x02);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_AN, $version), $this->size);
-
- for($i=0; $i<$words; $i++) {
- $val = (int)QRinput::lookAnTable(ord($this->data[$i*2 ])) * 45;
- $val += (int)QRinput::lookAnTable(ord($this->data[$i*2+1]));
-
- $bs->appendNum(11, $val);
- }
-
- if($this->size & 1) {
- $val = QRinput::lookAnTable(ord($this->data[$words * 2]));
- $bs->appendNum(6, $val);
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeMode8($version)
- {
- try {
- $bs = new QRbitstream();
-
- $bs->appendNum(4, 0x4);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_8, $version), $this->size);
-
- for($i=0; $i<$this->size; $i++) {
- $bs->appendNum(8, ord($this->data[$i]));
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeModeKanji($version)
- {
- try {
-
- $bs = new QRbitrtream();
-
- $bs->appendNum(4, 0x8);
- $bs->appendNum(QRspec::lengthIndicator(QR_MODE_KANJI, $version), (int)($this->size / 2));
-
- for($i=0; $i<$this->size; $i+=2) {
- $val = (ord($this->data[$i]) << 8) | ord($this->data[$i+1]);
- if($val <= 0x9ffc) {
- $val -= 0x8140;
- } else {
- $val -= 0xc140;
- }
-
- $h = ($val >> 8) * 0xc0;
- $val = ($val & 0xff) + $h;
-
- $bs->appendNum(13, $val);
- }
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function encodeModeStructure()
- {
- try {
- $bs = new QRbitstream();
-
- $bs->appendNum(4, 0x03);
- $bs->appendNum(4, ord($this->data[1]) - 1);
- $bs->appendNum(4, ord($this->data[0]) - 1);
- $bs->appendNum(8, ord($this->data[2]));
-
- $this->bstream = $bs;
- return 0;
-
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function estimateBitStreamSizeOfEntry($version)
- {
- $bits = 0;
-
- if($version == 0)
- $version = 1;
-
- switch($this->mode) {
- case QR_MODE_NUM: $bits = QRinput::estimateBitsModeNum($this->size); break;
- case QR_MODE_AN: $bits = QRinput::estimateBitsModeAn($this->size); break;
- case QR_MODE_8: $bits = QRinput::estimateBitsMode8($this->size); break;
- case QR_MODE_KANJI: $bits = QRinput::estimateBitsModeKanji($this->size);break;
- case QR_MODE_STRUCTURE: return STRUCTURE_HEADER_BITS;
- default:
- return 0;
- }
-
- $l = QRspec::lengthIndicator($this->mode, $version);
- $m = 1 << $l;
- $num = (int)(($this->size + $m - 1) / $m);
-
- $bits += $num * (4 + $l);
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public function encodeBitStream($version)
- {
- try {
-
- unset($this->bstream);
- $words = QRspec::maximumWords($this->mode, $version);
-
- if($this->size > $words) {
-
- $st1 = new QRinputItem($this->mode, $words, $this->data);
- $st2 = new QRinputItem($this->mode, $this->size - $words, array_slice($this->data, $words));
-
- $st1->encodeBitStream($version);
- $st2->encodeBitStream($version);
-
- $this->bstream = new QRbitstream();
- $this->bstream->append($st1->bstream);
- $this->bstream->append($st2->bstream);
-
- unset($st1);
- unset($st2);
-
- } else {
-
- $ret = 0;
-
- switch($this->mode) {
- case QR_MODE_NUM: $ret = $this->encodeModeNum($version); break;
- case QR_MODE_AN: $ret = $this->encodeModeAn($version); break;
- case QR_MODE_8: $ret = $this->encodeMode8($version); break;
- case QR_MODE_KANJI: $ret = $this->encodeModeKanji($version);break;
- case QR_MODE_STRUCTURE: $ret = $this->encodeModeStructure(); break;
-
- default:
- break;
- }
-
- if($ret < 0)
- return -1;
- }
-
- return $this->bstream->size();
-
- } catch (Exception $e) {
- return -1;
- }
- }
- };
-
- //##########################################################################
-
- class QRinput {
-
- public $items;
-
- private $version;
- private $level;
-
- //----------------------------------------------------------------------
- public function __construct($version = 0, $level = QR_ECLEVEL_L)
- {
- if ($version < 0 || $version > QRSPEC_VERSION_MAX || $level > QR_ECLEVEL_H) {
- throw new Exception('Invalid version no');
- return NULL;
- }
-
- $this->version = $version;
- $this->level = $level;
- }
-
- //----------------------------------------------------------------------
- public function getVersion()
- {
- return $this->version;
- }
-
- //----------------------------------------------------------------------
- public function setVersion($version)
- {
- if($version < 0 || $version > QRSPEC_VERSION_MAX) {
- throw new Exception('Invalid version no');
- return -1;
- }
-
- $this->version = $version;
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function getErrorCorrectionLevel()
- {
- return $this->level;
- }
-
- //----------------------------------------------------------------------
- public function setErrorCorrectionLevel($level)
- {
- if($level > QR_ECLEVEL_H) {
- throw new Exception('Invalid ECLEVEL');
- return -1;
- }
-
- $this->level = $level;
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function appendEntry(QRinputItem $entry)
- {
- $this->items[] = $entry;
- }
-
- //----------------------------------------------------------------------
- public function append($mode, $size, $data)
- {
- try {
- $entry = new QRinputItem($mode, $size, $data);
- $this->items[] = $entry;
- return 0;
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
-
- public function insertStructuredAppendHeader($size, $index, $parity)
- {
- if( $size > MAX_STRUCTURED_SYMBOLS ) {
- throw new Exception('insertStructuredAppendHeader wrong size');
- }
-
- if( $index <= 0 || $index > MAX_STRUCTURED_SYMBOLS ) {
- throw new Exception('insertStructuredAppendHeader wrong index');
- }
-
- $buf = array($size, $index, $parity);
-
- try {
- $entry = new QRinputItem(QR_MODE_STRUCTURE, 3, buf);
- array_unshift($this->items, $entry);
- return 0;
- } catch (Exception $e) {
- return -1;
- }
- }
-
- //----------------------------------------------------------------------
- public function calcParity()
- {
- $parity = 0;
-
- foreach($this->items as $item) {
- if($item->mode != QR_MODE_STRUCTURE) {
- for($i=$item->size-1; $i>=0; $i--) {
- $parity ^= $item->data[$i];
- }
- }
- }
-
- return $parity;
- }
-
- //----------------------------------------------------------------------
- public static function checkModeNum($size, $data)
- {
- for($i=0; $i<$size; $i++) {
- if((ord($data[$i]) < ord('0')) || (ord($data[$i]) > ord('9'))){
- return false;
- }
- }
-
- return true;
- }
-
- //----------------------------------------------------------------------
- public static function estimateBitsModeNum($size)
- {
- $w = (int)$size / 3;
- $bits = $w * 10;
-
- switch($size - $w * 3) {
- case 1:
- $bits += 4;
- break;
- case 2:
- $bits += 7;
- break;
- default:
- break;
- }
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public static $anTable = array(
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 36, -1, -1, -1, 37, 38, -1, -1, -1, -1, 39, 40, -1, 41, 42, 43,
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 44, -1, -1, -1, -1, -1,
- -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
- );
-
- //----------------------------------------------------------------------
- public static function lookAnTable($c)
- {
- return (($c > 127)?-1:self::$anTable[$c]);
- }
-
- //----------------------------------------------------------------------
- public static function checkModeAn($size, $data)
- {
- for($i=0; $i<$size; $i++) {
- if (self::lookAnTable(ord($data[$i])) == -1) {
- return false;
- }
- }
-
- return true;
- }
-
- //----------------------------------------------------------------------
- public static function estimateBitsModeAn($size)
- {
- $w = (int)($size / 2);
- $bits = $w * 11;
-
- if($size & 1) {
- $bits += 6;
- }
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public static function estimateBitsMode8($size)
- {
- return $size * 8;
- }
-
- //----------------------------------------------------------------------
- public function estimateBitsModeKanji($size)
- {
- return (int)(($size / 2) * 13);
- }
-
- //----------------------------------------------------------------------
- public static function checkModeKanji($size, $data)
- {
- if($size & 1)
- return false;
-
- for($i=0; $i<$size; $i+=2) {
- $val = (ord($data[$i]) << 8) | ord($data[$i+1]);
- if( $val < 0x8140
- || ($val > 0x9ffc && $val < 0xe040)
- || $val > 0xebbf) {
- return false;
- }
- }
-
- return true;
- }
-
- /***********************************************************************
- * Validation
- **********************************************************************/
-
- public static function check($mode, $size, $data)
- {
- if($size <= 0)
- return false;
-
- switch($mode) {
- case QR_MODE_NUM: return self::checkModeNum($size, $data); break;
- case QR_MODE_AN: return self::checkModeAn($size, $data); break;
- case QR_MODE_KANJI: return self::checkModeKanji($size, $data); break;
- case QR_MODE_8: return true; break;
- case QR_MODE_STRUCTURE: return true; break;
-
- default:
- break;
- }
-
- return false;
- }
-
-
- //----------------------------------------------------------------------
- public function estimateBitStreamSize($version)
- {
- $bits = 0;
-
- foreach($this->items as $item) {
- $bits += $item->estimateBitStreamSizeOfEntry($version);
- }
-
- return $bits;
- }
-
- //----------------------------------------------------------------------
- public function estimateVersion()
- {
- $version = 0;
- $prev = 0;
- do {
- $prev = $version;
- $bits = $this->estimateBitStreamSize($prev);
- $version = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level);
- if ($version < 0) {
- return -1;
- }
- } while ($version > $prev);
-
- return $version;
- }
-
- //----------------------------------------------------------------------
- public static function lengthOfCode($mode, $version, $bits)
- {
- $payload = $bits - 4 - QRspec::lengthIndicator($mode, $version);
- switch($mode) {
- case QR_MODE_NUM:
- $chunks = (int)($payload / 10);
- $remain = $payload - $chunks * 10;
- $size = $chunks * 3;
- if($remain >= 7) {
- $size += 2;
- } else if($remain >= 4) {
- $size += 1;
- }
- break;
- case QR_MODE_AN:
- $chunks = (int)($payload / 11);
- $remain = $payload - $chunks * 11;
- $size = $chunks * 2;
- if($remain >= 6)
- $size++;
- break;
- case QR_MODE_8:
- $size = (int)($payload / 8);
- break;
- case QR_MODE_KANJI:
- $size = (int)(($payload / 13) * 2);
- break;
- case QR_MODE_STRUCTURE:
- $size = (int)($payload / 8);
- break;
- default:
- $size = 0;
- break;
- }
-
- $maxsize = QRspec::maximumWords($mode, $version);
- if($size < 0) $size = 0;
- if($size > $maxsize) $size = $maxsize;
-
- return $size;
- }
-
- //----------------------------------------------------------------------
- public function createBitStream()
- {
- $total = 0;
-
- foreach($this->items as $item) {
- $bits = $item->encodeBitStream($this->version);
-
- if($bits < 0)
- return -1;
-
- $total += $bits;
- }
-
- return $total;
- }
-
- //----------------------------------------------------------------------
- public function convertData()
- {
- $ver = $this->estimateVersion();
- if($ver > $this->getVersion()) {
- $this->setVersion($ver);
- }
-
- for(;;) {
- $bits = $this->createBitStream();
-
- if($bits < 0)
- return -1;
-
- $ver = QRspec::getMinimumVersion((int)(($bits + 7) / 8), $this->level);
- if($ver < 0) {
- throw new Exception('WRONG VERSION');
- return -1;
- } else if($ver > $this->getVersion()) {
- $this->setVersion($ver);
- } else {
- break;
- }
- }
-
- return 0;
- }
-
- //----------------------------------------------------------------------
- public function appendPaddingBit(&$bstream)
- {
- $bits = $bstream->size();
- $maxwords = QRspec::getDataLength($this->version, $this->level);
- $maxbits = $maxwords * 8;
-
- if ($maxbits == $bits) {
- return 0;
- }
-
- if ($maxbits - $bits < 5) {
- return $bstream->appendNum($maxbits - $bits, 0);
- }
-
- $bits += 4;
- $words = (int)(($bits + 7) / 8);
-
- $padding = new QRbitstream();
- $ret = $padding->appendNum($words * 8 - $bits + 4, 0);
-
- if($ret < 0)
- return $ret;
-
- $padlen = $maxwords - $words;
-
- if($padlen > 0) {
-
- $padbuf = array();
- for($i=0; $i<$padlen; $i++) {
- $padbuf[$i] = ($i&1)?0x11:0xec;
- }
-
- $ret = $padding->appendBytes($padlen, $padbuf);
-
- if($ret < 0)
- return $ret;
-
- }
-
- $ret = $bstream->append($padding);
-
- return $ret;
- }
-
- //----------------------------------------------------------------------
- public function mergeBitStream()
- {
- if($this->convertData() < 0) {
- return null;
- }
-
- $bstream = new QRbitstream();
-
- foreach($this->items as $item) {
- $ret = $bstream->append($item->bstream);
- if($ret < 0) {
- return null;
- }
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public function getBitStream()
- {
-
- $bstream = $this->mergeBitStream();
-
- if($bstream == null) {
- return null;
- }
-
- $ret = $this->appendPaddingBit($bstream);
- if($ret < 0) {
- return null;
- }
-
- return $bstream;
- }
-
- //----------------------------------------------------------------------
- public function getByteStream()
- {
- $bstream = $this->getBitStream();
- if($bstream == null) {
- return null;
- }
-
- return $bstream->toByte();
- }
- }
-
-
- \ No newline at end of file
diff --git a/library/phpqrcode/qrlib.php b/library/phpqrcode/qrlib.php
deleted file mode 100644
index d55c4af29..000000000
--- a/library/phpqrcode/qrlib.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Root library file, prepares environment and includes dependencies
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR;
-
- // Required libs
-
- include $QR_BASEDIR."qrconst.php";
- include $QR_BASEDIR."qrconfig.php";
- include $QR_BASEDIR."qrtools.php";
- include $QR_BASEDIR."qrspec.php";
- include $QR_BASEDIR."qrimage.php";
- include $QR_BASEDIR."qrinput.php";
- include $QR_BASEDIR."qrbitstream.php";
- include $QR_BASEDIR."qrsplit.php";
- include $QR_BASEDIR."qrrscode.php";
- include $QR_BASEDIR."qrmask.php";
- include $QR_BASEDIR."qrencode.php";
-
diff --git a/library/phpqrcode/qrmask.php b/library/phpqrcode/qrmask.php
deleted file mode 100644
index b14d7ae16..000000000
--- a/library/phpqrcode/qrmask.php
+++ /dev/null
@@ -1,328 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Masking
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('N1', 3);
- define('N2', 3);
- define('N3', 40);
- define('N4', 10);
-
- class QRmask {
-
- public $runLength = array();
-
- //----------------------------------------------------------------------
- public function __construct()
- {
- $this->runLength = array_fill(0, QRSPEC_WIDTH_MAX + 1, 0);
- }
-
- //----------------------------------------------------------------------
- public function writeFormatInformation($width, &$frame, $mask, $level)
- {
- $blacks = 0;
- $format = QRspec::getFormatInfo($mask, $level);
-
- for($i=0; $i<8; $i++) {
- if($format & 1) {
- $blacks += 2;
- $v = 0x85;
- } else {
- $v = 0x84;
- }
-
- $frame[8][$width - 1 - $i] = chr($v);
- if($i < 6) {
- $frame[$i][8] = chr($v);
- } else {
- $frame[$i + 1][8] = chr($v);
- }
- $format = $format >> 1;
- }
-
- for($i=0; $i<7; $i++) {
- if($format & 1) {
- $blacks += 2;
- $v = 0x85;
- } else {
- $v = 0x84;
- }
-
- $frame[$width - 7 + $i][8] = chr($v);
- if($i == 0) {
- $frame[8][7] = chr($v);
- } else {
- $frame[8][6 - $i] = chr($v);
- }
-
- $format = $format >> 1;
- }
-
- return $blacks;
- }
-
- //----------------------------------------------------------------------
- public function mask0($x, $y) { return ($x+$y)&1; }
- public function mask1($x, $y) { return ($y&1); }
- public function mask2($x, $y) { return ($x%3); }
- public function mask3($x, $y) { return ($x+$y)%3; }
- public function mask4($x, $y) { return (((int)($y/2))+((int)($x/3)))&1; }
- public function mask5($x, $y) { return (($x*$y)&1)+($x*$y)%3; }
- public function mask6($x, $y) { return ((($x*$y)&1)+($x*$y)%3)&1; }
- public function mask7($x, $y) { return ((($x*$y)%3)+(($x+$y)&1))&1; }
-
- //----------------------------------------------------------------------
- private function generateMaskNo($maskNo, $width, $frame)
- {
- $bitMask = array_fill(0, $width, array_fill(0, $width, 0));
-
- for($y=0; $y<$width; $y++) {
- for($x=0; $x<$width; $x++) {
- if(ord($frame[$y][$x]) & 0x80) {
- $bitMask[$y][$x] = 0;
- } else {
- $maskFunc = call_user_func(array($this, 'mask'.$maskNo), $x, $y);
- $bitMask[$y][$x] = ($maskFunc == 0)?1:0;
- }
-
- }
- }
-
- return $bitMask;
- }
-
- //----------------------------------------------------------------------
- public static function serial($bitFrame)
- {
- $codeArr = array();
-
- foreach ($bitFrame as $line)
- $codeArr[] = join('', $line);
-
- return gzcompress(join("\n", $codeArr), 9);
- }
-
- //----------------------------------------------------------------------
- public static function unserial($code)
- {
- $codeArr = array();
-
- $codeLines = explode("\n", gzuncompress($code));
- foreach ($codeLines as $line)
- $codeArr[] = str_split($line);
-
- return $codeArr;
- }
-
- //----------------------------------------------------------------------
- public function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly = false)
- {
- $b = 0;
- $bitMask = array();
-
- $fileName = QR_CACHE_DIR.'mask_'.$maskNo.DIRECTORY_SEPARATOR.'mask_'.$width.'_'.$maskNo.'.dat';
-
- if (QR_CACHEABLE) {
- if (file_exists($fileName)) {
- $bitMask = self::unserial(file_get_contents($fileName));
- } else {
- $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
- if (!file_exists(QR_CACHE_DIR.'mask_'.$maskNo))
- mkdir(QR_CACHE_DIR.'mask_'.$maskNo);
- file_put_contents($fileName, self::serial($bitMask));
- }
- } else {
- $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
- }
-
- if ($maskGenOnly)
- return;
-
- $d = $s;
-
- for($y=0; $y<$width; $y++) {
- for($x=0; $x<$width; $x++) {
- if($bitMask[$y][$x] == 1) {
- $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int)$bitMask[$y][$x]);
- }
- $b += (int)(ord($d[$y][$x]) & 1);
- }
- }
-
- return $b;
- }
-
- //----------------------------------------------------------------------
- public function makeMask($width, $frame, $maskNo, $level)
- {
- $masked = array_fill(0, $width, str_repeat("\0", $width));
- $this->makeMaskNo($maskNo, $width, $frame, $masked);
- $this->writeFormatInformation($width, $masked, $maskNo, $level);
-
- return $masked;
- }
-
- //----------------------------------------------------------------------
- public function calcN1N3($length)
- {
- $demerit = 0;
-
- for($i=0; $i<$length; $i++) {
-
- if($this->runLength[$i] >= 5) {
- $demerit += (N1 + ($this->runLength[$i] - 5));
- }
- if($i & 1) {
- if(($i >= 3) && ($i < ($length-2)) && ($this->runLength[$i] % 3 == 0)) {
- $fact = (int)($this->runLength[$i] / 3);
- if(($this->runLength[$i-2] == $fact) &&
- ($this->runLength[$i-1] == $fact) &&
- ($this->runLength[$i+1] == $fact) &&
- ($this->runLength[$i+2] == $fact)) {
- if(($this->runLength[$i-3] < 0) || ($this->runLength[$i-3] >= (4 * $fact))) {
- $demerit += N3;
- } else if((($i+3) >= $length) || ($this->runLength[$i+3] >= (4 * $fact))) {
- $demerit += N3;
- }
- }
- }
- }
- }
- return $demerit;
- }
-
- //----------------------------------------------------------------------
- public function evaluateSymbol($width, $frame)
- {
- $head = 0;
- $demerit = 0;
-
- for($y=0; $y<$width; $y++) {
- $head = 0;
- $this->runLength[0] = 1;
-
- $frameY = $frame[$y];
-
- if ($y>0)
- $frameYM = $frame[$y-1];
-
- for($x=0; $x<$width; $x++) {
- if(($x > 0) && ($y > 0)) {
- $b22 = ord($frameY[$x]) & ord($frameY[$x-1]) & ord($frameYM[$x]) & ord($frameYM[$x-1]);
- $w22 = ord($frameY[$x]) | ord($frameY[$x-1]) | ord($frameYM[$x]) | ord($frameYM[$x-1]);
-
- if(($b22 | ($w22 ^ 1))&1) {
- $demerit += N2;
- }
- }
- if(($x == 0) && (ord($frameY[$x]) & 1)) {
- $this->runLength[0] = -1;
- $head = 1;
- $this->runLength[$head] = 1;
- } else if($x > 0) {
- if((ord($frameY[$x]) ^ ord($frameY[$x-1])) & 1) {
- $head++;
- $this->runLength[$head] = 1;
- } else {
- $this->runLength[$head]++;
- }
- }
- }
-
- $demerit += $this->calcN1N3($head+1);
- }
-
- for($x=0; $x<$width; $x++) {
- $head = 0;
- $this->runLength[0] = 1;
-
- for($y=0; $y<$width; $y++) {
- if($y == 0 && (ord($frame[$y][$x]) & 1)) {
- $this->runLength[0] = -1;
- $head = 1;
- $this->runLength[$head] = 1;
- } else if($y > 0) {
- if((ord($frame[$y][$x]) ^ ord($frame[$y-1][$x])) & 1) {
- $head++;
- $this->runLength[$head] = 1;
- } else {
- $this->runLength[$head]++;
- }
- }
- }
-
- $demerit += $this->calcN1N3($head+1);
- }
-
- return $demerit;
- }
-
-
- //----------------------------------------------------------------------
- public function mask($width, $frame, $level)
- {
- $minDemerit = PHP_INT_MAX;
- $bestMaskNum = 0;
- $bestMask = array();
-
- $checked_masks = array(0,1,2,3,4,5,6,7);
-
- if (QR_FIND_FROM_RANDOM !== false) {
-
- $howManuOut = 8-(QR_FIND_FROM_RANDOM % 9);
- for ($i = 0; $i < $howManuOut; $i++) {
- $remPos = rand (0, count($checked_masks)-1);
- unset($checked_masks[$remPos]);
- $checked_masks = array_values($checked_masks);
- }
-
- }
-
- $bestMask = $frame;
-
- foreach($checked_masks as $i) {
- $mask = array_fill(0, $width, str_repeat("\0", $width));
-
- $demerit = 0;
- $blacks = 0;
- $blacks = $this->makeMaskNo($i, $width, $frame, $mask);
- $blacks += $this->writeFormatInformation($width, $mask, $i, $level);
- $blacks = (int)(100 * $blacks / ($width * $width));
- $demerit = (int)((int)(abs($blacks - 50) / 5) * N4);
- $demerit += $this->evaluateSymbol($width, $mask);
-
- if($demerit < $minDemerit) {
- $minDemerit = $demerit;
- $bestMask = $mask;
- $bestMaskNum = $i;
- }
- }
-
- return $bestMask;
- }
-
- //----------------------------------------------------------------------
- }
diff --git a/library/phpqrcode/qrrscode.php b/library/phpqrcode/qrrscode.php
deleted file mode 100644
index 591129a32..000000000
--- a/library/phpqrcode/qrrscode.php
+++ /dev/null
@@ -1,210 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Reed-Solomon error correction support
- *
- * Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q
- * (libfec is released under the GNU Lesser General Public License.)
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRrsItem {
-
- public $mm; // Bits per symbol
- public $nn; // Symbols per block (= (1<<mm)-1)
- public $alpha_to = array(); // log lookup table
- public $index_of = array(); // Antilog lookup table
- public $genpoly = array(); // Generator polynomial
- public $nroots; // Number of generator roots = number of parity symbols
- public $fcr; // First consecutive root, index form
- public $prim; // Primitive element, index form
- public $iprim; // prim-th root of 1, index form
- public $pad; // Padding bytes in shortened block
- public $gfpoly;
-
- //----------------------------------------------------------------------
- public function modnn($x)
- {
- while ($x >= $this->nn) {
- $x -= $this->nn;
- $x = ($x >> $this->mm) + ($x & $this->nn);
- }
-
- return $x;
- }
-
- //----------------------------------------------------------------------
- public static function init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad)
- {
- // Common code for intializing a Reed-Solomon control block (char or int symbols)
- // Copyright 2004 Phil Karn, KA9Q
- // May be used under the terms of the GNU Lesser General Public License (LGPL)
-
- $rs = null;
-
- // Check parameter ranges
- if($symsize < 0 || $symsize > 8) return $rs;
- if($fcr < 0 || $fcr >= (1<<$symsize)) return $rs;
- if($prim <= 0 || $prim >= (1<<$symsize)) return $rs;
- if($nroots < 0 || $nroots >= (1<<$symsize)) return $rs; // Can't have more roots than symbol values!
- if($pad < 0 || $pad >= ((1<<$symsize) -1 - $nroots)) return $rs; // Too much padding
-
- $rs = new QRrsItem();
- $rs->mm = $symsize;
- $rs->nn = (1<<$symsize)-1;
- $rs->pad = $pad;
-
- $rs->alpha_to = array_fill(0, $rs->nn+1, 0);
- $rs->index_of = array_fill(0, $rs->nn+1, 0);
-
- // PHP style macro replacement ;)
- $NN =& $rs->nn;
- $A0 =& $NN;
-
- // Generate Galois field lookup tables
- $rs->index_of[0] = $A0; // log(zero) = -inf
- $rs->alpha_to[$A0] = 0; // alpha**-inf = 0
- $sr = 1;
-
- for($i=0; $i<$rs->nn; $i++) {
- $rs->index_of[$sr] = $i;
- $rs->alpha_to[$i] = $sr;
- $sr <<= 1;
- if($sr & (1<<$symsize)) {
- $sr ^= $gfpoly;
- }
- $sr &= $rs->nn;
- }
-
- if($sr != 1){
- // field generator polynomial is not primitive!
- $rs = NULL;
- return $rs;
- }
-
- /* Form RS code generator polynomial from its roots */
- $rs->genpoly = array_fill(0, $nroots+1, 0);
-
- $rs->fcr = $fcr;
- $rs->prim = $prim;
- $rs->nroots = $nroots;
- $rs->gfpoly = $gfpoly;
-
- /* Find prim-th root of 1, used in decoding */
- for($iprim=1;($iprim % $prim) != 0;$iprim += $rs->nn)
- ; // intentional empty-body loop!
-
- $rs->iprim = (int)($iprim / $prim);
- $rs->genpoly[0] = 1;
-
- for ($i = 0,$root=$fcr*$prim; $i < $nroots; $i++, $root += $prim) {
- $rs->genpoly[$i+1] = 1;
-
- // Multiply rs->genpoly[] by @**(root + x)
- for ($j = $i; $j > 0; $j--) {
- if ($rs->genpoly[$j] != 0) {
- $rs->genpoly[$j] = $rs->genpoly[$j-1] ^ $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[$j]] + $root)];
- } else {
- $rs->genpoly[$j] = $rs->genpoly[$j-1];
- }
- }
- // rs->genpoly[0] can never be zero
- $rs->genpoly[0] = $rs->alpha_to[$rs->modnn($rs->index_of[$rs->genpoly[0]] + $root)];
- }
-
- // convert rs->genpoly[] to index form for quicker encoding
- for ($i = 0; $i <= $nroots; $i++)
- $rs->genpoly[$i] = $rs->index_of[$rs->genpoly[$i]];
-
- return $rs;
- }
-
- //----------------------------------------------------------------------
- public function encode_rs_char($data, &$parity)
- {
- $MM =& $this->mm;
- $NN =& $this->nn;
- $ALPHA_TO =& $this->alpha_to;
- $INDEX_OF =& $this->index_of;
- $GENPOLY =& $this->genpoly;
- $NROOTS =& $this->nroots;
- $FCR =& $this->fcr;
- $PRIM =& $this->prim;
- $IPRIM =& $this->iprim;
- $PAD =& $this->pad;
- $A0 =& $NN;
-
- $parity = array_fill(0, $NROOTS, 0);
-
- for($i=0; $i< ($NN-$NROOTS-$PAD); $i++) {
-
- $feedback = $INDEX_OF[$data[$i] ^ $parity[0]];
- if($feedback != $A0) {
- // feedback term is non-zero
-
- // This line is unnecessary when GENPOLY[NROOTS] is unity, as it must
- // always be for the polynomials constructed by init_rs()
- $feedback = $this->modnn($NN - $GENPOLY[$NROOTS] + $feedback);
-
- for($j=1;$j<$NROOTS;$j++) {
- $parity[$j] ^= $ALPHA_TO[$this->modnn($feedback + $GENPOLY[$NROOTS-$j])];
- }
- }
-
- // Shift
- array_shift($parity);
- if($feedback != $A0) {
- array_push($parity, $ALPHA_TO[$this->modnn($feedback + $GENPOLY[0])]);
- } else {
- array_push($parity, 0);
- }
- }
- }
- }
-
- //##########################################################################
-
- class QRrs {
-
- public static $items = array();
-
- //----------------------------------------------------------------------
- public static function init_rs($symsize, $gfpoly, $fcr, $prim, $nroots, $pad)
- {
- foreach(self::$items as $rs) {
- if($rs->pad != $pad) continue;
- if($rs->nroots != $nroots) continue;
- if($rs->mm != $symsize) continue;
- if($rs->gfpoly != $gfpoly) continue;
- if($rs->fcr != $fcr) continue;
- if($rs->prim != $prim) continue;
-
- return $rs;
- }
-
- $rs = QRrsItem::init_rs_char($symsize, $gfpoly, $fcr, $prim, $nroots, $pad);
- array_unshift(self::$items, $rs);
-
- return $rs;
- }
- } \ No newline at end of file
diff --git a/library/phpqrcode/qrspec.php b/library/phpqrcode/qrspec.php
deleted file mode 100644
index 92aea0c78..000000000
--- a/library/phpqrcode/qrspec.php
+++ /dev/null
@@ -1,592 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * QR Code specifications
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * The following data / specifications are taken from
- * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004)
- * or
- * "Automatic identification and data capture techniques --
- * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- define('QRSPEC_VERSION_MAX', 40);
- define('QRSPEC_WIDTH_MAX', 177);
-
- define('QRCAP_WIDTH', 0);
- define('QRCAP_WORDS', 1);
- define('QRCAP_REMINDER', 2);
- define('QRCAP_EC', 3);
-
- class QRspec {
-
- public static $capacity = array(
- array( 0, 0, 0, array( 0, 0, 0, 0)),
- array( 21, 26, 0, array( 7, 10, 13, 17)), // 1
- array( 25, 44, 7, array( 10, 16, 22, 28)),
- array( 29, 70, 7, array( 15, 26, 36, 44)),
- array( 33, 100, 7, array( 20, 36, 52, 64)),
- array( 37, 134, 7, array( 26, 48, 72, 88)), // 5
- array( 41, 172, 7, array( 36, 64, 96, 112)),
- array( 45, 196, 0, array( 40, 72, 108, 130)),
- array( 49, 242, 0, array( 48, 88, 132, 156)),
- array( 53, 292, 0, array( 60, 110, 160, 192)),
- array( 57, 346, 0, array( 72, 130, 192, 224)), //10
- array( 61, 404, 0, array( 80, 150, 224, 264)),
- array( 65, 466, 0, array( 96, 176, 260, 308)),
- array( 69, 532, 0, array( 104, 198, 288, 352)),
- array( 73, 581, 3, array( 120, 216, 320, 384)),
- array( 77, 655, 3, array( 132, 240, 360, 432)), //15
- array( 81, 733, 3, array( 144, 280, 408, 480)),
- array( 85, 815, 3, array( 168, 308, 448, 532)),
- array( 89, 901, 3, array( 180, 338, 504, 588)),
- array( 93, 991, 3, array( 196, 364, 546, 650)),
- array( 97, 1085, 3, array( 224, 416, 600, 700)), //20
- array(101, 1156, 4, array( 224, 442, 644, 750)),
- array(105, 1258, 4, array( 252, 476, 690, 816)),
- array(109, 1364, 4, array( 270, 504, 750, 900)),
- array(113, 1474, 4, array( 300, 560, 810, 960)),
- array(117, 1588, 4, array( 312, 588, 870, 1050)), //25
- array(121, 1706, 4, array( 336, 644, 952, 1110)),
- array(125, 1828, 4, array( 360, 700, 1020, 1200)),
- array(129, 1921, 3, array( 390, 728, 1050, 1260)),
- array(133, 2051, 3, array( 420, 784, 1140, 1350)),
- array(137, 2185, 3, array( 450, 812, 1200, 1440)), //30
- array(141, 2323, 3, array( 480, 868, 1290, 1530)),
- array(145, 2465, 3, array( 510, 924, 1350, 1620)),
- array(149, 2611, 3, array( 540, 980, 1440, 1710)),
- array(153, 2761, 3, array( 570, 1036, 1530, 1800)),
- array(157, 2876, 0, array( 570, 1064, 1590, 1890)), //35
- array(161, 3034, 0, array( 600, 1120, 1680, 1980)),
- array(165, 3196, 0, array( 630, 1204, 1770, 2100)),
- array(169, 3362, 0, array( 660, 1260, 1860, 2220)),
- array(173, 3532, 0, array( 720, 1316, 1950, 2310)),
- array(177, 3706, 0, array( 750, 1372, 2040, 2430)) //40
- );
-
- //----------------------------------------------------------------------
- public static function getDataLength($version, $level)
- {
- return self::$capacity[$version][QRCAP_WORDS] - self::$capacity[$version][QRCAP_EC][$level];
- }
-
- //----------------------------------------------------------------------
- public static function getECCLength($version, $level)
- {
- return self::$capacity[$version][QRCAP_EC][$level];
- }
-
- //----------------------------------------------------------------------
- public static function getWidth($version)
- {
- return self::$capacity[$version][QRCAP_WIDTH];
- }
-
- //----------------------------------------------------------------------
- public static function getRemainder($version)
- {
- return self::$capacity[$version][QRCAP_REMINDER];
- }
-
- //----------------------------------------------------------------------
- public static function getMinimumVersion($size, $level)
- {
-
- for($i=1; $i<= QRSPEC_VERSION_MAX; $i++) {
- $words = self::$capacity[$i][QRCAP_WORDS] - self::$capacity[$i][QRCAP_EC][$level];
- if($words >= $size)
- return $i;
- }
-
- return -1;
- }
-
- //######################################################################
-
- public static $lengthTableBits = array(
- array(10, 12, 14),
- array( 9, 11, 13),
- array( 8, 16, 16),
- array( 8, 10, 12)
- );
-
- //----------------------------------------------------------------------
- public static function lengthIndicator($mode, $version)
- {
- if ($mode == QR_MODE_STRUCTURE)
- return 0;
-
- if ($version <= 9) {
- $l = 0;
- } else if ($version <= 26) {
- $l = 1;
- } else {
- $l = 2;
- }
-
- return self::$lengthTableBits[$mode][$l];
- }
-
- //----------------------------------------------------------------------
- public static function maximumWords($mode, $version)
- {
- if($mode == QR_MODE_STRUCTURE)
- return 3;
-
- if($version <= 9) {
- $l = 0;
- } else if($version <= 26) {
- $l = 1;
- } else {
- $l = 2;
- }
-
- $bits = self::$lengthTableBits[$mode][$l];
- $words = (1 << $bits) - 1;
-
- if($mode == QR_MODE_KANJI) {
- $words *= 2; // the number of bytes is required
- }
-
- return $words;
- }
-
- // Error correction code -----------------------------------------------
- // Table of the error correction code (Reed-Solomon block)
- // See Table 12-16 (pp.30-36), JIS X0510:2004.
-
- public static $eccTable = array(
- array(array( 0, 0), array( 0, 0), array( 0, 0), array( 0, 0)),
- array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)), // 1
- array(array( 1, 0), array( 1, 0), array( 1, 0), array( 1, 0)),
- array(array( 1, 0), array( 1, 0), array( 2, 0), array( 2, 0)),
- array(array( 1, 0), array( 2, 0), array( 2, 0), array( 4, 0)),
- array(array( 1, 0), array( 2, 0), array( 2, 2), array( 2, 2)), // 5
- array(array( 2, 0), array( 4, 0), array( 4, 0), array( 4, 0)),
- array(array( 2, 0), array( 4, 0), array( 2, 4), array( 4, 1)),
- array(array( 2, 0), array( 2, 2), array( 4, 2), array( 4, 2)),
- array(array( 2, 0), array( 3, 2), array( 4, 4), array( 4, 4)),
- array(array( 2, 2), array( 4, 1), array( 6, 2), array( 6, 2)), //10
- array(array( 4, 0), array( 1, 4), array( 4, 4), array( 3, 8)),
- array(array( 2, 2), array( 6, 2), array( 4, 6), array( 7, 4)),
- array(array( 4, 0), array( 8, 1), array( 8, 4), array(12, 4)),
- array(array( 3, 1), array( 4, 5), array(11, 5), array(11, 5)),
- array(array( 5, 1), array( 5, 5), array( 5, 7), array(11, 7)), //15
- array(array( 5, 1), array( 7, 3), array(15, 2), array( 3, 13)),
- array(array( 1, 5), array(10, 1), array( 1, 15), array( 2, 17)),
- array(array( 5, 1), array( 9, 4), array(17, 1), array( 2, 19)),
- array(array( 3, 4), array( 3, 11), array(17, 4), array( 9, 16)),
- array(array( 3, 5), array( 3, 13), array(15, 5), array(15, 10)), //20
- array(array( 4, 4), array(17, 0), array(17, 6), array(19, 6)),
- array(array( 2, 7), array(17, 0), array( 7, 16), array(34, 0)),
- array(array( 4, 5), array( 4, 14), array(11, 14), array(16, 14)),
- array(array( 6, 4), array( 6, 14), array(11, 16), array(30, 2)),
- array(array( 8, 4), array( 8, 13), array( 7, 22), array(22, 13)), //25
- array(array(10, 2), array(19, 4), array(28, 6), array(33, 4)),
- array(array( 8, 4), array(22, 3), array( 8, 26), array(12, 28)),
- array(array( 3, 10), array( 3, 23), array( 4, 31), array(11, 31)),
- array(array( 7, 7), array(21, 7), array( 1, 37), array(19, 26)),
- array(array( 5, 10), array(19, 10), array(15, 25), array(23, 25)), //30
- array(array(13, 3), array( 2, 29), array(42, 1), array(23, 28)),
- array(array(17, 0), array(10, 23), array(10, 35), array(19, 35)),
- array(array(17, 1), array(14, 21), array(29, 19), array(11, 46)),
- array(array(13, 6), array(14, 23), array(44, 7), array(59, 1)),
- array(array(12, 7), array(12, 26), array(39, 14), array(22, 41)), //35
- array(array( 6, 14), array( 6, 34), array(46, 10), array( 2, 64)),
- array(array(17, 4), array(29, 14), array(49, 10), array(24, 46)),
- array(array( 4, 18), array(13, 32), array(48, 14), array(42, 32)),
- array(array(20, 4), array(40, 7), array(43, 22), array(10, 67)),
- array(array(19, 6), array(18, 31), array(34, 34), array(20, 61)),//40
- );
-
- //----------------------------------------------------------------------
- // CACHEABLE!!!
-
- public static function getEccSpec($version, $level, array &$spec)
- {
- if (count($spec) < 5) {
- $spec = array(0,0,0,0,0);
- }
-
- $b1 = self::$eccTable[$version][$level][0];
- $b2 = self::$eccTable[$version][$level][1];
- $data = self::getDataLength($version, $level);
- $ecc = self::getECCLength($version, $level);
-
- if($b2 == 0) {
- $spec[0] = $b1;
- $spec[1] = (int)($data / $b1);
- $spec[2] = (int)($ecc / $b1);
- $spec[3] = 0;
- $spec[4] = 0;
- } else {
- $spec[0] = $b1;
- $spec[1] = (int)($data / ($b1 + $b2));
- $spec[2] = (int)($ecc / ($b1 + $b2));
- $spec[3] = $b2;
- $spec[4] = $spec[1] + 1;
- }
- }
-
- // Alignment pattern ---------------------------------------------------
-
- // Positions of alignment patterns.
- // This array includes only the second and the third position of the
- // alignment patterns. Rest of them can be calculated from the distance
- // between them.
-
- // See Table 1 in Appendix E (pp.71) of JIS X0510:2004.
-
- public static $alignmentPattern = array(
- array( 0, 0),
- array( 0, 0), array(18, 0), array(22, 0), array(26, 0), array(30, 0), // 1- 5
- array(34, 0), array(22, 38), array(24, 42), array(26, 46), array(28, 50), // 6-10
- array(30, 54), array(32, 58), array(34, 62), array(26, 46), array(26, 48), //11-15
- array(26, 50), array(30, 54), array(30, 56), array(30, 58), array(34, 62), //16-20
- array(28, 50), array(26, 50), array(30, 54), array(28, 54), array(32, 58), //21-25
- array(30, 58), array(34, 62), array(26, 50), array(30, 54), array(26, 52), //26-30
- array(30, 56), array(34, 60), array(30, 58), array(34, 62), array(30, 54), //31-35
- array(24, 50), array(28, 54), array(32, 58), array(26, 54), array(30, 58), //35-40
- );
-
-
- /** --------------------------------------------------------------------
- * Put an alignment marker.
- * @param frame
- * @param width
- * @param ox,oy center coordinate of the pattern
- */
- public static function putAlignmentMarker(array &$frame, $ox, $oy)
- {
- $finder = array(
- "\xa1\xa1\xa1\xa1\xa1",
- "\xa1\xa0\xa0\xa0\xa1",
- "\xa1\xa0\xa1\xa0\xa1",
- "\xa1\xa0\xa0\xa0\xa1",
- "\xa1\xa1\xa1\xa1\xa1"
- );
-
- $yStart = $oy-2;
- $xStart = $ox-2;
-
- for($y=0; $y<5; $y++) {
- QRstr::set($frame, $xStart, $yStart+$y, $finder[$y]);
- }
- }
-
- //----------------------------------------------------------------------
- public static function putAlignmentPattern($version, &$frame, $width)
- {
- if($version < 2)
- return;
-
- $d = self::$alignmentPattern[$version][1] - self::$alignmentPattern[$version][0];
- if($d < 0) {
- $w = 2;
- } else {
- $w = (int)(($width - self::$alignmentPattern[$version][0]) / $d + 2);
- }
-
- if($w * $w - 3 == 1) {
- $x = self::$alignmentPattern[$version][0];
- $y = self::$alignmentPattern[$version][0];
- self::putAlignmentMarker($frame, $x, $y);
- return;
- }
-
- $cx = self::$alignmentPattern[$version][0];
- for($x=1; $x<$w - 1; $x++) {
- self::putAlignmentMarker($frame, 6, $cx);
- self::putAlignmentMarker($frame, $cx, 6);
- $cx += $d;
- }
-
- $cy = self::$alignmentPattern[$version][0];
- for($y=0; $y<$w-1; $y++) {
- $cx = self::$alignmentPattern[$version][0];
- for($x=0; $x<$w-1; $x++) {
- self::putAlignmentMarker($frame, $cx, $cy);
- $cx += $d;
- }
- $cy += $d;
- }
- }
-
- // Version information pattern -----------------------------------------
-
- // Version information pattern (BCH coded).
- // See Table 1 in Appendix D (pp.68) of JIS X0510:2004.
-
- // size: [QRSPEC_VERSION_MAX - 6]
-
- public static $versionPattern = array(
- 0x07c94, 0x085bc, 0x09a99, 0x0a4d3, 0x0bbf6, 0x0c762, 0x0d847, 0x0e60d,
- 0x0f928, 0x10b78, 0x1145d, 0x12a17, 0x13532, 0x149a6, 0x15683, 0x168c9,
- 0x177ec, 0x18ec4, 0x191e1, 0x1afab, 0x1b08e, 0x1cc1a, 0x1d33f, 0x1ed75,
- 0x1f250, 0x209d5, 0x216f0, 0x228ba, 0x2379f, 0x24b0b, 0x2542e, 0x26a64,
- 0x27541, 0x28c69
- );
-
- //----------------------------------------------------------------------
- public static function getVersionPattern($version)
- {
- if($version < 7 || $version > QRSPEC_VERSION_MAX)
- return 0;
-
- return self::$versionPattern[$version -7];
- }
-
- // Format information --------------------------------------------------
- // See calcFormatInfo in tests/test_qrspec.c (orginal qrencode c lib)
-
- public static $formatInfo = array(
- array(0x77c4, 0x72f3, 0x7daa, 0x789d, 0x662f, 0x6318, 0x6c41, 0x6976),
- array(0x5412, 0x5125, 0x5e7c, 0x5b4b, 0x45f9, 0x40ce, 0x4f97, 0x4aa0),
- array(0x355f, 0x3068, 0x3f31, 0x3a06, 0x24b4, 0x2183, 0x2eda, 0x2bed),
- array(0x1689, 0x13be, 0x1ce7, 0x19d0, 0x0762, 0x0255, 0x0d0c, 0x083b)
- );
-
- public static function getFormatInfo($mask, $level)
- {
- if($mask < 0 || $mask > 7)
- return 0;
-
- if($level < 0 || $level > 3)
- return 0;
-
- return self::$formatInfo[$level][$mask];
- }
-
- // Frame ---------------------------------------------------------------
- // Cache of initial frames.
-
- public static $frames = array();
-
- /** --------------------------------------------------------------------
- * Put a finder pattern.
- * @param frame
- * @param width
- * @param ox,oy upper-left coordinate of the pattern
- */
- public static function putFinderPattern(&$frame, $ox, $oy)
- {
- $finder = array(
- "\xc1\xc1\xc1\xc1\xc1\xc1\xc1",
- "\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc1\xc1\xc1\xc0\xc1",
- "\xc1\xc0\xc0\xc0\xc0\xc0\xc1",
- "\xc1\xc1\xc1\xc1\xc1\xc1\xc1"
- );
-
- for($y=0; $y<7; $y++) {
- QRstr::set($frame, $ox, $oy+$y, $finder[$y]);
- }
- }
-
- //----------------------------------------------------------------------
- public static function createFrame($version)
- {
- $width = self::$capacity[$version][QRCAP_WIDTH];
- $frameLine = str_repeat ("\0", $width);
- $frame = array_fill(0, $width, $frameLine);
-
- // Finder pattern
- self::putFinderPattern($frame, 0, 0);
- self::putFinderPattern($frame, $width - 7, 0);
- self::putFinderPattern($frame, 0, $width - 7);
-
- // Separator
- $yOffset = $width - 7;
-
- for($y=0; $y<7; $y++) {
- $frame[$y][7] = "\xc0";
- $frame[$y][$width - 8] = "\xc0";
- $frame[$yOffset][7] = "\xc0";
- $yOffset++;
- }
-
- $setPattern = str_repeat("\xc0", 8);
-
- QRstr::set($frame, 0, 7, $setPattern);
- QRstr::set($frame, $width-8, 7, $setPattern);
- QRstr::set($frame, 0, $width - 8, $setPattern);
-
- // Format info
- $setPattern = str_repeat("\x84", 9);
- QRstr::set($frame, 0, 8, $setPattern);
- QRstr::set($frame, $width - 8, 8, $setPattern, 8);
-
- $yOffset = $width - 8;
-
- for($y=0; $y<8; $y++,$yOffset++) {
- $frame[$y][8] = "\x84";
- $frame[$yOffset][8] = "\x84";
- }
-
- // Timing pattern
-
- for($i=1; $i<$width-15; $i++) {
- $frame[6][7+$i] = chr(0x90 | ($i & 1));
- $frame[7+$i][6] = chr(0x90 | ($i & 1));
- }
-
- // Alignment pattern
- self::putAlignmentPattern($version, $frame, $width);
-
- // Version information
- if($version >= 7) {
- $vinf = self::getVersionPattern($version);
-
- $v = $vinf;
-
- for($x=0; $x<6; $x++) {
- for($y=0; $y<3; $y++) {
- $frame[($width - 11)+$y][$x] = chr(0x88 | ($v & 1));
- $v = $v >> 1;
- }
- }
-
- $v = $vinf;
- for($y=0; $y<6; $y++) {
- for($x=0; $x<3; $x++) {
- $frame[$y][$x+($width - 11)] = chr(0x88 | ($v & 1));
- $v = $v >> 1;
- }
- }
- }
-
- // and a little bit...
- $frame[$width - 8][8] = "\x81";
-
- return $frame;
- }
-
- //----------------------------------------------------------------------
- public static function debug($frame, $binary_mode = false)
- {
- if ($binary_mode) {
-
- foreach ($frame as &$frameLine) {
- $frameLine = join('<span class="m">&nbsp;&nbsp;</span>', explode('0', $frameLine));
- $frameLine = join('&#9608;&#9608;', explode('1', $frameLine));
- }
-
- ?>
- <style>
- .m { background-color: white; }
- </style>
- <?php
- echo '<pre><tt><br/ ><br/ ><br/ >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
- echo join("<br/ >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;", $frame);
- echo '</tt></pre><br/ ><br/ ><br/ ><br/ ><br/ ><br/ >';
-
- } else {
-
- foreach ($frame as &$frameLine) {
- $frameLine = join('<span class="m">&nbsp;</span>', explode("\xc0", $frameLine));
- $frameLine = join('<span class="m">&#9618;</span>', explode("\xc1", $frameLine));
- $frameLine = join('<span class="p">&nbsp;</span>', explode("\xa0", $frameLine));
- $frameLine = join('<span class="p">&#9618;</span>', explode("\xa1", $frameLine));
- $frameLine = join('<span class="s">&#9671;</span>', explode("\x84", $frameLine)); //format 0
- $frameLine = join('<span class="s">&#9670;</span>', explode("\x85", $frameLine)); //format 1
- $frameLine = join('<span class="x">&#9762;</span>', explode("\x81", $frameLine)); //special bit
- $frameLine = join('<span class="c">&nbsp;</span>', explode("\x90", $frameLine)); //clock 0
- $frameLine = join('<span class="c">&#9719;</span>', explode("\x91", $frameLine)); //clock 1
- $frameLine = join('<span class="f">&nbsp;</span>', explode("\x88", $frameLine)); //version
- $frameLine = join('<span class="f">&#9618;</span>', explode("\x89", $frameLine)); //version
- $frameLine = join('&#9830;', explode("\x01", $frameLine));
- $frameLine = join('&#8901;', explode("\0", $frameLine));
- }
-
- ?>
- <style>
- .p { background-color: yellow; }
- .m { background-color: #00FF00; }
- .s { background-color: #FF0000; }
- .c { background-color: aqua; }
- .x { background-color: pink; }
- .f { background-color: gold; }
- </style>
- <?php
- echo "<pre><tt>";
- echo join("<br/ >", $frame);
- echo "</tt></pre>";
-
- }
- }
-
- //----------------------------------------------------------------------
- public static function serial($frame)
- {
- return gzcompress(join("\n", $frame), 9);
- }
-
- //----------------------------------------------------------------------
- public static function unserial($code)
- {
- return explode("\n", gzuncompress($code));
- }
-
- //----------------------------------------------------------------------
- public static function newFrame($version)
- {
- if($version < 1 || $version > QRSPEC_VERSION_MAX)
- return null;
-
- if(!isset(self::$frames[$version])) {
-
- $fileName = QR_CACHE_DIR.'frame_'.$version.'.dat';
-
- if (QR_CACHEABLE) {
- if (file_exists($fileName)) {
- self::$frames[$version] = self::unserial(file_get_contents($fileName));
- } else {
- self::$frames[$version] = self::createFrame($version);
- file_put_contents($fileName, self::serial(self::$frames[$version]));
- }
- } else {
- self::$frames[$version] = self::createFrame($version);
- }
- }
-
- if(is_null(self::$frames[$version]))
- return null;
-
- return self::$frames[$version];
- }
-
- //----------------------------------------------------------------------
- public static function rsBlockNum($spec) { return $spec[0] + $spec[3]; }
- public static function rsBlockNum1($spec) { return $spec[0]; }
- public static function rsDataCodes1($spec) { return $spec[1]; }
- public static function rsEccCodes1($spec) { return $spec[2]; }
- public static function rsBlockNum2($spec) { return $spec[3]; }
- public static function rsDataCodes2($spec) { return $spec[4]; }
- public static function rsEccCodes2($spec) { return $spec[2]; }
- public static function rsDataLength($spec) { return ($spec[0] * $spec[1]) + ($spec[3] * $spec[4]); }
- public static function rsEccLength($spec) { return ($spec[0] + $spec[3]) * $spec[2]; }
-
- } \ No newline at end of file
diff --git a/library/phpqrcode/qrsplit.php b/library/phpqrcode/qrsplit.php
deleted file mode 100644
index d75b82737..000000000
--- a/library/phpqrcode/qrsplit.php
+++ /dev/null
@@ -1,311 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Input splitting classes
- *
- * Based on libqrencode C library distributed under LGPL 2.1
- * Copyright (C) 2006, 2007, 2008, 2009 Kentaro Fukuchi <fukuchi@megaui.net>
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * The following data / specifications are taken from
- * "Two dimensional symbol -- QR-code -- Basic Specification" (JIS X0510:2004)
- * or
- * "Automatic identification and data capture techniques --
- * QR Code 2005 bar code symbology specification" (ISO/IEC 18004:2006)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
- class QRsplit {
-
- public $dataStr = '';
- public $input;
- public $modeHint;
-
- //----------------------------------------------------------------------
- public function __construct($dataStr, $input, $modeHint)
- {
- $this->dataStr = $dataStr;
- $this->input = $input;
- $this->modeHint = $modeHint;
- }
-
- //----------------------------------------------------------------------
- public static function isdigitat($str, $pos)
- {
- if ($pos >= strlen($str))
- return false;
-
- return ((ord($str[$pos]) >= ord('0'))&&(ord($str[$pos]) <= ord('9')));
- }
-
- //----------------------------------------------------------------------
- public static function isalnumat($str, $pos)
- {
- if ($pos >= strlen($str))
- return false;
-
- return (QRinput::lookAnTable(ord($str[$pos])) >= 0);
- }
-
- //----------------------------------------------------------------------
- public function identifyMode($pos)
- {
- if ($pos >= strlen($this->dataStr))
- return QR_MODE_NUL;
-
- $c = $this->dataStr[$pos];
-
- if(self::isdigitat($this->dataStr, $pos)) {
- return QR_MODE_NUM;
- } else if(self::isalnumat($this->dataStr, $pos)) {
- return QR_MODE_AN;
- } else if($this->modeHint == QR_MODE_KANJI) {
-
- if ($pos+1 < strlen($this->dataStr))
- {
- $d = $this->dataStr[$pos+1];
- $word = (ord($c) << 8) | ord($d);
- if(($word >= 0x8140 && $word <= 0x9ffc) || ($word >= 0xe040 && $word <= 0xebbf)) {
- return QR_MODE_KANJI;
- }
- }
- }
-
- return QR_MODE_8;
- }
-
- //----------------------------------------------------------------------
- public function eatNum()
- {
- $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
-
- $p = 0;
- while(self::isdigitat($this->dataStr, $p)) {
- $p++;
- }
-
- $run = $p;
- $mode = $this->identifyMode($p);
-
- if($mode == QR_MODE_8) {
- $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln
- + QRinput::estimateBitsMode8(1) // + 4 + l8
- - QRinput::estimateBitsMode8($run + 1); // - 4 - l8
- if($dif > 0) {
- return $this->eat8();
- }
- }
- if($mode == QR_MODE_AN) {
- $dif = QRinput::estimateBitsModeNum($run) + 4 + $ln
- + QRinput::estimateBitsModeAn(1) // + 4 + la
- - QRinput::estimateBitsModeAn($run + 1);// - 4 - la
- if($dif > 0) {
- return $this->eatAn();
- }
- }
-
- $ret = $this->input->append(QR_MODE_NUM, $run, str_split($this->dataStr));
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function eatAn()
- {
- $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion());
- $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
-
- $p = 0;
-
- while(self::isalnumat($this->dataStr, $p)) {
- if(self::isdigitat($this->dataStr, $p)) {
- $q = $p;
- while(self::isdigitat($this->dataStr, $q)) {
- $q++;
- }
-
- $dif = QRinput::estimateBitsModeAn($p) // + 4 + la
- + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln
- - QRinput::estimateBitsModeAn($q); // - 4 - la
-
- if($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else {
- $p++;
- }
- }
-
- $run = $p;
-
- if(!self::isalnumat($this->dataStr, $p)) {
- $dif = QRinput::estimateBitsModeAn($run) + 4 + $la
- + QRinput::estimateBitsMode8(1) // + 4 + l8
- - QRinput::estimateBitsMode8($run + 1); // - 4 - l8
- if($dif > 0) {
- return $this->eat8();
- }
- }
-
- $ret = $this->input->append(QR_MODE_AN, $run, str_split($this->dataStr));
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function eatKanji()
- {
- $p = 0;
-
- while($this->identifyMode($p) == QR_MODE_KANJI) {
- $p += 2;
- }
-
- $ret = $this->input->append(QR_MODE_KANJI, $p, str_split($this->dataStr));
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function eat8()
- {
- $la = QRspec::lengthIndicator(QR_MODE_AN, $this->input->getVersion());
- $ln = QRspec::lengthIndicator(QR_MODE_NUM, $this->input->getVersion());
-
- $p = 1;
- $dataStrLen = strlen($this->dataStr);
-
- while($p < $dataStrLen) {
-
- $mode = $this->identifyMode($p);
- if($mode == QR_MODE_KANJI) {
- break;
- }
- if($mode == QR_MODE_NUM) {
- $q = $p;
- while(self::isdigitat($this->dataStr, $q)) {
- $q++;
- }
- $dif = QRinput::estimateBitsMode8($p) // + 4 + l8
- + QRinput::estimateBitsModeNum($q - $p) + 4 + $ln
- - QRinput::estimateBitsMode8($q); // - 4 - l8
- if($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else if($mode == QR_MODE_AN) {
- $q = $p;
- while(self::isalnumat($this->dataStr, $q)) {
- $q++;
- }
- $dif = QRinput::estimateBitsMode8($p) // + 4 + l8
- + QRinput::estimateBitsModeAn($q - $p) + 4 + $la
- - QRinput::estimateBitsMode8($q); // - 4 - l8
- if($dif < 0) {
- break;
- } else {
- $p = $q;
- }
- } else {
- $p++;
- }
- }
-
- $run = $p;
- $ret = $this->input->append(QR_MODE_8, $run, str_split($this->dataStr));
-
- if($ret < 0)
- return -1;
-
- return $run;
- }
-
- //----------------------------------------------------------------------
- public function splitString()
- {
- while (strlen($this->dataStr) > 0)
- {
- if($this->dataStr == '')
- return 0;
-
- $mode = $this->identifyMode(0);
-
- switch ($mode) {
- case QR_MODE_NUM: $length = $this->eatNum(); break;
- case QR_MODE_AN: $length = $this->eatAn(); break;
- case QR_MODE_KANJI:
- if ($hint == QR_MODE_KANJI)
- $length = $this->eatKanji();
- else $length = $this->eat8();
- break;
- default: $length = $this->eat8(); break;
-
- }
-
- if($length == 0) return 0;
- if($length < 0) return -1;
-
- $this->dataStr = substr($this->dataStr, $length);
- }
- }
-
- //----------------------------------------------------------------------
- public function toUpper()
- {
- $stringLen = strlen($this->dataStr);
- $p = 0;
-
- while ($p<$stringLen) {
- $mode = self::identifyMode(substr($this->dataStr, $p), $this->modeHint);
- if($mode == QR_MODE_KANJI) {
- $p += 2;
- } else {
- if (ord($this->dataStr[$p]) >= ord('a') && ord($this->dataStr[$p]) <= ord('z')) {
- $this->dataStr[$p] = chr(ord($this->dataStr[$p]) - 32);
- }
- $p++;
- }
- }
-
- return $this->dataStr;
- }
-
- //----------------------------------------------------------------------
- public static function splitStringToQRinput($string, QRinput $input, $modeHint, $casesensitive = true)
- {
- if(is_null($string) || $string == '\0' || $string == '') {
- throw new Exception('empty string!!!');
- }
-
- $split = new QRsplit($string, $input, $modeHint);
-
- if(!$casesensitive)
- $split->toUpper();
-
- return $split->splitString();
- }
- } \ No newline at end of file
diff --git a/library/phpqrcode/qrtools.php b/library/phpqrcode/qrtools.php
deleted file mode 100644
index 3012db493..000000000
--- a/library/phpqrcode/qrtools.php
+++ /dev/null
@@ -1,172 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Toolset, handy and debug utilites.
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- class QRtools {
-
- //----------------------------------------------------------------------
- public static function binarize($frame)
- {
- $len = count($frame);
- foreach ($frame as &$frameLine) {
-
- for($i=0; $i<$len; $i++) {
- $frameLine[$i] = (ord($frameLine[$i])&1)?'1':'0';
- }
- }
-
- return $frame;
- }
-
- //----------------------------------------------------------------------
- public static function tcpdfBarcodeArray($code, $mode = 'QR,L', $tcPdfVersion = '4.5.037')
- {
- $barcode_array = array();
-
- if (!is_array($mode))
- $mode = explode(',', $mode);
-
- $eccLevel = 'L';
-
- if (count($mode) > 1) {
- $eccLevel = $mode[1];
- }
-
- $qrTab = QRcode::text($code, false, $eccLevel);
- $size = count($qrTab);
-
- $barcode_array['num_rows'] = $size;
- $barcode_array['num_cols'] = $size;
- $barcode_array['bcode'] = array();
-
- foreach ($qrTab as $line) {
- $arrAdd = array();
- foreach(str_split($line) as $char)
- $arrAdd[] = ($char=='1')?1:0;
- $barcode_array['bcode'][] = $arrAdd;
- }
-
- return $barcode_array;
- }
-
- //----------------------------------------------------------------------
- public static function clearCache()
- {
- self::$frames = array();
- }
-
- //----------------------------------------------------------------------
- public static function buildCache()
- {
- QRtools::markTime('before_build_cache');
-
- $mask = new QRmask();
- for ($a=1; $a <= QRSPEC_VERSION_MAX; $a++) {
- $frame = QRspec::newFrame($a);
- if (QR_IMAGE) {
- $fileName = QR_CACHE_DIR.'frame_'.$a.'.png';
- QRimage::png(self::binarize($frame), $fileName, 1, 0);
- }
-
- $width = count($frame);
- $bitMask = array_fill(0, $width, array_fill(0, $width, 0));
- for ($maskNo=0; $maskNo<8; $maskNo++)
- $mask->makeMaskNo($maskNo, $width, $frame, $bitMask, true);
- }
-
- QRtools::markTime('after_build_cache');
- }
-
- //----------------------------------------------------------------------
- public static function log($outfile, $err)
- {
- if (QR_LOG_DIR !== false) {
- if ($err != '') {
- if ($outfile !== false) {
- file_put_contents(QR_LOG_DIR.basename($outfile).'-errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
- } else {
- file_put_contents(QR_LOG_DIR.'errors.txt', date('Y-m-d H:i:s').': '.$err, FILE_APPEND);
- }
- }
- }
- }
-
- //----------------------------------------------------------------------
- public static function dumpMask($frame)
- {
- $width = count($frame);
- for($y=0;$y<$width;$y++) {
- for($x=0;$x<$width;$x++) {
- echo ord($frame[$y][$x]).',';
- }
- }
- }
-
- //----------------------------------------------------------------------
- public static function markTime($markerId)
- {
- list($usec, $sec) = explode(" ", microtime());
- $time = ((float)$usec + (float)$sec);
-
- if (!isset($GLOBALS['qr_time_bench']))
- $GLOBALS['qr_time_bench'] = array();
-
- $GLOBALS['qr_time_bench'][$markerId] = $time;
- }
-
- //----------------------------------------------------------------------
- public static function timeBenchmark()
- {
- self::markTime('finish');
-
- $lastTime = 0;
- $startTime = 0;
- $p = 0;
-
- echo '<table cellpadding="3" cellspacing="1">
- <thead><tr style="border-bottom:1px solid silver"><td colspan="2" style="text-align:center">BENCHMARK</td></tr></thead>
- <tbody>';
-
- foreach($GLOBALS['qr_time_bench'] as $markerId=>$thisTime) {
- if ($p > 0) {
- echo '<tr><th style="text-align:right">till '.$markerId.': </th><td>'.number_format($thisTime-$lastTime, 6).'s</td></tr>';
- } else {
- $startTime = $thisTime;
- }
-
- $p++;
- $lastTime = $thisTime;
- }
-
- echo '</tbody><tfoot>
- <tr style="border-top:2px solid black"><th style="text-align:right">TOTAL: </th><td>'.number_format($lastTime-$startTime, 6).'s</td></tr>
- </tfoot>
- </table>';
- }
-
- }
-
- //##########################################################################
-
- QRtools::markTime('start');
- \ No newline at end of file
diff --git a/library/phpqrcode/tools/merge.bat b/library/phpqrcode/tools/merge.bat
deleted file mode 100644
index b60a4853c..000000000
--- a/library/phpqrcode/tools/merge.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-php ./merge.php
-pause \ No newline at end of file
diff --git a/library/phpqrcode/tools/merge.php b/library/phpqrcode/tools/merge.php
deleted file mode 100644
index 19d338b34..000000000
--- a/library/phpqrcode/tools/merge.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-/*
- * PHP QR Code encoder
- *
- * Tool for merging all library files into one, simpler to incorporate.
- *
- * MAKE SURE THAT RESULTING PHPQRCode.php (and its dir) ARE WRITABLE!
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- $QR_BASEDIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR;
- $QR_TOOLSDIR = dirname(__FILE__).DIRECTORY_SEPARATOR;
-
- $outputFile = $QR_BASEDIR.'phpqrcode.php';
-
- // Required libs
-
- $fileList = array(
- $QR_BASEDIR.'qrconst.php',
- $QR_TOOLSDIR.'merged_config.php',
- $QR_BASEDIR.'qrtools.php',
- $QR_BASEDIR.'qrspec.php',
- $QR_BASEDIR.'qrimage.php',
- $QR_BASEDIR.'qrinput.php',
- $QR_BASEDIR.'qrbitstream.php',
- $QR_BASEDIR.'qrsplit.php',
- $QR_BASEDIR.'qrrscode.php',
- $QR_BASEDIR.'qrmask.php',
- $QR_BASEDIR.'qrencode.php'
- );
-
- $headerFile = $QR_TOOLSDIR.'merged_header.php';
- $versionFile = $QR_BASEDIR.'VERSION';
-
- $outputCode = '';
-
- foreach($fileList as $fileName) {
- $outputCode .= "\n\n".'//---- '.basename($fileName).' -----------------------------'."\n\n";
- $anotherCode = file_get_contents($fileName);
- $anotherCode = preg_replace ('/^<\?php/', '', $anotherCode);
- $anotherCode = preg_replace ('/\?>\*$/', '', $anotherCode);
- $outputCode .= "\n\n".$anotherCode."\n\n";
- }
-
- $versionDataEx = explode("\n", file_get_contents($versionFile));
-
- $outputContents = file_get_contents($headerFile);
- $outputContents .= "\n\n/*\n * Version: ".trim($versionDataEx[0])."\n * Build: ".trim($versionDataEx[1])."\n */\n\n";
- $outputContents .= $outputCode;
-
- file_put_contents($outputFile, $outputContents);
-
- \ No newline at end of file
diff --git a/library/phpqrcode/tools/merge.sh b/library/phpqrcode/tools/merge.sh
deleted file mode 100644
index e4c2fbcb8..000000000
--- a/library/phpqrcode/tools/merge.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-php ./merge.php \ No newline at end of file
diff --git a/library/phpqrcode/tools/merged_config.php b/library/phpqrcode/tools/merged_config.php
deleted file mode 100644
index 55ddb4506..000000000
--- a/library/phpqrcode/tools/merged_config.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-/*
- * PHP QR Code encoder
- *
- * Config file, tuned-up for merged verion
- */
-
- define('QR_CACHEABLE', false); // use cache - more disk reads but less CPU power, masks and format templates are stored there
- define('QR_CACHE_DIR', false); // used when QR_CACHEABLE === true
- define('QR_LOG_DIR', false); // default error logs dir
-
- define('QR_FIND_BEST_MASK', true); // if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code
- define('QR_FIND_FROM_RANDOM', 2); // if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly
- define('QR_DEFAULT_MASK', 2); // when QR_FIND_BEST_MASK === false
-
- define('QR_PNG_MAXIMUM_SIZE', 1024); // maximum allowed png image width (in pixels), tune to make sure GD and PHP can handle such big images
- \ No newline at end of file
diff --git a/library/phpqrcode/tools/merged_header.php b/library/phpqrcode/tools/merged_header.php
deleted file mode 100644
index 25805e564..000000000
--- a/library/phpqrcode/tools/merged_header.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * PHP QR Code encoder
- *
- * This file contains MERGED version of PHP QR Code library.
- * It was auto-generated from full version for your convenience.
- *
- * This merged version was configured to not requre any external files,
- * with disabled cache, error loging and weker but faster mask matching.
- * If you need tune it up please use non-merged version.
- *
- * For full version, documentation, examples of use please visit:
- *
- * http://phpqrcode.sourceforge.net/
- * https://sourceforge.net/projects/phpqrcode/
- *
- * PHP QR Code is distributed under LGPL 3
- * Copyright (C) 2010 Dominik Dzienia <deltalab at poczta dot fm>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- \ No newline at end of file
diff --git a/mod/acl.php b/mod/acl.php
index e919bb912..dc29e3eff 100644
--- a/mod/acl.php
+++ b/mod/acl.php
@@ -90,23 +90,21 @@ function acl_init(&$a){
// Getting info from the abook is better for local users because it contains info about permissions
if(local_channel()) {
if($extra_channels_sql != '')
- $extra_channels_sql = " OR (abook_channel IN ($extra_channels_sql)) and not (abook_flags & ". intval(ABOOK_FLAG_HIDDEN) . ') > 0';
+ $extra_channels_sql = " OR (abook_channel IN ($extra_channels_sql)) and abook_hidden = 0 ";
- $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags
+ $r = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags, abook_self
FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE (abook_channel = %d $extra_channels_sql) AND not ( abook_flags & %d )>0 and not (xchan_flags & %d )>0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
- intval(local_channel()),
- intval(ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED),
- intval(XCHAN_FLAGS_DELETED)
+ WHERE (abook_channel = %d $extra_channels_sql) AND abook_blocked = 0 and abook_pending = 0 and abook_archived = 0 and xchan_deleted = 0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
+ intval(local_channel())
);
}
else { // Visitors
- $r = q("SELECT xchan_hash as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags
+ $r = q("SELECT xchan_hash as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags, 0 as abook_self
FROM xchan left join xlink on xlink_link = xchan_hash
- WHERE xlink_xchan = '%s' AND NOT (xchan_flags & %d) > 0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
- dbesc(get_observer_hash()),
- intval(XCHAN_FLAGS_DELETED));
+ WHERE xlink_xchan = '%s' AND xchan_deleted = 0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
+ dbesc(get_observer_hash())
+ );
// Find contacts of extra channels
// This is probably more complicated than it needs to be
@@ -118,12 +116,9 @@ function acl_init(&$a){
$known_hashes[] = "'".$rr['hash']."'";
$known_hashes_sql = 'AND xchan_hash not in ('.join(',',$known_hashes).')';
- $r2 = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags
+ $r2 = q("SELECT abook_id as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, abook_their_perms, abook_flags, abook_self
FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel IN ($extra_channels_sql) $known_hashes_sql AND not ( abook_flags & %d )>0 and not (xchan_flags & %d )>0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
- intval(ABOOK_FLAG_BLOCKED|ABOOK_FLAG_PENDING|ABOOK_FLAG_ARCHIVED|ABOOK_FLAG_HIDDEN),
- intval(XCHAN_FLAGS_DELETED)
- );
+ WHERE abook_channel IN ($extra_channels_sql) $known_hashes_sql AND abook_blocked = 0 and abook_pending = 0 and abook_archived = 0 and abook_hidden = 0 and xchan_deleted = 0 $sql_extra2 order by $order_extra2 xchan_name asc");
if($r2)
$r = array_merge($r,$r2);
@@ -150,10 +145,9 @@ function acl_init(&$a){
}
if(intval(get_config('system','taganyone')) || intval(get_pconfig(local_channel(),'system','taganyone'))) {
if((count($r) < 100) && $type == 'c') {
- $r2 = q("SELECT substr(xchan_hash,1,18) as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags
+ $r2 = q("SELECT substr(xchan_hash,1,18) as id, xchan_hash as hash, xchan_name as name, xchan_photo_s as micro, xchan_url as url, xchan_addr as nick, 0 as abook_their_perms, 0 as abook_flags, 0 as abook_self
FROM xchan
- WHERE not (xchan_flags & %d )>0 $sql_extra2 order by $order_extra2 xchan_name asc" ,
- intval(XCHAN_FLAGS_DELETED)
+ WHERE xchan_deleted = 0 $sql_extra2 order by $order_extra2 xchan_name asc"
);
if($r2)
$r = array_merge($r,$r2);
@@ -165,24 +159,21 @@ function acl_init(&$a){
$r = q("SELECT xchan_hash as id, xchan_name as name, xchan_addr as nick, xchan_photo_s as micro, xchan_url as url
FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_channel = %d and ( (abook_their_perms = null) or (abook_their_perms & %d )>0)
- and not (xchan_flags & %d)>0
+ and xchan_deleted = 0
$sql_extra3
ORDER BY `xchan_name` ASC ",
intval(local_channel()),
- intval(PERMS_W_MAIL),
- intval(XCHAN_FLAGS_DELETED)
+ intval(PERMS_W_MAIL)
);
}
elseif(($type == 'a') || ($type == 'p')) {
$r = q("SELECT abook_id as id, xchan_name as name, xchan_hash as hash, xchan_addr as nick, xchan_photo_s as micro, xchan_network as network, xchan_url as url, xchan_addr as attag , abook_their_perms FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_channel = %d
- and not (xchan_flags & %d)>0
+ and xchan_deleted = 0
$sql_extra3
ORDER BY xchan_name ASC ",
- intval(local_channel()),
- intval(XCHAN_FLAGS_DELETED)
-
+ intval(local_channel())
);
}
@@ -226,7 +217,7 @@ function acl_init(&$a){
"xid" => $g['hash'],
"link" => $g['nick'],
"nick" => substr($g['nick'],0,strpos($g['nick'],'@')),
- "self" => (($g['abook_flags'] & ABOOK_FLAG_SELF) ? 'abook-self' : ''),
+ "self" => (intval($g['abook_self']) ? 'abook-self' : ''),
"taggable" => 'taggable',
"label" => t('network')
);
@@ -239,7 +230,7 @@ function acl_init(&$a){
"xid" => $g['hash'],
"link" => $g['nick'],
"nick" => (($g['nick']) ? substr($g['nick'],0,strpos($g['nick'],'@')) : t('RSS')),
- "self" => (($g['abook_flags'] & ABOOK_FLAG_SELF) ? 'abook-self' : ''),
+ "self" => (intval($g['abook_self']) ? 'abook-self' : ''),
"taggable" => '',
"label" => '',
);
diff --git a/mod/admin.php b/mod/admin.php
index beb629396..89207e4fa 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -1,7 +1,7 @@
<?php
/**
* @file mod/admin.php
- * @brief RedMatrix's admin controller.
+ * @brief Hubzilla's admin controller.
*
* Controller for the /admin/ area.
*/
@@ -89,6 +89,7 @@ function admin_content(&$a) {
*/
// array( url, name, extra css classes )
+
$aside = array(
'site' => array($a->get_baseurl(true)."/admin/site/", t("Site") , "site"),
'users' => array($a->get_baseurl(true)."/admin/users/", t("Accounts") , "users"),
@@ -99,6 +100,7 @@ function admin_content(&$a) {
// 'hubloc' => array($a->get_baseurl(true)."/admin/hubloc/", t("Server") , "server"),
'profs' => array(z_root() . '/admin/profs', t('Profile Config'), 'profs'),
'dbsync' => array($a->get_baseurl(true)."/admin/dbsync/", t('DB updates'), "dbsync")
+
);
/* get plugins admin page */
@@ -148,9 +150,9 @@ function admin_content(&$a) {
case 'themes':
$o = admin_page_themes($a);
break;
- case 'hubloc':
- $o = admin_page_hubloc($a);
- break;
+// case 'hubloc':
+// $o = admin_page_hubloc($a);
+// break;
case 'logs':
$o = admin_page_logs($a);
break;
@@ -209,9 +211,7 @@ function admin_page_summary(&$a) {
// available channels, primary and clones
$channels = array();
- $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN channel_primary = 1 THEN 1 ELSE NULL END) AS main, COUNT(CASE WHEN channel_primary = 0 THEN 1 ELSE NULL END) AS clones FROM channel WHERE NOT (channel_pageflags & %d)>0",
- intval(PAGE_REMOVED)
- );
+ $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN channel_primary = 1 THEN 1 ELSE NULL END) AS main, COUNT(CASE WHEN channel_primary = 0 THEN 1 ELSE NULL END) AS clones FROM channel WHERE channel_removed = 0");
if ($r) {
$channels['total'] = array('label' => t('# Channels'), 'val' => $r[0]['total']);
$channels['main'] = array('label' => t('# primary'), 'val' => $r[0]['main']);
@@ -299,11 +299,9 @@ function admin_page_site_post(&$a){
$poll_interval = ((x($_POST,'poll_interval')) ? intval(trim($_POST['poll_interval'])) : 0);
$maxloadavg = ((x($_POST,'maxloadavg')) ? intval(trim($_POST['maxloadavg'])) : 50);
$feed_contacts = ((x($_POST,'feed_contacts')) ? intval($_POST['feed_contacts']) : 0);
- $diaspora_enabled = ((x($_POST,'diaspora_enabled')) ? intval($_POST['diaspora_enabled']) : 0);
$verify_email = ((x($_POST,'verify_email')) ? 1 : 0);
set_config('system', 'feed_contacts', $feed_contacts);
- set_config('system', 'diaspora_enabled', $diaspora_enabled);
set_config('system', 'delivery_interval', $delivery_interval);
set_config('system', 'poll_interval', $poll_interval);
set_config('system', 'maxloadavg', $maxloadavg);
@@ -465,7 +463,6 @@ function admin_page_site(&$a) {
'$theme' => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"), $theme_choices),
'$theme_mobile' => array('theme_mobile', t("Mobile system theme"), get_config('system','mobile_theme'), t("Theme for mobile devices"), $theme_choices_mobile),
// '$site_channel' => array('site_channel', t("Channel to use for this website's static pages"), get_config('system','site_channel'), t("Site Channel")),
- '$diaspora_enabled' => array('diaspora_enabled',t('Enable Diaspora Protocol'), get_config('system','diaspora_enabled'), t('Communicate with Diaspora and Friendica - experimental')),
'$feed_contacts' => array('feed_contacts', t('Allow Feeds as Connections'),get_config('system','feed_contacts'),t('(Heavy system resource usage)')),
'$maximagesize' => array('maximagesize', t("Maximum image size"), intval(get_config('system','maximagesize')), t("Maximum size in bytes of uploaded images. Default is 0, which means no limits.")),
'$register_policy' => array('register_policy', t("Does this site allow new member registration?"), get_config('system','register_policy'), "", $register_choices),
@@ -786,11 +783,10 @@ function admin_page_users(&$a){
$users = q("SELECT `account_id` , `account_email`, `account_lastlog`, `account_created`, `account_expires`, " . "`account_service_class`, ( account_flags & %d )>0 as `blocked`, " .
"(SELECT %s FROM channel as ch " .
- "WHERE ch.channel_account_id = ac.account_id and not (ch.channel_pageflags & %d )>0) as `channels` " .
+ "WHERE ch.channel_account_id = ac.account_id and ch.channel_removed = 0 ) as `channels` " .
"FROM account as ac where true $serviceclass $order limit %d offset %d ",
intval(ACCOUNT_BLOCKED),
db_concat('ch.channel_address', ' '),
- intval(PAGE_REMOVED),
intval($a->pager['itemspage']),
intval($a->pager['start'])
);
@@ -948,9 +944,7 @@ function admin_page_channels(&$a){
/* get channels */
- $total = q("SELECT count(*) as total FROM channel where not (channel_pageflags & %d)>0",
- intval(PAGE_REMOVED|PAGE_SYSTEM)
- );
+ $total = q("SELECT count(*) as total FROM channel where channel_removed = 0 and channel_system = 0");
if($total) {
$a->set_pager_total($total[0]['total']);
$a->set_pager_itemspage(100);
@@ -958,8 +952,7 @@ function admin_page_channels(&$a){
$order = " order by channel_name asc ";
- $channels = q("SELECT * from channel where not ( channel_pageflags & %d )>0 $order limit %d offset %d ",
- intval(PAGE_REMOVED|PAGE_SYSTEM),
+ $channels = q("SELECT * from channel where channel_removed = 0 and channel_system = 0 $order limit %d offset %d ",
intval($a->pager['itemspage']),
intval($a->pager['start'])
);
@@ -1477,4 +1470,4 @@ function admin_page_profs(&$a) {
'$submit' => t('Save')
));
}
-} \ No newline at end of file
+}
diff --git a/mod/attach.php b/mod/attach.php
index 118c67dd5..ad5dead07 100644
--- a/mod/attach.php
+++ b/mod/attach.php
@@ -35,7 +35,7 @@ function attach_init(&$a) {
}
header('Content-disposition: attachment; filename="' . $r['data']['filename'] . '"');
- if($r['data']['flags'] & ATTACH_FLAG_OS ) {
+ if(intval($r['data']['os_storage'])) {
$fname = dbunescbin($r['data']['data']);
$istream = fopen('store/' . $c[0]['channel_address'] . '/' . $fname,'rb');
$ostream = fopen('php://output','wb');
diff --git a/mod/block.php b/mod/block.php
index 043b0e9e8..df3909629 100644
--- a/mod/block.php
+++ b/mod/block.php
@@ -50,10 +50,10 @@ function block_content(&$a) {
$r = q("select item.* from item left join item_id on item.id = item_id.iid
where item.uid = %d and sid = '%s' and service = 'BUILDBLOCK' and
- item_restrict = %d $sql_options $revision limit 1",
+ item_type = %d $sql_options $revision limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
- intval(ITEM_BUILDBLOCK)
+ intval(ITEM_TYPE_BLOCK)
);
if(! $r) {
@@ -62,10 +62,10 @@ function block_content(&$a) {
$x = q("select item.* from item left join item_id on item.id = item_id.iid
where item.uid = %d and sid = '%s' and service = 'BUILDBLOCK' and
- item_restrict = %d $revision limit 1",
+ item_type = %d $revision limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
- intval(ITEM_BUILDBLOCK)
+ intval(ITEM_TYPE_BLOCK)
);
if($x) {
// Yes, it's there. You just aren't allowed to see it.
diff --git a/mod/blocks.php b/mod/blocks.php
index 11e7d4a30..97cc5cd53 100644
--- a/mod/blocks.php
+++ b/mod/blocks.php
@@ -84,7 +84,7 @@ function blocks_content(&$a) {
}
$x = array(
- 'webpage' => ITEM_BUILDBLOCK,
+ 'webpage' => ITEM_TYPE_BLOCK,
'is_owner' => true,
'nickname' => $a->profile['channel_address'],
'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
@@ -108,9 +108,9 @@ function blocks_content(&$a) {
$editor = status_editor($a,$x);
$r = q("select iid, sid, mid, title, body, mimetype, created, edited from item_id left join item on item_id.iid = item.id
- where item_id.uid = %d and service = 'BUILDBLOCK' and item_restrict = %d order by item.created desc",
+ where item_id.uid = %d and service = 'BUILDBLOCK' and item_type = %d order by item.created desc",
intval($owner),
- intval(ITEM_BUILDBLOCK)
+ intval(ITEM_TYPE_BLOCK)
);
$pages = null;
@@ -143,21 +143,21 @@ function blocks_content(&$a) {
$url = z_root() . '/editblock/' . $which;
$o .= replace_macros(get_markup_template('blocklist.tpl'), array(
- '$baseurl' => $url,
- '$title' => t('Blocks'),
- '$name' => t('Block Name'),
+ '$baseurl' => $url,
+ '$title' => t('Blocks'),
+ '$name' => t('Block Name'),
'$blocktitle' => t('Block Title'),
- '$created' => t('Created'),
- '$edited' => t('Edited'),
- '$create' => t('Create'),
- '$edit' => t('Edit'),
- '$share' => t('Share'),
- '$delete' => t('Delete'),
- '$editor' => $editor,
- '$pages' => $pages,
- '$channel' => $which,
- '$view' => t('View'),
- '$preview' => '1',
+ '$created' => t('Created'),
+ '$edited' => t('Edited'),
+ '$create' => t('Create'),
+ '$edit' => t('Edit'),
+ '$share' => t('Share'),
+ '$delete' => t('Delete'),
+ '$editor' => $editor,
+ '$pages' => $pages,
+ '$channel' => $which,
+ '$view' => t('View'),
+ '$preview' => '1',
));
return $o;
diff --git a/mod/bookmarks.php b/mod/bookmarks.php
index a5b9c473f..c3d25253f 100644
--- a/mod/bookmarks.php
+++ b/mod/bookmarks.php
@@ -9,7 +9,9 @@ function bookmarks_init(&$a) {
$u = $a->get_channel();
- $i = q("select * from item where id = %d and uid = %d limit 1",
+ $item_normal = item_normal();
+
+ $i = q("select * from item where id = %d and uid = %d $item_normal limit 1",
intval($item_id),
intval(local_channel())
);
@@ -23,7 +25,7 @@ function bookmarks_init(&$a) {
$terms = get_terms_oftype($item['term'],TERM_BOOKMARK);
- if($terms && (! $item['item_restrict'])) {
+ if($terms) {
require_once('include/bookmarks.php');
$s = q("select * from xchan where xchan_hash = '%s' limit 1",
diff --git a/mod/branchtopic.php b/mod/branchtopic.php
index 609cb19ec..d49bbaf4c 100644
--- a/mod/branchtopic.php
+++ b/mod/branchtopic.php
@@ -33,8 +33,7 @@ function branchtopic_init(&$a) {
intval(local_channel())
);
- $x = q("update item set parent = id, route = '', item_flags = (item_flags | %d) where id = %d",
- intval(ITEM_THREAD_TOP),
+ $x = q("update item set parent = id, route = '', item_thread_top = 1 where id = %d",
intval($item_id)
);
diff --git a/mod/channel.php b/mod/channel.php
index b06602994..d1064e939 100644
--- a/mod/channel.php
+++ b/mod/channel.php
@@ -145,7 +145,7 @@ function channel_content(&$a, $update = 0, $load = false) {
* Get permissions SQL - if $remote_contact is true, our remote user has been pre-verified and we already have fetched his/her groups
*/
-
+ $item_normal = item_normal();
$sql_extra = item_permissions_sql($a->profile['profile_uid']);
if(get_pconfig($a->profile['profile_uid'],'system','channel_list_mode') && (! $mid))
@@ -165,23 +165,20 @@ function channel_content(&$a, $update = 0, $load = false) {
if(($update) && (! $load)) {
if ($mid) {
- $r = q("SELECT parent AS item_id from item where mid like '%s' and uid = %d AND item_restrict = 0
- AND (item_flags & %d) > 0 $simple_update $sql_extra limit 1",
+ $r = q("SELECT parent AS item_id from item where mid like '%s' and uid = %d $item_normal
+ AND item_wall = 1 AND item_unseen = 1 $sql_extra limit 1",
dbesc($mid . '%'),
- intval($a->profile['profile_uid']),
- intval(ITEM_WALL)
+ intval($a->profile['profile_uid'])
);
} else {
$r = q("SELECT distinct parent AS `item_id`, created from item
left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids )
- WHERE uid = %d AND item_restrict = 0
- AND (item_flags & %d) > 0 $simple_update
- AND ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
+ WHERE uid = %d $item_normal
+ AND item_wall = 1 AND item_unseen = 1
+ AND (abook.abook_blocked = 0 or abook.abook_flags is null)
$sql_extra
ORDER BY created DESC",
- intval($a->profile['profile_uid']),
- intval(ITEM_WALL),
- intval(ABOOK_FLAG_BLOCKED)
+ intval($a->profile['profile_uid'])
);
$_SESSION['loadtime'] = datetime_convert();
}
@@ -209,11 +206,10 @@ function channel_content(&$a, $update = 0, $load = false) {
if($load || ($_COOKIE['jsAvailable'] != 1)) {
if ($mid) {
- $r = q("SELECT parent AS item_id from item where mid = '%s' and uid = %d AND item_restrict = 0
- AND (item_flags & %d)>0 $sql_extra limit 1",
+ $r = q("SELECT parent AS item_id from item where mid = '%s' and uid = %d $item_normal
+ AND item_wall = 1 $sql_extra limit 1",
dbesc($mid),
- intval($a->profile['profile_uid']),
- intval(ITEM_WALL)
+ intval($a->profile['profile_uid'])
);
if (! $r) {
notice( t('Permission denied.') . EOL);
@@ -222,15 +218,12 @@ function channel_content(&$a, $update = 0, $load = false) {
} else {
$r = q("SELECT distinct id AS item_id, created FROM item
left join abook on item.author_xchan = abook.abook_xchan
- WHERE uid = %d AND item_restrict = 0
- AND (item_flags & %d)>0 and (item_flags & %d)>0
- AND ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
+ WHERE uid = %d $item_normal
+ AND item_wall = 1 and item_thread_top = 1
+ AND (abook_blocked = 0 or abook.abook_flags is null)
$sql_extra $sql_extra2
ORDER BY created DESC $pager_sql ",
- intval($a->profile['profile_uid']),
- intval(ITEM_WALL),
- intval(ITEM_THREAD_TOP),
- intval(ABOOK_FLAG_BLOCKED)
+ intval($a->profile['profile_uid'])
);
}
}
@@ -245,7 +238,7 @@ function channel_content(&$a, $update = 0, $load = false) {
$items = q("SELECT `item`.*, `item`.`id` AS `item_id`
FROM `item`
- WHERE `item`.`uid` = %d AND `item`.`item_restrict` = 0
+ WHERE `item`.`uid` = %d $item_normal
AND `item`.`parent` IN ( %s )
$sql_extra ",
intval($a->profile['profile_uid']),
@@ -338,9 +331,7 @@ function channel_content(&$a, $update = 0, $load = false) {
}
if($is_owner && $update_unseen) {
- $r = q("UPDATE item SET item_unseen = 0 WHERE item_unseen = 1
- AND (item_flags & %d) > 0 AND uid = %d $update_unseen",
- intval(ITEM_WALL),
+ $r = q("UPDATE item SET item_unseen = 0 where item_unseen = 1 and item_wall = 1 AND uid = %d $update_unseen",
intval(local_channel())
);
}
diff --git a/mod/chat.php b/mod/chat.php
index c54d29313..c2c11d0ab 100644
--- a/mod/chat.php
+++ b/mod/chat.php
@@ -54,12 +54,11 @@ function chat_post(&$a) {
goaway(z_root() . '/chat/' . $channel['channel_address']);
}
+ $acl = new AccessList($channel);
+ $acl->set_from_array($_REQUEST);
- $arr = array('name' => $room);
- $arr['allow_gid'] = perms2str($_REQUEST['group_allow']);
- $arr['allow_cid'] = perms2str($_REQUEST['contact_allow']);
- $arr['deny_gid'] = perms2str($_REQUEST['group_deny']);
- $arr['deny_cid'] = perms2str($_REQUEST['contact_deny']);
+ $arr = $acl->get();
+ $arr['name'] = $room;
chatroom_create($channel,$arr);
@@ -158,7 +157,10 @@ function chat_content(&$a) {
intval($a->profile['profile_uid'])
);
if($x) {
- $private = ((($x[0]['allow_cid']) || ($x[0]['allow_gid']) || ($x[0]['deny_cid']) || ($x[0]['deny_gid'])) ? true : false);
+ $acl = new AccessList(false);
+ $acl->set($x[0]);
+
+ $private = $acl->is_private();
$room_name = $x[0]['cr_name'];
if($bookmark_link)
$bookmark_link .= '&url=' . z_root() . '/chat/' . argv(1) . '/' . argv(2) . '&title=' . urlencode($x[0]['cr_name']) . (($private) ? '&private=1' : '') . '&ischat=1';
@@ -192,14 +194,8 @@ function chat_content(&$a) {
if(local_channel() && argc() > 2 && argv(2) === 'new') {
-
-
- $channel_acl = array(
- 'allow_cid' => $channel['channel_allow_cid'],
- 'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid']
- );
+ $acl = new AccessList($channel);
+ $channel_acl = $acl->get();
require_once('include/acl_selectors.php');
diff --git a/mod/cloud.php b/mod/cloud.php
index 4b5d45f97..7f6dc0962 100644
--- a/mod/cloud.php
+++ b/mod/cloud.php
@@ -1,7 +1,7 @@
<?php
/**
* @file mod/cloud.php
- * @brief Initialize RedMatrix's cloud (SabreDAV).
+ * @brief Initialize Hubzilla's cloud (SabreDAV).
*
* Module for accessing the DAV storage area.
*/
@@ -12,30 +12,12 @@ use RedMatrix\RedDAV;
// composer autoloader for SabreDAV
require_once('vendor/autoload.php');
-// workaround for HTTP-auth in CGI mode
-if (x($_SERVER, 'REDIRECT_REMOTE_USER')) {
- $userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"], 6)) ;
- if(strlen($userpass)) {
- list($name, $password) = explode(':', $userpass);
- $_SERVER['PHP_AUTH_USER'] = $name;
- $_SERVER['PHP_AUTH_PW'] = $password;
- }
-}
-
-if (x($_SERVER, 'HTTP_AUTHORIZATION')) {
- $userpass = base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"], 6)) ;
- if(strlen($userpass)) {
- list($name, $password) = explode(':', $userpass);
- $_SERVER['PHP_AUTH_USER'] = $name;
- $_SERVER['PHP_AUTH_PW'] = $password;
- }
-}
-
/**
* @brief Fires up the SabreDAV server.
*
* @param App &$a
*/
+
function cloud_init(&$a) {
require_once('include/reddav.php');
@@ -116,17 +98,12 @@ function cloud_init(&$a) {
}
if ((! $auth->observer) && (! $isapublic_file) && (! $davguest)) {
- try {
- $auth->Authenticate($server, t('$Projectname - Guests: Username: {your email address}, Password: +++'));
- }
- catch (Exception $e) {
- logger('mod_cloud: auth exception' . $e->getMessage());
- http_status_exit($e->getHTTPCode(), $e->getMessage());
- }
+ logger('mod_cloud: auth exception');
+ http_status_exit(401, 'Permission denied.');
}
require_once('include/RedDAV/RedBrowser.php');
- // provide a directory view for the cloud in Red Matrix
+ // provide a directory view for the cloud in Hubzilla
$browser = new RedDAV\RedBrowser($auth);
$auth->setBrowserPlugin($browser);
diff --git a/mod/connections.php b/mod/connections.php
index 8b95cbf2a..2060ca85e 100644
--- a/mod/connections.php
+++ b/mod/connections.php
@@ -42,46 +42,43 @@ function connections_content(&$a) {
if(! $_REQUEST['aj'])
$_SESSION['return_url'] = $a->query_string;
- $search_flags = 0;
+ $search_flags = '';
$head = '';
if(argc() == 2) {
switch(argv(1)) {
case 'blocked':
- $search_flags = ABOOK_FLAG_BLOCKED;
+ $search_flags = " and abook_blocked = 1 ";
$head = t('Blocked');
$blocked = true;
break;
case 'ignored':
- $search_flags = ABOOK_FLAG_IGNORED;
+ $search_flags = " and abook_ignored = 1 ";
$head = t('Ignored');
$ignored = true;
break;
case 'hidden':
- $search_flags = ABOOK_FLAG_HIDDEN;
+ $search_flags = " and abook_hidden = 1 ";
$head = t('Hidden');
$hidden = true;
break;
case 'archived':
- $search_flags = ABOOK_FLAG_ARCHIVED;
+ $search_flags = " and abook_archived = 1 ";
$head = t('Archived');
$archived = true;
break;
case 'pending':
- $search_flags = ABOOK_FLAG_PENDING;
+ $search_flags = " and abook_pending = 1 ";
$head = t('New');
$pending = true;
nav_set_selected('intros');
break;
case 'ifpending':
- $r = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d)>0 and not ((abook_flags & %d)>0 or (xchan_flags & %d)>0)",
- intval(local_channel()),
- intval(ABOOK_FLAG_PENDING),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_IGNORED),
- intval(XCHAN_FLAGS_DELETED|XCHAN_FLAGS_ORPHAN)
+ $r = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and abook_pending = 1 and abook_self = 0 and abook_ignored = 0 and xchan_deleted = 0 and xchan_orphan = 0 ",
+ intval(local_channel())
);
if($r && $r[0]['total']) {
- $search_flags = ABOOK_FLAG_PENDING;
+ $search_flags = " and abook_pending = 1 ";
$head = t('New');
$pending = true;
nav_set_selected('intros');
@@ -89,7 +86,7 @@ function connections_content(&$a) {
}
else {
$head = t('All');
- $search_flags = 0;
+ $search_flags = '';
$all = true;
$a->argc = 1;
unset($a->argv[1]);
@@ -97,7 +94,7 @@ function connections_content(&$a) {
nav_set_selected('intros');
break;
// case 'unconnected':
-// $search_flags = ABOOK_FLAG_UNCONNECTED;
+// $search_flags = " and abook_unconnected = 1 ";
// $head = t('Unconnected');
// $unconnected = true;
// break;
@@ -105,19 +102,19 @@ function connections_content(&$a) {
case 'all':
$head = t('All');
default:
- $search_flags = 0;
+ $search_flags = '';
$all = true;
break;
}
- $sql_extra = (($search_flags) ? " and ( abook_flags & " . $search_flags . " )>0 " : "");
+ $sql_extra = $search_flags;
if(argv(1) === 'pending')
- $sql_extra .= " and not ( abook_flags & " . ABOOK_FLAG_IGNORED . " )>0 ";
+ $sql_extra .= " and abook_ignored = 0 ";
}
else {
- $sql_extra = " and not ( abook_flags & " . ABOOK_FLAG_BLOCKED . " )>0 ";
+ $sql_extra = " and abook_blocked = 0 ";
$unblocked = true;
}
@@ -203,10 +200,8 @@ function connections_content(&$a) {
}
$r = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash
- where abook_channel = %d and not (abook_flags & %d)>0 and not (xchan_flags & %d )>0 $sql_extra $sql_extra2 ",
- intval(local_channel()),
- intval(ABOOK_FLAG_SELF),
- intval(XCHAN_FLAGS_DELETED|XCHAN_FLAGS_ORPHAN)
+ where abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra $sql_extra2 ",
+ intval(local_channel())
);
if($r) {
$a->set_pager_total($r[0]['total']);
@@ -214,10 +209,8 @@ function connections_content(&$a) {
}
$r = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash
- WHERE abook_channel = %d and not (abook_flags & %d)>0 and not ( xchan_flags & %d)>0 $sql_extra $sql_extra2 ORDER BY xchan_name LIMIT %d OFFSET %d ",
+ WHERE abook_channel = %d and abook_self = 0 and xchan_deleted = 0 and xchan_orphan = 0 $sql_extra $sql_extra2 ORDER BY xchan_name LIMIT %d OFFSET %d ",
intval(local_channel()),
- intval(ABOOK_FLAG_SELF),
- intval(XCHAN_FLAGS_DELETED|XCHAN_FLAGS_ORPHAN),
intval($a->pager['itemspage']),
intval($a->pager['start'])
);
@@ -237,7 +230,7 @@ function connections_content(&$a) {
'thumb' => $rr['xchan_photo_m'],
'name' => $rr['xchan_name'],
'username' => $rr['xchan_name'],
- 'classes' => (($rr['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? 'archived' : ''),
+ 'classes' => (intval($rr['abook_archived']) ? 'archived' : ''),
'link' => z_root() . '/connedit/' . $rr['abook_id'],
'edit' => t('Edit'),
'url' => chanlink_url($rr['xchan_url']),
diff --git a/mod/connedit.php b/mod/connedit.php
index 0944a3dca..75a5fd719 100644
--- a/mod/connedit.php
+++ b/mod/connedit.php
@@ -79,7 +79,7 @@ function connedit_post(&$a) {
call_hooks('contact_edit_post', $_POST);
- if($orig_record[0]['abook_flags'] & ABOOK_FLAG_SELF) {
+ if(intval($orig_record[0]['abook_self'])) {
$autoperms = intval($_POST['autoperms']);
$is_self = true;
}
@@ -130,7 +130,6 @@ function connedit_post(&$a) {
}
}
- $abook_flags = $orig_record[0]['abook_flags'];
$new_friend = false;
if(! $is_self) {
@@ -176,8 +175,7 @@ function connedit_post(&$a) {
}
}
- if(($_REQUEST['pending']) && ($abook_flags & ABOOK_FLAG_PENDING)) {
- $abook_flags = ( $abook_flags ^ ABOOK_FLAG_PENDING );
+ if(($_REQUEST['pending']) && intval($orig_record[0]['abook_pending'])) {
$new_friend = true;
if(! $abook_my_perms) {
@@ -192,13 +190,15 @@ function connedit_post(&$a) {
}
}
- $r = q("UPDATE abook SET abook_profile = '%s', abook_my_perms = %d , abook_closeness = %d, abook_flags = %d,
+ $abook_pending = $new_friend ? 0 : $orig_record[0]['abook_pending'];
+
+ $r = q("UPDATE abook SET abook_profile = '%s', abook_my_perms = %d , abook_closeness = %d, abook_pending = %d,
abook_incl = '%s', abook_excl = '%s'
where abook_id = %d AND abook_channel = %d",
dbesc($profile_id),
intval($abook_my_perms),
intval($closeness),
- intval($abook_flags),
+ intval($abook_pending),
dbesc($abook_incl),
dbesc($abook_excl),
intval($contact_id),
@@ -221,7 +221,7 @@ function connedit_post(&$a) {
notice( t('Failed to update connection record.') . EOL);
if($a->poi && $a->poi['abook_my_perms'] != $abook_my_perms
- && (! ($a->poi['abook_flags'] & ABOOK_FLAG_SELF))) {
+ && (! intval($a->poi['abook_self']))) {
proc_run('php', 'include/notifier.php', 'permission_update', $contact_id);
}
@@ -241,11 +241,12 @@ function connedit_post(&$a) {
$pr = q("select * from profile where uid = %d and is_default = 1 and hide_friends = 0",
intval($channel['channel_id'])
);
- if(($pr) && (! ($abook_flags & ABOOK_FLAG_HIDDEN))
- && (intval(get_pconfig($channel['channel_id'],'system','post_newfriend')))) {
+ if(($pr) && (! intval($orig_record[0]['abook_hidden'])) && (intval(get_pconfig($channel['channel_id'],'system','post_newfriend')))) {
$xarr = array();
$xarr['verb'] = ACTIVITY_FRIEND;
- $xarr['item_flags'] = ITEM_WALL|ITEM_ORIGIN|ITEM_THREAD_TOP;
+ $xarr['item_wall'] = 1;
+ $xarr['item_origin'] = 1;
+ $xarr['item_thread_top'] = 1;
$xarr['owner_xchan'] = $xarr['author_xchan'] = $channel['channel_hash'];
$xarr['allow_cid'] = $channel['channel_allow_cid'];
$xarr['allow_gid'] = $channel['channel_allow_gid'];
@@ -314,16 +315,15 @@ function connedit_clone(&$a) {
if(! $a->poi)
return;
- $r = q("SELECT abook.*, xchan.*
- FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_channel = %d and abook_id = %d LIMIT 1",
- intval(local_channel()),
- intval($a->poi['abook_id'])
- );
- if($r) {
- $a->poi = $r[0];
- }
-
+ $r = q("SELECT abook.*, xchan.*
+ FROM abook left join xchan on abook_xchan = xchan_hash
+ WHERE abook_channel = %d and abook_id = %d LIMIT 1",
+ intval(local_channel()),
+ intval($a->poi['abook_id'])
+ );
+ if($r) {
+ $a->poi = $r[0];
+ }
$clone = $a->poi;
@@ -382,10 +382,9 @@ function connedit_content(&$a) {
$cmd = argv(2);
$orig_record = q("SELECT abook.*, xchan.* FROM abook left join xchan on abook_xchan = xchan_hash
- WHERE abook_id = %d AND abook_channel = %d AND NOT ( abook_flags & %d )>0 LIMIT 1",
+ WHERE abook_id = %d AND abook_channel = %d AND abook_self = 0 LIMIT 1",
intval($contact_id),
- intval(local_channel()),
- intval(ABOOK_FLAG_SELF)
+ intval(local_channel())
);
if(! count($orig_record)) {
@@ -409,9 +408,6 @@ function connedit_content(&$a) {
if($cmd === 'block') {
if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_BLOCKED)) {
- // info((($orig_record[0]['abook_flags'] & ABOOK_FLAG_BLOCKED)
- // ? t('Channel has been unblocked')
- // : t('Channel has been blocked')) . EOL );
connedit_clone($a);
}
else
@@ -421,9 +417,6 @@ function connedit_content(&$a) {
if($cmd === 'ignore') {
if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_IGNORED)) {
- // info((($orig_record[0]['abook_flags'] & ABOOK_FLAG_IGNORED)
- // ? t('Channel has been unignored')
- // : t('Channel has been ignored')) . EOL );
connedit_clone($a);
}
else
@@ -433,9 +426,6 @@ function connedit_content(&$a) {
if($cmd === 'archive') {
if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_ARCHIVED)) {
- // info((($orig_record[0]['abook_flags'] & ABOOK_FLAG_ARCHIVED)
- // ? t('Channel has been unarchived')
- // : t('Channel has been archived')) . EOL );
connedit_clone($a);
}
else
@@ -445,9 +435,6 @@ function connedit_content(&$a) {
if($cmd === 'hide') {
if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_HIDDEN)) {
- // info((($orig_record[0]['abook_flags'] & ABOOK_FLAG_HIDDEN)
- // ? t('Channel has been unhidden')
- // : t('Channel has been hidden')) . EOL );
connedit_clone($a);
}
else
@@ -459,11 +446,8 @@ function connedit_content(&$a) {
// Though maybe somebody will want this eventually (??)
if($cmd === 'approve') {
- if($orig_record[0]['abook_flags'] & ABOOK_FLAG_PENDING) {
+ if(intval($orig_record[0]['abook_pending'])) {
if(abook_toggle_flag($orig_record[0],ABOOK_FLAG_PENDING)) {
- // info((($orig_record[0]['abook_flags'] & ABOOK_FLAG_PENDING)
- // ? t('Channel has been approved')
- // : t('Channel has been unapproved')) . EOL );
connedit_clone($a);
}
else
@@ -528,35 +512,35 @@ function connedit_content(&$a) {
),
'block' => array(
- 'label' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? t('Unblock') : t('Block')),
+ 'label' => (intval($contact['abook_blocked']) ? t('Unblock') : t('Block')),
'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/block',
- 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? 'active' : ''),
+ 'sel' => (intval($contact['abook_blocked']) ? 'active' : ''),
'title' => t('Block (or Unblock) all communications with this connection'),
- 'info' => (($contact['abook_flags'] & ABOOK_FLAG_BLOCKED) ? t('This connection is blocked!') : ''),
+ 'info' => (intval($contact['abook_blocked']) ? t('This connection is blocked!') : ''),
),
'ignore' => array(
- 'label' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? t('Unignore') : t('Ignore')),
+ 'label' => (intval($contact['abook_ignored']) ? t('Unignore') : t('Ignore')),
'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/ignore',
- 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? 'active' : ''),
+ 'sel' => (intval($contact['abook_ignored']) ? 'active' : ''),
'title' => t('Ignore (or Unignore) all inbound communications from this connection'),
- 'info' => (($contact['abook_flags'] & ABOOK_FLAG_IGNORED) ? t('This connection is ignored!') : ''),
+ 'info' => (intval($contact['abook_ignored']) ? t('This connection is ignored!') : ''),
),
'archive' => array(
- 'label' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? t('Unarchive') : t('Archive')),
+ 'label' => (intval($contact['abook_archived']) ? t('Unarchive') : t('Archive')),
'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/archive',
- 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? 'active' : ''),
+ 'sel' => (intval($contact['abook_archived']) ? 'active' : ''),
'title' => t('Archive (or Unarchive) this connection - mark channel dead but keep content'),
- 'info' => (($contact['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? t('This connection is archived!') : ''),
+ 'info' => (intval($contact['abook_archived']) ? t('This connection is archived!') : ''),
),
'hide' => array(
- 'label' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? t('Unhide') : t('Hide')),
+ 'label' => (intval($contact['abook_hidden']) ? t('Unhide') : t('Hide')),
'url' => $a->get_baseurl(true) . '/connedit/' . $contact['abook_id'] . '/hide',
- 'sel' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? 'active' : ''),
+ 'sel' => (intval($contact['abook_hidden']) ? 'active' : ''),
'title' => t('Hide or Unhide this connection from your other connections'),
- 'info' => (($contact['abook_flags'] & ABOOK_FLAG_HIDDEN) ? t('This connection is hidden!') : ''),
+ 'info' => (intval($contact['abook_hidden']) ? t('This connection is hidden!') : ''),
),
'delete' => array(
@@ -570,7 +554,7 @@ function connedit_content(&$a) {
$self = false;
- if(($contact['abook_flags'] & ABOOK_FLAG_SELF))
+ if(intval($contact['abook_self']))
$self = true;
require_once('include/contact_selectors.php');
@@ -698,7 +682,7 @@ function connedit_content(&$a) {
'$pending_modal_body' => sprintf(t('(%s) would like to connect with you. Please approve this connection to allow communication.'), $contact['xchan_addr']),
'$pending_modal_approve' => t('Approve'),
'$pending_modal_dismiss' => t('Approve Later'),
- '$is_pending' => (($contact['abook_flags'] & ABOOK_FLAG_PENDING) ? 1 : ''),
+ '$is_pending' => (intval($contact['abook_pending']) ? 1 : ''),
'$unapproved' => $unapproved,
'$inherited' => t('inherited'),
'$submit' => t('Submit'),
diff --git a/mod/contactgroup.php b/mod/contactgroup.php
index 6138f9e19..61ca37054 100644
--- a/mod/contactgroup.php
+++ b/mod/contactgroup.php
@@ -9,10 +9,9 @@ function contactgroup_content(&$a) {
}
if((argc() > 2) && (intval(argv(1))) && (argv(2))) {
- $r = q("SELECT abook_xchan from abook where abook_xchan = '%s' and abook_channel = %d and not ( abook_flags & %d )>0 limit 1",
+ $r = q("SELECT abook_xchan from abook where abook_xchan = '%s' and abook_channel = %d and abook_self = 0 limit 1",
dbesc(base64url_decode(argv(2))),
- intval(local_channel()),
- intval(ABOOK_FLAG_SELF)
+ intval(local_channel())
);
if($r)
$change = $r[0]['abook_xchan'];
diff --git a/mod/dav.php b/mod/dav.php
index 2f811a7f0..d4695a544 100644
--- a/mod/dav.php
+++ b/mod/dav.php
@@ -1,7 +1,7 @@
<?php
/**
* @file mod/dav.php
- * @brief Initialize RedMatrix's cloud (SabreDAV).
+ * @brief Initialize Hubzilla's cloud (SabreDAV).
*
* Module for accessing the DAV storage area from a DAV client.
*/
@@ -127,12 +127,10 @@ function dav_init(&$a) {
}
require_once('include/RedDAV/RedBrowser.php');
- // provide a directory view for the cloud in Red Matrix
+ // provide a directory view for the cloud in Hubzilla
$browser = new RedDAV\RedBrowser($auth);
$auth->setBrowserPlugin($browser);
- $server->addPlugin($browser);
-
// Experimental QuotaPlugin
// require_once('include/RedDAV/QuotaPlugin.php');
// $server->addPlugin(new RedDAV\QuotaPlugin($auth));
diff --git a/mod/directory.php b/mod/directory.php
index 44d80cff1..3c230e173 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -251,7 +251,7 @@ function directory_content(&$a) {
$hometown = ((x($profile,'hometown') == 1) ? $profile['hometown'] : False);
- $about = ((x($profile,'about') == 1) ? bbcode(strip_bbimage($profile['about'])) : False);
+ $about = ((x($profile,'about') == 1) ? bbcode($profile['about']) : False);
$keywords = ((x($profile,'keywords')) ? $profile['keywords'] : '');
diff --git a/mod/dirsearch.php b/mod/dirsearch.php
index d997020b2..132ed252b 100644
--- a/mod/dirsearch.php
+++ b/mod/dirsearch.php
@@ -127,7 +127,6 @@ function dirsearch_content(&$a) {
if($forums)
$safesql .= dir_flag_build(' AND ','xchan_flags',XCHAN_FLAGS_PUBFORUM, $forums);
-
// we only support an age range currently. You must set both agege
// (greater than or equal) and agele (less than or equal)
@@ -170,21 +169,16 @@ function dirsearch_content(&$a) {
$sql_extra .= " and xchan_addr like '%%" . get_app()->get_hostname() . "' ";
}
-
- $safesql .= (($safe > 0) ? " and not ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED|XCHAN_FLAGS_SELFCENSORED) . " )>0 " : '');
+ $safesql = (($safe > 0) ? " and xchan_censored = 0 and xchan_selfcensored = 0 " : '');
if($safe < 0)
- $safesql .= " and ( xchan_flags & " . intval(XCHAN_FLAGS_CENSORED|XCHAN_FLAGS_SELFCENSORED) . " )>0 ";
+ $safesql = " and ( xchan_censored = 1 OR xchan_selfcensored = 1 ) ";
if($limit)
$qlimit = " LIMIT $limit ";
else {
$qlimit = " LIMIT " . intval($perpage) . " OFFSET " . intval($startrec);
if($return_total) {
- $r = q("SELECT COUNT(xchan_hash) AS `total` FROM xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and xchan_network = 'zot' and not ( xchan_flags & %d)>0 and not ( xchan_flags & %d )>0 and not ( xchan_flags & %d )>0 $safesql ",
- intval(XCHAN_FLAGS_HIDDEN),
- intval(XCHAN_FLAGS_ORPHAN),
- intval(XCHAN_FLAGS_DELETED)
- );
+ $r = q("SELECT COUNT(xchan_hash) AS `total` FROM xchan left join xprof on xchan_hash = xprof_hash where $logic $sql_extra and xchan_network = 'zot' and xchan_hidden = 0 and xchan_orphan = 0 and xchan_deleted = 0 $safesql ");
if($r) {
$ret['total_items'] = $r[0]['total'];
}
@@ -251,13 +245,10 @@ function dirsearch_content(&$a) {
json_return_and_die($spkt);
}
else {
-
- $r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash where ( $logic $sql_extra ) $hub_query and xchan_network = 'zot' and not ( xchan_flags & %d )>0 and not ( xchan_flags & %d )>0 and not ( xchan_flags & %d )>0 $safesql $order $qlimit ",
- intval(XCHAN_FLAGS_HIDDEN),
- intval(XCHAN_FLAGS_ORPHAN),
- intval(XCHAN_FLAGS_DELETED)
+ $r = q("SELECT xchan.*, xprof.* from xchan left join xprof on xchan_hash = xprof_hash
+ where ( $logic $sql_extra ) $hub_query and xchan_network = 'zot' and xchan_hidden = 0 and xchan_orphan = 0 and xchan_deleted = 0
+ $safesql $order $qlimit "
);
-
$ret['page'] = $page + 1;
$ret['records'] = count($r);
}
@@ -283,7 +274,7 @@ function dirsearch_content(&$a) {
$entry['name'] = $rr['xchan_name'];
$entry['hash'] = $rr['xchan_hash'];
- $entry['public_forum'] = (($rr['xchan_flags'] & XCHAN_FLAGS_PUBFORUM) ? true : false);
+ $entry['public_forum'] = (intval($rr['xchan_pubforum']) ? true : false);
$entry['url'] = $rr['xchan_url'];
$entry['photo_l'] = $rr['xchan_photo_l'];
diff --git a/mod/display.php b/mod/display.php
index 8c4707bb2..b2d9ba34b 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -85,7 +85,7 @@ function display_content(&$a, $update = 0, $load = false) {
$target_item = null;
- $r = q("select id, uid, mid, parent_mid, item_restrict from item where mid like '%s' limit 1",
+ $r = q("select id, uid, mid, parent_mid, item_type, item_deleted from item where mid like '%s' limit 1",
dbesc($item_hash . '%')
);
@@ -95,7 +95,7 @@ function display_content(&$a, $update = 0, $load = false) {
$r = null;
- if($target_item['item_restrict'] & ITEM_WEBPAGE) {
+ if($target_item['item_type'] == ITEM_TYPE_WEBPAGE) {
$x = q("select * from channel where channel_id = %d limit 1",
intval($target_item['uid'])
);
@@ -161,6 +161,7 @@ function display_content(&$a, $update = 0, $load = false) {
}
$observer_hash = get_observer_hash();
+ $item_normal = item_normal();
$sql_extra = public_permissions_sql($observer_hash);
@@ -179,9 +180,9 @@ function display_content(&$a, $update = 0, $load = false) {
if(local_channel()) {
$r = q("SELECT * from item
- WHERE item_restrict = 0
- and uid = %d
+ WHERE uid = %d
and mid = '%s'
+ $item_normal
limit 1",
intval(local_channel()),
dbesc($target_item['parent_mid'])
@@ -202,13 +203,13 @@ function display_content(&$a, $update = 0, $load = false) {
$r = q("SELECT * from item
- WHERE item_restrict = 0
- and mid = '%s'
+ WHERE mid = '%s'
AND (((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
AND `item`.`deny_gid` = '' AND item_private = 0 )
and owner_xchan in ( " . stream_perms_xchans(($observer_hash) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
OR uid = %d )
$sql_extra )
+ $item_normal
limit 1",
dbesc($target_item['parent_mid']),
intval($sysid)
@@ -228,7 +229,7 @@ function display_content(&$a, $update = 0, $load = false) {
$items = q("SELECT `item`.*, `item`.`id` AS `item_id`
FROM `item`
- WHERE item_restrict = 0 and parent in ( %s ) ",
+ WHERE parent in ( %s ) $item_normal ",
dbesc($parents_str)
);
@@ -251,7 +252,7 @@ function display_content(&$a, $update = 0, $load = false) {
}
if($updateable) {
- $x = q("UPDATE item SET item_unseen = 0 WHERE item_unseen = 1 AND uid = %d and parent = %d ",
+ $x = q("UPDATE item SET item_unseen = 0 where item_unseen = 1 AND uid = %d and parent = %d ",
intval(local_channel()),
intval($r[0]['parent'])
);
@@ -270,7 +271,7 @@ function display_content(&$a, $update = 0, $load = false) {
dbesc($item_hash)
);
if($r) {
- if($r[0]['item_flags'] & ITEM_DELETED) {
+ if(intval($r[0]['item_deleted'])) {
notice( t('Item has been removed.') . EOL );
}
else {
diff --git a/mod/editblock.php b/mod/editblock.php
index faa283b63..b4d954ef5 100644
--- a/mod/editblock.php
+++ b/mod/editblock.php
@@ -130,14 +130,14 @@ function editblock_content(&$a) {
$editor = replace_macros($tpl,array(
'$return_path' => $rp,
'$action' => 'item',
- '$webpage' => ITEM_BUILDBLOCK,
+ '$webpage' => ITEM_TYPE_BLOCK,
'$share' => t('Edit'),
- '$bold' => t('Bold'),
- '$italic' => t('Italic'),
- '$underline' => t('Underline'),
- '$quote' => t('Quote'),
- '$code' => t('Code'),
- '$writefiles' => (perm_is_allowed($owner, get_observer_hash(), 'post_photos') || perm_is_allowed($owner, get_observer_hash(), 'write_storage')),
+ '$bold' => t('Bold'),
+ '$italic' => t('Italic'),
+ '$underline' => t('Underline'),
+ '$quote' => t('Quote'),
+ '$code' => t('Code'),
+ '$writefiles' => perm_is_allowed($owner, get_observer_hash(), 'write_storage'),
'$upload' => t('Upload photo'),
'$attach' => t('Attach file'),
'$weblink' => t('Insert web link'),
diff --git a/mod/editlayout.php b/mod/editlayout.php
index a39611a58..6ea7f4100 100644
--- a/mod/editlayout.php
+++ b/mod/editlayout.php
@@ -129,7 +129,7 @@ function editlayout_content(&$a) {
$editor = replace_macros($tpl,array(
'$return_path' => $rp,
'$action' => 'item',
- '$webpage' => ITEM_PDL,
+ '$webpage' => ITEM_TYPE_PDL,
'$share' => t('Edit'),
'$bold' => t('Bold'),
'$italic' => t('Italic'),
diff --git a/mod/editpost.php b/mod/editpost.php
index e907a07d0..daca7c154 100644
--- a/mod/editpost.php
+++ b/mod/editpost.php
@@ -32,6 +32,12 @@ function editpost_content(&$a) {
return;
}
+ if($itm[0]['resource_type'] === 'event' && $itm[0]['resource_id']) {
+ goaway(z_root() . '/events/event/' . $itm[0]['resource_id']);
+ }
+
+
+
$plaintext = true;
// if(feature_enabled(local_channel(),'richtext'))
// $plaintext = false;
@@ -48,7 +54,7 @@ function editpost_content(&$a) {
'$confirmdelete' => t('Delete item?'),
));
- if($itm[0]['item_flags'] & ITEM_OBSCURED) {
+ if(intval($itm[0]['item_obscured'])) {
$key = get_config('system','prvkey');
if($itm[0]['title'])
$itm[0]['title'] = crypto_unencapsulate(json_decode_plus($itm[0]['title']),$key);
@@ -119,7 +125,7 @@ function editpost_content(&$a) {
'$noloc' => t('Clear browser location'),
'$voting' => t('Toggle voting'),
'$feature_voting' => $voting,
- '$consensus' => (($itm[0]['item_flags'] & ITEM_CONSENSUS) ? 1 : 0),
+ '$consensus' => intval($itm[0]['item_consensus']),
'$wait' => t('Please wait'),
'$permset' => t('Permission settings'),
'$ptyp' => $itm[0]['type'],
diff --git a/mod/editwebpage.php b/mod/editwebpage.php
index cdf5d8c20..974e8cc38 100644
--- a/mod/editwebpage.php
+++ b/mod/editwebpage.php
@@ -102,7 +102,7 @@ function editwebpage_content(&$a) {
return;
}
- if($itm[0]['item_flags'] & ITEM_OBSCURED) {
+ if(intval($itm[0]['item_obscured'])) {
$key = get_config('system','prvkey');
if($itm[0]['title'])
$itm[0]['title'] = crypto_unencapsulate(json_decode_plus($itm[0]['title']),$key);
@@ -165,15 +165,12 @@ function editwebpage_content(&$a) {
$rp = 'webpages/' . $which;
- logger('canwrite: ' . (perm_is_allowed($owner, get_observer_hash(), 'post_photos') || perm_is_allowed($owner, get_observer_hash(), 'write_storage')));
-
$editor = replace_macros($tpl,array(
'$return_path' => $rp,
- '$webpage' => ITEM_WEBPAGE,
+ '$webpage' => ITEM_TYPE_WEBPAGE,
'$placeholdpagetitle' => t('Page link title'),
'$pagetitle' => $page_title,
- '$writefiles' => (perm_is_allowed($owner, get_observer_hash(), 'post_photos') || perm_is_allowed($owner, get_observer_hash(), 'write_storage')),
-
+ '$writefiles' => perm_is_allowed($owner, get_observer_hash(), 'write_storage'),
'$action' => 'item',
'$share' => t('Edit'),
'$bold' => t('Bold'),
diff --git a/mod/events.php b/mod/events.php
index 9c94d433d..9120f8713 100755
--- a/mod/events.php
+++ b/mod/events.php
@@ -8,7 +8,7 @@ require_once('include/items.php');
function events_post(&$a) {
- logger('post: ' . print_r($_REQUEST,true));
+ logger('post: ' . print_r($_REQUEST,true), LOGGER_DATA);
if(! local_channel())
return;
@@ -41,16 +41,11 @@ function events_post(&$a) {
$categories = escape_tags(trim($_POST['category']));
-
-
// only allow editing your own events.
if(($xchan) && ($xchan !== get_observer_hash()))
return;
- // The default setting for the `private` field in event_store() is false, so mirror that
- $private_event = false;
-
if($start_text) {
$start = $start_text;
}
@@ -89,14 +84,14 @@ function events_post(&$a) {
$summary = escape_tags(trim($_POST['summary']));
$desc = escape_tags(trim($_POST['desc']));
$location = escape_tags(trim($_POST['location']));
- $type = 'event';
+ $type = escape_tags(trim($_POST['type']));
require_once('include/text.php');
linkify_tags($a, $desc, local_channel());
linkify_tags($a, $location, local_channel());
$action = ($event_hash == '') ? 'new' : "event/" . $event_hash;
- $onerror_url = $a->get_baseurl() . "/events/" . $action . "?summary=$summary&description=$desc&location=$location&start=$start_text&finish=$finish_text&adjust=$adjust&nofinish=$nofinish";
+ $onerror_url = $a->get_baseurl() . "/events/" . $action . "?summary=$summary&description=$desc&location=$location&start=$start_text&finish=$finish_text&adjust=$adjust&nofinish=$nofinish&type=$type";
if(strcmp($finish,$start) < 0 && !$nofinish) {
notice( t('Event can not end before it has started.') . EOL);
if(intval($_REQUEST['preview'])) {
@@ -119,6 +114,8 @@ function events_post(&$a) {
$channel = $a->get_channel();
+ $acl = new AccessList(false);
+
if($event_id) {
$x = q("select * from event where id = %d and uid = %d limit 1",
intval($event_id),
@@ -132,44 +129,33 @@ function events_post(&$a) {
}
return;
}
+
+ $acl->set($x[0]);
+
+ $created = $x[0]['created'];
+ $edited = datetime_convert();
+
if($x[0]['allow_cid'] === '<' . $channel['channel_hash'] . '>'
&& $x[0]['allow_gid'] === '' && $x[0]['deny_cid'] === '' && $x[0]['deny_gid'] === '') {
$share = false;
}
else {
$share = true;
- $str_group_allow = $x[0]['allow_gid'];
- $str_contact_allow = $x[0]['allow_cid'];
- $str_group_deny = $x[0]['deny_gid'];
- $str_contact_deny = $x[0]['deny_cid'];
-
- if(strlen($str_group_allow) || strlen($str_contact_allow)
- || strlen($str_group_deny) || strlen($str_contact_deny)) {
- $private_event = true;
- }
}
}
else {
+ $created = $edited = datetime_convert();
if($share) {
- $str_group_allow = perms2str($_POST['group_allow']);
- $str_contact_allow = perms2str($_POST['contact_allow']);
- $str_group_deny = perms2str($_POST['group_deny']);
- $str_contact_deny = perms2str($_POST['contact_deny']);
-
- if(strlen($str_group_allow) || strlen($str_contact_allow)
- || strlen($str_group_deny) || strlen($str_contact_deny)) {
- $private_event = true;
- }
+ $acl->set_from_array($_POST);
}
else {
- $str_contact_allow = '<' . $channel['channel_hash'] . '>';
- $str_group_allow = $str_contact_deny = $str_group_deny = '';
- $private_event = true;
+ $acl->set(array('allow_cid' => '<' . $channel['channel_hash'] . '>', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => ''));
}
}
$post_tags = array();
$channel = $a->get_channel();
+ $ac = $acl->get();
if(strlen($categories)) {
$cats = explode(',',$categories);
@@ -196,11 +182,11 @@ function events_post(&$a) {
$datarray['uid'] = local_channel();
$datarray['account'] = get_account_id();
$datarray['event_xchan'] = $channel['channel_hash'];
- $datarray['allow_cid'] = $str_contact_allow;
- $datarray['allow_gid'] = $str_group_allow;
- $datarray['deny_cid'] = $str_contact_deny;
- $datarray['deny_gid'] = $str_group_deny;
- $datarray['private'] = (($private_event) ? 1 : 0);
+ $datarray['allow_cid'] = $ac['allow_cid'];
+ $datarray['allow_gid'] = $ac['allow_gid'];
+ $datarray['deny_cid'] = $ac['deny_cid'];
+ $datarray['deny_gid'] = $ac['deny_gid'];
+ $datarray['private'] = (($acl->is_private()) ? 1 : 0);
$datarray['id'] = $event_id;
$datarray['created'] = $created;
$datarray['edited'] = $edited;
@@ -228,6 +214,27 @@ function events_post(&$a) {
function events_content(&$a) {
+ if(argc() > 2 && argv(1) == 'ical') {
+ $event_id = argv(2);
+
+ require_once('include/security.php');
+ $sql_extra = permissions_sql(local_channel());
+
+ $r = q("select * from event where event_hash = '%s' $sql_extra limit 1",
+ dbesc($event_id)
+ );
+ if($r) {
+ header('Content-type: text/calendar');
+ header('content-disposition: attachment; filename="' . t('event') . '-' . $event_id . '.ics"' );
+ echo ical_wrapper($r);
+ killme();
+ }
+ else {
+ notice( t('Event not found.') . EOL );
+ return;
+ }
+ }
+
if(! local_channel()) {
notice( t('Permission denied.') . EOL);
return;
@@ -306,6 +313,10 @@ function events_content(&$a) {
killme();
}
+
+
+
+
if($mode == 'view') {
@@ -366,8 +377,18 @@ function events_content(&$a) {
intval(local_channel()),
intval($_GET['id'])
);
- } else {
-
+ } elseif($export) {
+ $r = q("SELECT * from event where uid = %d
+ AND (( `adjust` = 0 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )
+ OR ( `adjust` = 1 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )) ",
+ intval(local_channel()),
+ dbesc($start),
+ dbesc($finish),
+ dbesc($adjust_start),
+ dbesc($adjust_finish)
+ );
+ }
+ else {
// fixed an issue with "nofinish" events not showing up in the calendar.
// There's still an issue if the finish date crosses the end of month.
// Noting this for now - it will need to be fixed here and in Friendica.
@@ -384,17 +405,19 @@ function events_content(&$a) {
dbesc($adjust_start),
dbesc($adjust_finish)
);
-
}
+
$links = array();
- if($r) {
+ if($r && ! $export) {
xchan_query($r);
$r = fetch_post_tags($r,true);
$r = sort_by_date($r);
+ }
+ if($r) {
foreach($r as $rr) {
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
if(! x($links,$j))
@@ -402,7 +425,6 @@ function events_content(&$a) {
}
}
-
$events=array();
$last_date = '';
@@ -427,8 +449,9 @@ function events_content(&$a) {
$is_first = ($d !== $last_date);
$last_date = $d;
-// FIXME
- $edit = (($rr['item_flags'] & ITEM_WALL) ? array($a->get_baseurl().'/events/event/'.$rr['event_hash'],t('Edit event'),'','') : null);
+
+ $edit = (intval($rr['item_wall']) ? array($a->get_baseurl().'/events/event/'.$rr['event_hash'],t('Edit event'),'','') : null);
+
$drop = array($a->get_baseurl().'/events/drop/'.$rr['event_hash'],t('Delete event'),'','');
$title = strip_tags(html_entity_decode(bbcode($rr['summary']),ENT_QUOTES,'UTF-8'));
@@ -546,9 +569,7 @@ function events_content(&$a) {
if(x($_REQUEST,'location')) $orig_event['location'] = $_REQUEST['location'];
if(x($_REQUEST,'start')) $orig_event['start'] = $_REQUEST['start'];
if(x($_REQUEST,'finish')) $orig_event['finish'] = $_REQUEST['finish'];
- }
-
- if($mode === 'edit' || $mode === 'new') {
+ if(x($_REQUEST,'type')) $orig_event['type'] = $_REQUEST['type'];
$n_checked = ((x($orig_event) && $orig_event['nofinish']) ? ' checked="checked" ' : '');
$a_checked = ((x($orig_event) && $orig_event['adjust']) ? ' checked="checked" ' : '');
@@ -567,9 +588,6 @@ function events_content(&$a) {
if($orig_event['event_xchan'])
$sh_checked .= ' disabled="disabled" ';
-
-
-
$sdt = ((x($orig_event)) ? $orig_event['start'] : 'now');
$fdt = ((x($orig_event)) ? $orig_event['finish'] : 'now');
@@ -595,6 +613,7 @@ function events_content(&$a) {
$fminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'i') : 0);
$ftext = datetime_convert('UTC',$tz,$fdt);
$ftext = substr($ftext,0,14) . "00:00";
+ $type = ((x($orig_event)) ? $orig_event['type'] : 'event');
$f = get_config('system','event_input_format');
if(! $f)
@@ -622,18 +641,16 @@ function events_content(&$a) {
require_once('include/acl_selectors.php');
- $perm_defaults = array(
- 'allow_cid' => $channel['channel_allow_cid'],
- 'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid']
- );
+ $acl = new AccessList($channel);
+ $perm_defaults = $acl->get();
+
$tpl = get_markup_template('event_form.tpl');
$o .= replace_macros($tpl,array(
'$post' => $a->get_baseurl() . '/events',
'$eid' => $eid,
+ '$type' => $type,
'$xchan' => $event_xchan,
'$mid' => $mid,
'$event_hash' => $event_id,
@@ -646,7 +663,7 @@ function events_content(&$a) {
'$s_text' => t('Event Starts:'),
'$stext' => $stext,
'$ftext' => $ftext,
- '$required' => ' <span class="required" title="' . t('Required') . '">*</span>',
+ '$required' => '<span class="required" title="' . t('Required') . '">*</span>',
'$ModalCANCEL' => t('Cancel'),
'$ModalOK' => t('OK'),
'$s_dsel' => datetimesel($f,new DateTime(),DateTime::createFromFormat('Y',$syear+5),DateTime::createFromFormat('Y-m-d H:i',"$syear-$smonth-$sday $shour:$sminute"),'start_text',true,true,'','',true),
diff --git a/mod/filer.php b/mod/filer.php
index e8160bba2..8d69503b2 100644
--- a/mod/filer.php
+++ b/mod/filer.php
@@ -27,8 +27,7 @@ function filer_content(&$a) {
intval(local_channel())
);
if($r) {
- $x = q("update item set item_flags = ( item_flags | %d ) where id = %d and uid = %d",
- intval(ITEM_RETAINED),
+ $x = q("update item set item_retained = 1 where id = %d and uid = %d",
intval($r[0]['parent']),
intval(local_channel())
);
diff --git a/mod/filestorage.php b/mod/filestorage.php
index 8b52c086b..7ba8c1801 100644
--- a/mod/filestorage.php
+++ b/mod/filestorage.php
@@ -28,20 +28,20 @@ function filestorage_post(&$a) {
return;
}
- $str_group_allow = perms2str($_REQUEST['group_allow']);
- $str_contact_allow = perms2str($_REQUEST['contact_allow']);
- $str_group_deny = perms2str($_REQUEST['group_deny']);
- $str_contact_deny = perms2str($_REQUEST['contact_deny']);
-
$channel = $a->get_channel();
+
+ $acl = new AccessList($channel);
+ $acl->set_from_array($_REQUEST);
+ $x = $acl->get();
+
$cloudPath = get_parent_cloudpath($channel_id, $channel['channel_address'], $resource);
//get the object before permissions change so we can catch eventual former allowed members
$object = get_file_activity_object($channel_id, $resource, $cloudPath);
- attach_change_permissions($channel_id, $resource, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny, $recurse);
+ attach_change_permissions($channel_id, $resource, $x['allow_cid'], $x['allow_gid'], $x['deny_cid'], $x['deny_gid'], $recurse);
- file_activity($channel_id, $object, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny, 'post', $notify);
+ file_activity($channel_id, $object, $x['allow_cid'], $x['allow_gid'], $x['deny_cid'], $x['deny_gid'], 'post', $notify);
goaway($cloudPath);
}
@@ -117,7 +117,7 @@ function filestorage_content(&$a) {
}
$file = intval(argv(2));
- $r = q("select id, uid, folder, filename, revision, flags, hash, allow_cid, allow_gid, deny_cid, deny_gid from attach where id = %d and uid = %d limit 1",
+ $r = q("select id, uid, folder, filename, revision, flags, is_dir, os_storage, hash, allow_cid, allow_gid, deny_cid, deny_gid from attach where id = %d and uid = %d limit 1",
intval($file),
intval($owner)
);
@@ -125,11 +125,11 @@ function filestorage_content(&$a) {
$f = $r[0];
$channel = $a->get_channel();
- $cloudpath = get_cloudpath($f) . (($f['flags'] & ATTACH_FLAG_DIR) ? '?f=&davguest=1' : '');
+ $cloudpath = get_cloudpath($f) . (intval($f['is_dir']) ? '?f=&davguest=1' : '');
$parentpath = get_parent_cloudpath($channel['channel_id'], $channel['channel_address'], $f['hash']);
$aclselect_e = populate_acl($f, false);
- $is_a_dir = (($f['flags'] & ATTACH_FLAG_DIR) ? true : false);
+ $is_a_dir = (intval($f['is_dir']) ? true : false);
$lockstate = (($f['allow_cid'] || $f['allow_gid'] || $f['deny_cid'] || $f['deny_gid']) ? 'lock' : 'unlock');
diff --git a/mod/group.php b/mod/group.php
index 66297d6ac..ce9633669 100644
--- a/mod/group.php
+++ b/mod/group.php
@@ -117,12 +117,9 @@ function group_content(&$a) {
check_form_security_token_ForbiddenOnErr('group_member_change', 't');
- $r = q("SELECT abook_xchan from abook left join xchan on abook_xchan = xchan_hash where abook_xchan = '%s' and abook_channel = %d and not (xchan_flags & %d)>0 and not (abook_flags & %d)>0 and not (abook_flags & %d)>0 limit 1",
+ $r = q("SELECT abook_xchan from abook left join xchan on abook_xchan = xchan_hash where abook_xchan = '%s' and abook_channel = %d and xchan_deleted = 0 and abook_blocked = 0 and abook_pending = 0 limit 1",
dbesc(base64url_decode(argv(2))),
- intval(local_channel()),
- intval(XCHAN_FLAGS_DELETED),
- intval(ABOOK_FLAG_BLOCKED),
- intval(ABOOK_FLAG_PENDING)
+ intval(local_channel())
);
if(count($r))
$change = base64url_decode(argv(2));
@@ -203,7 +200,7 @@ function group_content(&$a) {
$textmode = (($switchtotext && (count($members) > $switchtotext)) ? true : false);
foreach($members as $member) {
if($member['xchan_url']) {
- $member['archived'] = (($member['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? true : false);
+ $member['archived'] = (intval($member['abook_archived']) ? true : false);
$member['click'] = 'groupChangeMember(' . $group['id'] . ',\'' . base64url_encode($member['xchan_hash']) . '\',\'' . $sec_token . '\'); return false;';
$groupeditor['members'][] = micropro($member,true,'mpgroup', $textmode);
}
@@ -211,18 +208,15 @@ function group_content(&$a) {
group_rmv_member(local_channel(),$group['name'],$member['xchan_hash']);
}
- $r = q("SELECT abook.*, xchan.* FROM `abook` left join xchan on abook_xchan = xchan_hash WHERE `abook_channel` = %d AND not (abook_flags & %d)>0 and not (xchan_flags & %d)>0 and not (abook_flags & %d)>0 order by xchan_name asc",
- intval(local_channel()),
- intval(ABOOK_FLAG_BLOCKED),
- intval(XCHAN_FLAGS_DELETED),
- intval(ABOOK_FLAG_PENDING)
+ $r = q("SELECT abook.*, xchan.* FROM `abook` left join xchan on abook_xchan = xchan_hash WHERE `abook_channel` = %d AND abook_blocked = 0 and abook_pending = 0 and xchan_deleted = 0 order by xchan_name asc",
+ intval(local_channel())
);
if(count($r)) {
$textmode = (($switchtotext && (count($r) > $switchtotext)) ? true : false);
foreach($r as $member) {
if(! in_array($member['xchan_hash'],$preselected)) {
- $member['archived'] = (($member['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? true : false);
+ $member['archived'] = (intval($member['abook_archived']) ? true : false);
$member['click'] = 'groupChangeMember(' . $group['id'] . ',\'' . base64url_encode($member['xchan_hash']) . '\',\'' . $sec_token . '\'); return false;';
$groupeditor['contacts'][] = micropro($member,true,'mpall', $textmode);
}
diff --git a/mod/help.php b/mod/help.php
index 694b356aa..16ec069a7 100644
--- a/mod/help.php
+++ b/mod/help.php
@@ -11,25 +11,160 @@
*/
-if(! function_exists('load_doc_file')) {
+
function load_doc_file($s) {
$lang = get_app()->language;
if(! isset($lang))
$lang = 'en';
$b = basename($s);
$d = dirname($s);
- if(file_exists("$d/$lang/$b"))
- return file_get_contents("$d/$lang/$b");
+
+ $c = find_doc_file("$d/$lang/$b");
+ if($c)
+ return $c;
+ $c = find_doc_file($s);
+ if($c)
+ return $c;
+ return '';
+}
+
+function find_doc_file($s) {
if(file_exists($s))
return file_get_contents($s);
return '';
-}}
+}
+
+function search_doc_files($s) {
+
+ $a = get_app();
+
+ $itemspage = get_pconfig(local_channel(),'system','itemspage');
+ $a->set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
+ $pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval($a->pager['itemspage']), intval($a->pager['start']));
+
+ $regexop = db_getfunc('REGEXP');
+
+ $r = q("select item_id.sid, item.* from item left join item_id on item.id = item_id.iid where service = 'docfile' and
+ body $regexop '%s' and item_type = %d $pager_sql",
+ dbesc($s),
+ intval(ITEM_TYPE_DOC)
+ );
+
+ $r = fetch_post_tags($r,true);
+
+ for($x = 0; $x < count($r); $x ++) {
+
+ $r[$x]['text'] = $r[$x]['body'];
+
+ $r[$x]['rank'] = 0;
+ if($r[$x]['term']) {
+ foreach($r[$x]['term'] as $t) {
+ if(stristr($t['term'],$s)) {
+ $r[$x]['rank'] ++;
+ }
+ }
+ }
+ if(stristr($r[$x]['sid'],$s))
+ $r[$x]['rank'] ++;
+ $r[$x]['rank'] += substr_count(strtolower($r[$x]['text']),strtolower($s));
+ // bias the results to the observer's native language
+ if($r[$x]['lang'] === $a->language)
+ $r[$x]['rank'] = $r[$x]['rank'] + 10;
+
+ }
+ usort($r,'doc_rank_sort');
+ return $r;
+}
+
+
+function doc_rank_sort($s1,$s2) {
+ if($s1['rank'] == $s2['rank'])
+ return 0;
+ return (($s1['rank'] < $s2['rank']) ? 1 : (-1));
+}
+
+
+
+
+function store_doc_file($s) {
+
+ if(is_dir($s))
+ return;
+
+ $item = array();
+ $sys = get_sys_channel();
+
+ $item['aid'] = 0;
+ $item['uid'] = $sys['channel_id'];
+
+
+ if(strpos($s,'.md'))
+ $mimetype = 'text/markdown';
+ elseif(strpos($s,'.html'))
+ $mimetype = 'text/html';
+ else
+ $mimetype = 'text/bbcode';
+
+ require_once('include/html2plain.php');
+
+ $item['body'] = html2plain(prepare_text(file_get_contents($s),$mimetype, true));
+ $item['mimetype'] = 'text/plain';
+
+ $item['plink'] = z_root() . '/' . str_replace('doc','help',$s);
+ $item['owner_xchan'] = $item['author_xchan'] = $sys['channel_hash'];
+ $item['item_type'] = ITEM_TYPE_DOC;
+
+ $r = q("select item.* from item left join item_id on item.id = item_id.iid where service = 'docfile' and
+ sid = '%s' and item_type = %d limit 1",
+ dbesc($s),
+ intval(ITEM_TYPE_DOC)
+ );
+
+ if($r) {
+ $item['id'] = $r[0]['id'];
+ $item['mid'] = $item['parent_mid'] = $r[0]['mid'];
+ $x = item_store_update($item);
+ }
+ else {
+ $item['mid'] = $item['parent_mid'] = item_message_id();
+ $x = item_store($item);
+ }
+
+ if($x['success']) {
+ update_remote_id($sys,$x['item_id'],ITEM_TYPE_DOC,$s,'docfile',0,$item['mid']);
+ }
+
+
+}
function help_content(&$a) {
nav_set_selected('help');
+ if($_REQUEST['search']) {
+
+ $o .= '<h2>' . t('Documentation Search') . ' - ' . htmlspecialchars($_REQUEST['search']) . '</h2>';
+
+ $r = search_doc_files($_REQUEST['search']);
+ if($r) {
+ $o .= '<ul class="help-searchlist">';
+ foreach($r as $rr) {
+ $dirname = dirname($rr['sid']);
+ $fname = basename($rr['sid']);
+ $fname = substr($fname,0,strrpos($fname,'.'));
+ $path = trim(substr($dirname,4),'/');
+
+ $o .= '<li><a href="help/' . (($path) ? $path . '/' : '') . $fname . '" >' . ucwords(str_replace('_',' ',notags($fname))) . '</a><br />' .
+ str_replace('$Projectname',PLATFORM_NAME,substr($rr['text'],0,200)) . '...<br /><br /></li>';
+
+ }
+ $o .= '</ul>';
+ }
+ return $o;
+ }
+
+
global $lang;
$doctype = 'markdown';
diff --git a/mod/home.php b/mod/home.php
index 3091be3a1..242b2dcec 100644
--- a/mod/home.php
+++ b/mod/home.php
@@ -44,7 +44,6 @@ function home_content(&$a, $update = 0, $load = false) {
$splash = ((argc() > 1 && argv(1) === 'splash') ? true : false);
-
call_hooks('home_content',$o);
if($o)
return $o;
@@ -68,6 +67,7 @@ function home_content(&$a, $update = 0, $load = false) {
goaway(z_root() . '/' . $frontpage);
}
+
$sitename = get_config('system','sitename');
if($sitename)
$o .= '<h1>' . sprintf( t("Welcome to %s") ,$sitename) . '</h1>';
diff --git a/mod/impel.php b/mod/impel.php
index 0b29bcf02..da7138438 100644
--- a/mod/impel.php
+++ b/mod/impel.php
@@ -32,17 +32,17 @@ function impel_init(&$a) {
switch($j['type']) {
case 'webpage':
- $arr['item_restrict'] = ITEM_WEBPAGE;
+ $arr['item_type'] = ITEM_TYPE_WEBPAGE;
$namespace = 'WEBPAGE';
$installed_type = t('webpage');
break;
case 'block':
- $arr['item_restrict'] = ITEM_BUILDBLOCK;
+ $arr['item_type'] = ITEM_TYPE_BLOCK;
$namespace = 'BUILDBLOCK';
$installed_type = t('block');
break;
case 'layout':
- $arr['item_restrict'] = ITEM_PDL;
+ $arr['item_type'] = ITEM_TYPE_PDL;
$namespace = 'PDL';
$installed_type = t('layout');
break;
@@ -157,7 +157,8 @@ function impel_init(&$a) {
dbesc($namespace),
intval(local_channel())
);
- $i = q("select id, edited, item_restrict from item where mid = '%s' and uid = %d limit 1",
+
+ $i = q("select id, edited, item_deleted from item where mid = '%s' and uid = %d limit 1",
dbesc($arr['mid']),
intval(local_channel())
);
@@ -170,7 +171,7 @@ function impel_init(&$a) {
$x = item_store_update($arr,$execflag);
}
else {
- if(($i) && ($i[0]['item_restrict'] & ITEM_DELETED)) {
+ if(($i) && (intval($i[0]['item_deleted']))) {
// was partially deleted already, finish it off
q("delete from item where mid = '%s' and uid = %d",
dbesc($arr['mid']),
@@ -182,7 +183,7 @@ function impel_init(&$a) {
if($x['success']) {
$item_id = $x['item_id'];
- update_remote_id($channel,$item_id,$arr['item_restrict'],$pagetitle,$namespace,$remote_id,$arr['mid']);
+ update_remote_id($channel,$item_id,$arr['item_type'],$pagetitle,$namespace,$remote_id,$arr['mid']);
}
}
diff --git a/mod/import.php b/mod/import.php
index 24780b6c4..c2ed82a0a 100644
--- a/mod/import.php
+++ b/mod/import.php
@@ -6,6 +6,8 @@
require_once('include/Contact.php');
require_once('include/zot.php');
require_once('include/identity.php');
+require_once('include/import.php');
+
function import_post(&$a) {
@@ -36,6 +38,9 @@ function import_post(&$a) {
$filesize = intval($_FILES['filename']['size']);
$filetype = $_FILES['filename']['type'];
+ $completed = ((array_key_exists('import_step',$_SESSION)) ? intval($_SESSION['import_step']) : 0);
+ if($completed)
+ logger('saved import step: ' . $_SESSION['import_step']);
if($src) {
@@ -106,389 +111,331 @@ function import_post(&$a) {
if(array_key_exists('compatibility',$data) && array_key_exists('database',$data['compatibility'])) {
$v1 = substr($data['compatibility']['database'],-4);
$v2 = substr(DB_UPDATE_VERSION,-4);
- if($data['compatibility']['project'] !== PLATFORM_NAME) {
- notice( t('The data provided is not compatible with this project.') );
- return;
+ if($v2 > $v1) {
+ $t = sprintf( t('Warning: Database versions differ by %1$d updates.'), $v2 - $v1 );
+ notice($t);
}
}
- if($v2 > $v1) {
- $t = sprintf( t('Warning: Database versions differ by %1$d updates.'), $v2 - $v1 );
- notice($t);
- }
-
// import channel
- $channel = $data['channel'];
+ if(array_key_exists('channel',$data)) {
- $r = q("select * from channel where (channel_guid = '%s' or channel_hash = '%s' or channel_address = '%s' ) limit 1",
- dbesc($channel['channel_guid']),
- dbesc($channel['channel_hash']),
- dbesc($channel['channel_address'])
- );
+ if($completed < 1) {
+ $channel = import_channel($data['channel']);
- // We should probably also verify the hash
-
- if($r) {
- if($r[0]['channel_guid'] === $channel['channel_guid'] || $r[0]['channel_hash'] === $channel['channel_hash']) {
- logger('mod_import: duplicate channel. ', print_r($channel,true));
- notice( t('Cannot create a duplicate channel identifier on this system. Import failed.') . EOL);
- return;
}
else {
- // try at most ten times to generate a unique address.
- $x = 0;
- $found_unique = false;
- do {
- $tmp = $channel['channel_address'] . mt_rand(1000,9999);
- $r = q("select * from channel where channel_address = '%s' limit 1",
- dbesc($tmp)
- );
- if(! $r) {
- $channel['channel_address'] = $tmp;
- $found_unique = true;
- break;
- }
- $x ++;
- } while ($x < 10);
- if(! $found_unique) {
- logger('mod_import: duplicate channel. randomisation failed.', print_r($channel,true));
- notice( t('Unable to create a unique channel address. Import failed.') . EOL);
- return;
- }
- }
+ $r = q("select * from channel where channel_account_id = %d and channel_guid = '%s' limit 1",
+ intval(get_account_id()),
+ dbesc($channel['channel_guid'])
+ );
+ if($r)
+ $channel = $r[0];
+ }
+ if(! $channel) {
+ logger('mod_import: channel not found. ', print_r($channel,true));
+ notice( t('Cloned channel not found. Import failed.') . EOL);
+ return;
+ }
}
- unset($channel['channel_id']);
- $channel['channel_account_id'] = get_account_id();
- $channel['channel_primary'] = (($seize) ? 1 : 0);
+ if(! $channel)
+ $channel = $a->get_channel();
- dbesc_array($channel);
-
- $r = dbq("INSERT INTO channel (`"
- . implode("`, `", array_keys($channel))
- . "`) VALUES ('"
- . implode("', '", array_values($channel))
- . "')" );
-
- if(! $r) {
- logger('mod_import: channel clone failed. ', print_r($channel,true));
- notice( t('Channel clone failed. Import failed.') . EOL);
- return;
- }
-
- $r = q("select * from channel where channel_account_id = %d and channel_guid = '%s' limit 1",
- intval(get_account_id()),
- $channel['channel_guid'] // Already dbesc'd
- );
- if(! $r) {
+ if(! $channel) {
logger('mod_import: channel not found. ', print_r($channel,true));
- notice( t('Cloned channel not found. Import failed.') . EOL);
+ notice( t('No channel. Import failed.') . EOL);
return;
}
- // reset
- $channel = $r[0];
- set_default_login_identity(get_account_id(),$channel['channel_id'],false);
- if($data['photo']) {
- require_once('include/photo/photo_driver.php');
- import_channel_photo(base64url_decode($data['photo']['data']),$data['photo']['type'],get_account_id(),$channel['channel_id']);
- }
+ if($completed < 2) {
+ if(is_array($data['config'])) {
+ import_config($channel,$data['config']);
+ }
- $profiles = $data['profile'];
- if($profiles) {
- foreach($profiles as $profile) {
- unset($profile['id']);
- $profile['aid'] = get_account_id();
- $profile['uid'] = $channel['channel_id'];
+ logger('import step 2');
+ $_SESSION['import_step'] = 2;
+ ref_session_write(session_id(), serialize($_SESSION));
+ }
- // we are going to reset all profile photos to the original
- // somebody will have to fix this later and put all the applicable photos into the export
- $profile['photo'] = z_root() . '/photo/profile/l/' . $channel['channel_id'];
- $profile['thumb'] = z_root() . '/photo/profile/m/' . $channel['channel_id'];
+ if($completed < 3) {
- dbesc_array($profile);
- $r = dbq("INSERT INTO profile (`"
- . implode("`, `", array_keys($profile))
- . "`) VALUES ('"
- . implode("', '", array_values($profile))
- . "')" );
+ if($data['photo']) {
+ require_once('include/photo/photo_driver.php');
+ import_channel_photo(base64url_decode($data['photo']['data']),$data['photo']['type'],get_account_id(),$channel['channel_id']);
}
- }
+ if(is_array($data['profiles']))
+ import_profiles($channel,$data['profiles']);
- $hublocs = $data['hubloc'];
- if($hublocs) {
- foreach($hublocs as $hubloc) {
- $arr = array(
- 'guid' => $hubloc['hubloc_guid'],
- 'guid_sig' => $hubloc['hubloc_guid_sig'],
- 'url' => $hubloc['hubloc_url'],
- 'url_sig' => $hubloc['hubloc_url_sig']
- );
-
- $hash = make_xchan_hash($hubloc['hubloc_guid'],$hubloc['hubloc_guid_sig']);
- if($hubloc['hubloc_network'] === 'zot' && $hash !== $hubloc['hubloc_hash']) {
- logger('forged hubloc: ' . print_r($hubloc,true));
- continue;
- }
-
- if(array_key_exists('hubloc_primary',$hubloc)) {
- if(intval($hubloc['hubloc_primary'])) {
- $hubloc['hubloc_flags'] |= HUBLOC_FLAGS_PRIMARY;
- unset($hubloc['hubloc_primary']);
- }
- if(intval($hubloc['hubloc_orphancheck'])) {
- $hubloc['hubloc_flags'] |= HUBLOC_FLAGS_ORPHANCHECK;
- unset($hubloc['hubloc_orphancheck']);
- }
- if(intval($hubloc['hubloc_deleted'])) {
- $hubloc['hubloc_flags'] |= HUBLOC_FLAGS_DELETED;
- unset($hubloc['hubloc_deleted']);
- }
- if(intval($hubloc['hubloc_error'])) {
- $hubloc['hubloc_status'] |= HUBLOC_ERROR;
- unset($hubloc['hubloc_error']);
- }
- }
+ logger('import step 3');
+ $_SESSION['import_step'] = 3;
+ ref_session_write(session_id(), serialize($_SESSION));
+ }
- if(($hubloc['hubloc_hash'] === $channel['channel_hash']) && ($hubloc['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) && ($seize))
- $hubloc['hubloc_flags'] = ($hubloc['hubloc_flags'] ^ HUBLOC_FLAGS_PRIMARY);
- if(! zot_gethub($arr)) {
- unset($hubloc['hubloc_id']);
- dbesc_array($hubloc);
-
- $r = dbq("INSERT INTO hubloc (`"
- . implode("`, `", array_keys($hubloc))
- . "`) VALUES ('"
- . implode("', '", array_values($hubloc))
- . "')" );
+ if($completed < 4) {
- }
+ if(is_array($data['hubloc'])) {
+ import_hublocs($channel,$data['hubloc'],$seize);
}
+ logger('import step 4');
+ $_SESSION['import_step'] = 4;
+ ref_session_write(session_id(), serialize($_SESSION));
}
- // create new hubloc for the new channel at this site
-
- $r = q("insert into hubloc ( hubloc_guid, hubloc_guid_sig, hubloc_hash, hubloc_addr, hubloc_network, hubloc_flags,
- hubloc_url, hubloc_url_sig, hubloc_host, hubloc_callback, hubloc_sitekey )
- values ( '%s', '%s', '%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s' )",
- dbesc($channel['channel_guid']),
- dbesc($channel['channel_guid_sig']),
- dbesc($channel['channel_hash']),
- dbesc($channel['channel_address'] . '@' . get_app()->get_hostname()),
- dbesc('zot'),
- intval(($seize) ? HUBLOC_FLAGS_PRIMARY : 0),
- dbesc(z_root()),
- dbesc(base64url_encode(rsa_sign(z_root(),$channel['channel_prvkey']))),
- dbesc(get_app()->get_hostname()),
- dbesc(z_root() . '/post'),
- dbesc(get_config('system','pubkey'))
- );
-
- // reset the original primary hubloc if it is being seized
-
- if($seize)
- $r = q("update hubloc set hubloc_flags = (hubloc_flags & ~%d) where (hubloc_flags & %d)>0 and hubloc_hash = '%s' and hubloc_url != '%s' ",
- intval(HUBLOC_FLAGS_PRIMARY),
- intval(HUBLOC_FLAGS_PRIMARY),
- dbesc($channel['channel_hash']),
- dbesc(z_root())
- );
-
- // import xchans and contact photos
-
- if($seize) {
+ if($completed < 5) {
+ // create new hubloc for the new channel at this site
- // replace any existing xchan we may have on this site if we're seizing control
-
- $r = q("delete from xchan where xchan_hash = '%s'",
- dbesc($channel['channel_hash'])
- );
-
- $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_l, xchan_photo_m, xchan_photo_s, xchan_addr, xchan_url, xchan_follow, xchan_connurl, xchan_name, xchan_network, xchan_photo_date, xchan_name_date ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
- dbesc($channel['channel_hash']),
+ $r = q("insert into hubloc ( hubloc_guid, hubloc_guid_sig, hubloc_hash, hubloc_addr, hubloc_network, hubloc_primary,
+ hubloc_url, hubloc_url_sig, hubloc_host, hubloc_callback, hubloc_sitekey )
+ values ( '%s', '%s', '%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', '%s' )",
dbesc($channel['channel_guid']),
dbesc($channel['channel_guid_sig']),
- dbesc($channel['channel_pubkey']),
- dbesc($a->get_baseurl() . "/photo/profile/l/" . $channel['channel_id']),
- dbesc($a->get_baseurl() . "/photo/profile/m/" . $channel['channel_id']),
- dbesc($a->get_baseurl() . "/photo/profile/s/" . $channel['channel_id']),
+ dbesc($channel['channel_hash']),
dbesc($channel['channel_address'] . '@' . get_app()->get_hostname()),
- dbesc(z_root() . '/channel/' . $channel['channel_address']),
- dbesc(z_root() . '/follow?f=&url=%s'),
- dbesc(z_root() . '/poco/' . $channel['channel_address']),
- dbesc($channel['channel_name']),
dbesc('zot'),
- dbesc(datetime_convert()),
- dbesc(datetime_convert())
+ intval(($seize) ? 1 : 0),
+ dbesc(z_root()),
+ dbesc(base64url_encode(rsa_sign(z_root(),$channel['channel_prvkey']))),
+ dbesc(get_app()->get_hostname()),
+ dbesc(z_root() . '/post'),
+ dbesc(get_config('system','pubkey'))
);
+
+ // reset the original primary hubloc if it is being seized
+
+ if($seize) {
+ $r = q("update hubloc set hubloc_primary = 0 where hubloc_primary = 1 and hubloc_hash = '%s' and hubloc_url != '%s' ",
+ dbesc($channel['channel_hash']),
+ dbesc(z_root())
+ );
+ }
+ logger('import step 5');
+ $_SESSION['import_step'] = 5;
+ ref_session_write(session_id(), serialize($_SESSION));
}
+
- $xchans = $data['xchan'];
- if($xchans) {
- foreach($xchans as $xchan) {
+ if($completed < 6) {
- $hash = make_xchan_hash($xchan['xchan_guid'],$xchan['xchan_guid_sig']);
- if($xchan['xchan_network'] === 'zot' && $hash !== $xchan['xchan_hash']) {
- logger('forged xchan: ' . print_r($xchan,true));
- continue;
- }
+ // import xchans and contact photos
- $r = q("select xchan_hash from xchan where xchan_hash = '%s' limit 1",
- dbesc($xchan['xchan_hash'])
- );
- if($r)
- continue;
+ if($seize) {
- dbesc_array($xchan);
-
- $r = dbq("INSERT INTO xchan (`"
- . implode("`, `", array_keys($xchan))
- . "`) VALUES ('"
- . implode("', '", array_values($xchan))
- . "')" );
+ // replace any existing xchan we may have on this site if we're seizing control
-
- require_once('include/photo/photo_driver.php');
- $photos = import_profile_photo($xchan['xchan_photo_l'],$xchan['xchan_hash']);
- if($photos[4])
- $photodate = NULL_DATE;
- else
- $photodate = $xchan['xchan_photo_date'];
-
- $r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s', xchan_photo_date = '%s'
- where xchan_hash = '%s'",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
- dbesc($photos[3]),
- dbesc($photodate),
- dbesc($xchan['xchan_hash'])
+ $r = q("delete from xchan where xchan_hash = '%s'",
+ dbesc($channel['channel_hash'])
+ );
+
+ $r = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_l, xchan_photo_m, xchan_photo_s, xchan_addr, xchan_url, xchan_follow, xchan_connurl, xchan_name, xchan_network, xchan_photo_date, xchan_name_date, xchan_hidden, xchan_orphan, xchan_censored, xchan_selfcensored, xchan_system, xchan_pubforum, xchan_deleted ) values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, %d, %d, %d )",
+ dbesc($channel['channel_hash']),
+ dbesc($channel['channel_guid']),
+ dbesc($channel['channel_guid_sig']),
+ dbesc($channel['channel_pubkey']),
+ dbesc($a->get_baseurl() . "/photo/profile/l/" . $channel['channel_id']),
+ dbesc($a->get_baseurl() . "/photo/profile/m/" . $channel['channel_id']),
+ dbesc($a->get_baseurl() . "/photo/profile/s/" . $channel['channel_id']),
+ dbesc($channel['channel_address'] . '@' . get_app()->get_hostname()),
+ dbesc(z_root() . '/channel/' . $channel['channel_address']),
+ dbesc(z_root() . '/follow?f=&url=%s'),
+ dbesc(z_root() . '/poco/' . $channel['channel_address']),
+ dbesc($channel['channel_name']),
+ dbesc('zot'),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ 0,0,0,0,0,0,0
);
-
}
+ logger('import step 6');
+ $_SESSION['import_step'] = 6;
+ ref_session_write(session_id(), serialize($_SESSION));
}
-// FIXME - ensure we have an xchan if somebody is trying to pull a fast one
+ if($completed < 7) {
-
- $friends = 0;
- $feeds = 0;
-
- // import contacts
- $abooks = $data['abook'];
- if($abooks) {
- foreach($abooks as $abook) {
- if(array_key_exists('abook_blocked',$abook) && intval($abook['abook_blocked'])) {
- $abook['abook_flags'] |= ABOOK_FLAG_BLOCKED;
- }
- if(array_key_exists('abook_ignored',$abook) && intval($abook['abook_ignored'])) {
- $abook['abook_flags'] |= ABOOK_FLAG_IGNORED;
- }
- if(array_key_exists('abook_hidden',$abook) && intval($abook['abook_hidden'])) {
- $abook['abook_flags'] |= ABOOK_FLAG_HIDDEN;
- }
- if(array_key_exists('abook_archived',$abook) && intval($abook['abook_archived'])) {
- $abook['abook_flags'] |= ABOOK_FLAG_ARCHIVED;
- }
- if(array_key_exists('abook_pending',$abook) && intval($abook['abook_pending'])) {
- $abook['abook_flags'] |= ABOOK_FLAG_PENDING;
- }
- if(array_key_exists('abook_unconnected',$abook) && intval($abook['abook_unconnected'])) {
- $abook['abook_flags'] |= ABOOK_FLAG_UNCONNECTED;
- }
- if(array_key_exists('abook_self',$abook) && intval($abook['abook_self'])) {
- $abook['abook_flags'] |= ABOOK_FLAG_SELF;
- }
- if(array_key_exists('abook_feed',$abook) && intval($abook['abook_feed'])) {
- $abook['abook_flags'] |= ABOOK_FLAG_FEED;
- }
+ $xchans = $data['xchan'];
+ if($xchans) {
+ foreach($xchans as $xchan) {
- if(! ( $abook['abook_flags'] & ABOOK_FLAG_SELF)) {
- if($max_friends !== false && $friends > $max_friends)
+ $hash = make_xchan_hash($xchan['xchan_guid'],$xchan['xchan_guid_sig']);
+ if($xchan['xchan_network'] === 'zot' && $hash !== $xchan['xchan_hash']) {
+ logger('forged xchan: ' . print_r($xchan,true));
continue;
- if($max_feeds !== false && ($abook['abook_flags'] & ABOOK_FLAG_FEED) && $feeds > $max_feeds)
+ }
+
+ if(! array_key_exists('xchan_hidden',$xchan)) {
+ $xchan['xchan_hidden'] = (($xchan['xchan_flags'] & 0x0001) ? 1 : 0);
+ $xchan['xchan_orphan'] = (($xchan['xchan_flags'] & 0x0002) ? 1 : 0);
+ $xchan['xchan_censored'] = (($xchan['xchan_flags'] & 0x0004) ? 1 : 0);
+ $xchan['xchan_selfcensored'] = (($xchan['xchan_flags'] & 0x0008) ? 1 : 0);
+ $xchan['xchan_system'] = (($xchan['xchan_flags'] & 0x0010) ? 1 : 0);
+ $xchan['xchan_pubforum'] = (($xchan['xchan_flags'] & 0x0020) ? 1 : 0);
+ $xchan['xchan_deleted'] = (($xchan['xchan_flags'] & 0x1000) ? 1 : 0);
+ }
+
+ $r = q("select xchan_hash from xchan where xchan_hash = '%s' limit 1",
+ dbesc($xchan['xchan_hash'])
+ );
+ if($r)
continue;
+
+ dbesc_array($xchan);
+
+ $r = dbq("INSERT INTO xchan (`"
+ . implode("`, `", array_keys($xchan))
+ . "`) VALUES ('"
+ . implode("', '", array_values($xchan))
+ . "')" );
+
+
+ require_once('include/photo/photo_driver.php');
+ $photos = import_xchan_photo($xchan['xchan_photo_l'],$xchan['xchan_hash']);
+ if($photos[4])
+ $photodate = NULL_DATE;
+ else
+ $photodate = $xchan['xchan_photo_date'];
+
+ $r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s', xchan_photo_date = '%s'
+ where xchan_hash = '%s'",
+ dbesc($photos[0]),
+ dbesc($photos[1]),
+ dbesc($photos[2]),
+ dbesc($photos[3]),
+ dbesc($photodate),
+ dbesc($xchan['xchan_hash'])
+ );
+
}
- unset($abook['abook_id']);
- $abook['abook_account'] = get_account_id();
- $abook['abook_channel'] = $channel['channel_id'];
- dbesc_array($abook);
- $r = dbq("INSERT INTO abook (`"
- . implode("`, `", array_keys($abook))
- . "`) VALUES ('"
- . implode("', '", array_values($abook))
- . "')" );
-
- $friends ++;
- if($abook['abook_flags'] & ABOOK_FLAG_FEED)
- $feeds ++;
}
+ logger('import step 7');
+ $_SESSION['import_step'] = 7;
+ ref_session_write(session_id(), serialize($_SESSION));
}
- $configs = $data['config'];
- if($configs) {
- foreach($configs as $config) {
- unset($config['id']);
- $config['uid'] = $channel['channel_id'];
- dbesc_array($config);
- $r = dbq("INSERT INTO pconfig (`"
- . implode("`, `", array_keys($config))
- . "`) VALUES ('"
- . implode("', '", array_values($config))
- . "')" );
+
+ // FIXME - ensure we have an xchan if somebody is trying to pull a fast one
+
+ if($completed < 8) {
+ $friends = 0;
+ $feeds = 0;
+
+ // import contacts
+ $abooks = $data['abook'];
+ if($abooks) {
+ foreach($abooks as $abook) {
+
+ unset($abook['abook_id']);
+ unset($abook['abook_rating']);
+ unset($abook['abook_rating_text']);
+ $abook['abook_account'] = get_account_id();
+ $abook['abook_channel'] = $channel['channel_id'];
+ if(! array_key_exists('abook_blocked',$abook)) {
+ $abook['abook_blocked'] = (($abook['abook_flags'] & 0x0001 ) ? 1 : 0);
+ $abook['abook_ignored'] = (($abook['abook_flags'] & 0x0002 ) ? 1 : 0);
+ $abook['abook_hidden'] = (($abook['abook_flags'] & 0x0004 ) ? 1 : 0);
+ $abook['abook_archived'] = (($abook['abook_flags'] & 0x0008 ) ? 1 : 0);
+ $abook['abook_pending'] = (($abook['abook_flags'] & 0x0010 ) ? 1 : 0);
+ $abook['abook_unconnected'] = (($abook['abook_flags'] & 0x0020 ) ? 1 : 0);
+ $abook['abook_self'] = (($abook['abook_flags'] & 0x0080 ) ? 1 : 0);
+ $abook['abook_feed'] = (($abook['abook_flags'] & 0x0100 ) ? 1 : 0);
+ }
+
+ if($abook['abook_self']) {
+ $role = get_pconfig($channel['channel_id'],'system','permissions_role');
+ if(($role === 'forum') || ($abook['abook_my_perms'] & PERMS_W_TAGWALL)) {
+ q("update xchan set xchan_pubforum = 1 where xchan_hash = '%s' ",
+ dbesc($abook['abook_xchan'])
+ );
+ }
+ }
+ else {
+ if($max_friends !== false && $friends > $max_friends)
+ continue;
+ if($max_feeds !== false && intval($abook['abook_feed']) && ($feeds > $max_feeds))
+ continue;
+ }
+
+ dbesc_array($abook);
+ $r = dbq("INSERT INTO abook (`"
+ . implode("`, `", array_keys($abook))
+ . "`) VALUES ('"
+ . implode("', '", array_values($abook))
+ . "')" );
+
+ $friends ++;
+ if(intval($abook['abook_feed']))
+ $feeds ++;
+ }
}
+ logger('import step 8');
+ $_SESSION['import_step'] = 8;
+ ref_session_write(session_id(), serialize($_SESSION));
}
- $groups = $data['group'];
- if($groups) {
- $saved = array();
- foreach($groups as $group) {
- $saved[$group['hash']] = array('old' => $group['id']);
- unset($group['id']);
- $group['uid'] = $channel['channel_id'];
- dbesc_array($group);
- $r = dbq("INSERT INTO groups (`"
- . implode("`, `", array_keys($group))
- . "`) VALUES ('"
- . implode("', '", array_values($group))
- . "')" );
- }
- $r = q("select * from `groups` where uid = %d",
- intval($channel['channel_id'])
- );
- if($r) {
- foreach($r as $rr) {
- $saved[$rr['hash']]['new'] = $rr['id'];
+
+
+ if($completed < 9) {
+ $groups = $data['group'];
+ if($groups) {
+ $saved = array();
+ foreach($groups as $group) {
+ $saved[$group['hash']] = array('old' => $group['id']);
+ unset($group['id']);
+ $group['uid'] = $channel['channel_id'];
+ dbesc_array($group);
+ $r = dbq("INSERT INTO groups (`"
+ . implode("`, `", array_keys($group))
+ . "`) VALUES ('"
+ . implode("', '", array_values($group))
+ . "')" );
}
- }
- }
+ $r = q("select * from `groups` where uid = %d",
+ intval($channel['channel_id'])
+ );
+ if($r) {
+ foreach($r as $rr) {
+ $saved[$rr['hash']]['new'] = $rr['id'];
+ }
+ }
+ }
+
- $group_members = $data['group_member'];
- if($group_members) {
- foreach($group_members as $group_member) {
- unset($group_member['id']);
- $group_member['uid'] = $channel['channel_id'];
- foreach($saved as $x) {
- if($x['old'] == $group_member['gid'])
- $group_member['gid'] = $x['new'];
+ $group_members = $data['group_member'];
+ if($group_members) {
+ foreach($group_members as $group_member) {
+ unset($group_member['id']);
+ $group_member['uid'] = $channel['channel_id'];
+ foreach($saved as $x) {
+ if($x['old'] == $group_member['gid'])
+ $group_member['gid'] = $x['new'];
+ }
+ dbesc_array($group_member);
+ $r = dbq("INSERT INTO group_member (`"
+ . implode("`, `", array_keys($group_member))
+ . "`) VALUES ('"
+ . implode("', '", array_values($group_member))
+ . "')" );
}
- dbesc_array($group_member);
- $r = dbq("INSERT INTO group_member (`"
- . implode("`, `", array_keys($group_member))
- . "`) VALUES ('"
- . implode("', '", array_values($group_member))
- . "')" );
}
+ logger('import step 9');
+ $_SESSION['import_step'] = 9;
+ ref_session_write(session_id(), serialize($_SESSION));
}
+ if(is_array($data['obj']))
+ import_objs($channel,$data['obj']);
+
+ if(is_array($data['app']))
+ import_apps($channel,$data['app']);
+
$saved_notification_flags = notifications_off($channel['channel_id']);
if($import_posts && array_key_exists('item',$data) && $data['item']) {
@@ -547,7 +494,7 @@ function import_post(&$a) {
-// FIXME - ensure we have a self entry if somebody is trying to pull a fast one
+ // FIXME - ensure we have a self entry if somebody is trying to pull a fast one
// send out refresh requests
// notify old server that it may no longer be primary.
@@ -563,6 +510,7 @@ function import_post(&$a) {
change_channel($channel['channel_id']);
+ unset($_SESSION['import_step']);
goaway(z_root() . '/network' );
}
diff --git a/mod/import_items.php b/mod/import_items.php
new file mode 100644
index 000000000..1e54c0deb
--- /dev/null
+++ b/mod/import_items.php
@@ -0,0 +1,172 @@
+<?php
+
+
+function import_items_post(&$a) {
+
+ if(! local_channel())
+ return;
+
+ $data = null;
+
+ $src = $_FILES['filename']['tmp_name'];
+ $filename = basename($_FILES['filename']['name']);
+ $filesize = intval($_FILES['filename']['size']);
+ $filetype = $_FILES['filename']['type'];
+
+ if($src) {
+ // This is OS specific and could also fail if your tmpdir isn't very large
+ // mostly used for Diaspora which exports gzipped files.
+
+ if(strpos($filename,'.gz')){
+ @rename($src,$src . '.gz');
+ @system('gunzip ' . escapeshellarg($src . '.gz'));
+ }
+
+ if($filesize) {
+ $data = @file_get_contents($src);
+ }
+ unlink($src);
+ }
+
+ if(! $src) {
+
+ $old_address = ((x($_REQUEST,'old_address')) ? $_REQUEST['old_address'] : '');
+
+ if(! $old_address) {
+ logger('mod_import: nothing to import.');
+ notice( t('Nothing to import.') . EOL);
+ return;
+ }
+
+ $email = ((x($_REQUEST,'email')) ? $_REQUEST['email'] : '');
+ $password = ((x($_REQUEST,'password')) ? $_REQUEST['password'] : '');
+
+ $year = ((x($_REQUEST,'year')) ? $_REQUEST['year'] : '');
+
+ $channelname = substr($old_address,0,strpos($old_address,'@'));
+ $servername = substr($old_address,strpos($old_address,'@')+1);
+
+ $scheme = 'https://';
+ $api_path = '/api/red/channel/export/items?f=&channel=' . $channelname . '&year=' . intval($year);
+ $binary = false;
+ $redirects = 0;
+ $opts = array('http_auth' => $email . ':' . $password);
+ $url = $scheme . $servername . $api_path;
+ $ret = z_fetch_url($url, $binary, $redirects, $opts);
+ if(! $ret['success'])
+ $ret = z_fetch_url('http://' . $servername . $api_path, $binary, $redirects, $opts);
+ if($ret['success'])
+ $data = $ret['body'];
+ else
+ notice( t('Unable to download data from old server') . EOL);
+
+ }
+
+ if(! $data) {
+ logger('mod_import: empty file.');
+ notice( t('Imported file is empty.') . EOL);
+ return;
+ }
+
+ $data = json_decode($data,true);
+
+// logger('import: data: ' . print_r($data,true));
+// print_r($data);
+
+
+ if(array_key_exists('compatibility',$data) && array_key_exists('database',$data['compatibility'])) {
+ $v1 = substr($data['compatibility']['database'],-4);
+ $v2 = substr(DB_UPDATE_VERSION,-4);
+ if($v2 > $v1) {
+ $t = sprintf( t('Warning: Database versions differ by %1$d updates.'), $v2 - $v1 );
+ notice($t);
+ }
+ }
+
+ $channel = $a->get_channel();
+
+ $saved_notification_flags = notifications_off($channel['channel_id']);
+
+ if(array_key_exists('item',$data) && $data['item']) {
+
+ foreach($data['item'] as $i) {
+ $item = get_item_elements($i);
+
+ $r = q("select id, edited from item where mid = '%s' and uid = %d limit 1",
+ dbesc($item['mid']),
+ intval($channel['channel_id'])
+ );
+ if($r) {
+ if($item['edited'] > $r[0]['edited']) {
+ $item['id'] = $r[0]['id'];
+ $item['uid'] = $channel['channel_id'];
+ item_store_update($item);
+ continue;
+ }
+ }
+ else {
+ $item['aid'] = $channel['channel_account_id'];
+ $item['uid'] = $channel['channel_id'];
+ $item_result = item_store($item);
+ }
+
+ }
+
+ }
+
+ notifications_on($channel['channel_id'],$saved_notification_flags);
+
+ if(array_key_exists('item_id',$data) && $data['item_id']) {
+ foreach($data['item_id'] as $i) {
+ $r = q("select id from item where mid = '%s' and uid = %d limit 1",
+ dbesc($i['mid']),
+ intval($channel['channel_id'])
+ );
+ if(! $r)
+ continue;
+ $z = q("select * from item_id where service = '%s' and sid = '%s' and iid = %d and uid = %d limit 1",
+ dbesc($i['service']),
+ dbesc($i['sid']),
+ intval($r[0]['id']),
+ intval($channel['channel_id'])
+ );
+ if(! $z) {
+ q("insert into item_id (iid,uid,sid,service) values(%d,%d,'%s','%s')",
+ intval($r[0]['id']),
+ intval($channel['channel_id']),
+ dbesc($i['sid']),
+ dbesc($i['service'])
+ );
+ }
+ }
+ }
+
+ info( t('Import completed') . EOL);
+ return;
+}
+
+
+
+
+function import_items_content(&$a) {
+
+
+
+
+ if(! local_channel()) {
+ notice( t('Permission denied') . EOL);
+ return login();
+ }
+
+ $o = replace_macros(get_markup_template('item_import.tpl'),array(
+ '$title' => t('Import Items'),
+ '$desc' => t('Use this form to import existing posts and content from an export file.'),
+ '$label_filename' => t('File to Upload'),
+ '$submit' => t('Submit')
+ ));
+
+ return $o;
+
+}
+
+
diff --git a/mod/item.php b/mod/item.php
index bc2710b42..c93560771 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -115,7 +115,7 @@ function item_post(&$a) {
* Check service class limits
*/
if ($uid && !(x($_REQUEST,'parent')) && !(x($_REQUEST,'post_id'))) {
- $ret = item_check_service_class($uid,(($_REQUEST['webpage'] == ITEM_WEBPAGE) ? true : false));
+ $ret = item_check_service_class($uid,(($_REQUEST['webpage'] == ITEM_TYPE_WEBPAGE) ? true : false));
if (!$ret['success']) {
notice( t($ret['message']) . EOL) ;
if(x($_REQUEST,'return'))
@@ -197,7 +197,7 @@ function item_post(&$a) {
if($parent) {
logger('mod_item: item_post parent=' . $parent);
$can_comment = false;
- if((array_key_exists('owner',$parent_item)) && ($parent_item['owner']['abook_flags'] & ABOOK_FLAG_SELF))
+ if((array_key_exists('owner',$parent_item)) && intval($parent_item['owner']['abook_self']))
$can_comment = perm_is_allowed($profile_uid,$observer['xchan_hash'],'post_comments');
else
$can_comment = can_comment_on_post($observer['xchan_hash'],$parent_item);
@@ -295,7 +295,7 @@ function item_post(&$a) {
// For comments, We need to additionally look at the parent and see if it's a wall post that originated locally.
if($observer['xchan_name'] != $owner_xchan['xchan_name']) {
- if($parent_item && ($parent_item['item_flags'] & (ITEM_WALL|ITEM_ORIGIN)) == (ITEM_WALL|ITEM_ORIGIN)) {
+ if(($parent_item) && ($parent_item['item_wall'] && $parent_item['item_origin'])) {
$walltowall_comment = true;
$walltowall = true;
}
@@ -305,6 +305,8 @@ function item_post(&$a) {
}
}
+ $acl = new AccessList($channel);
+
$public_policy = ((x($_REQUEST,'public_policy')) ? escape_tags($_REQUEST['public_policy']) : map_scope($channel['channel_r_stream'],true));
if($webpage)
@@ -316,28 +318,17 @@ function item_post(&$a) {
$private = 0;
// webpages are allowed to change ACLs after the fact. Normal conversation items aren't.
if($webpage) {
- $str_group_allow = perms2str($_REQUEST['group_allow']);
- $str_contact_allow = perms2str($_REQUEST['contact_allow']);
- $str_group_deny = perms2str($_REQUEST['group_deny']);
- $str_contact_deny = perms2str($_REQUEST['contact_deny']);
+ $acl->set_from_array($_REQUEST);
}
else {
- $str_group_allow = $orig_post['allow_gid'];
- $str_contact_allow = $orig_post['allow_cid'];
- $str_group_deny = $orig_post['deny_gid'];
- $str_contact_deny = $orig_post['deny_cid'];
+ $acl->set($orig_post);
$public_policy = $orig_post['public_policy'];
$private = $orig_post['item_private'];
}
- if((strlen($str_group_allow))
- || strlen($str_contact_allow)
- || strlen($str_group_deny)
- || strlen($str_contact_deny)
- || strlen($public_policy)
- || $private) {
+ if($private || $public_policy || $acl->is_private())
$private = 1;
- }
+
$location = $orig_post['location'];
$coord = $orig_post['coord'];
@@ -347,12 +338,32 @@ function item_post(&$a) {
$body = trim($_REQUEST['body']);
$item_flags = $orig_post['item_flags'];
- // force us to recalculate if we need to obscure this post
+ $item_origin = $orig_post['item_origin'];
+ $item_unseen = $orig_post['item_unseen'];
+ $item_starred = $orig_post['item_starred'];
+ $item_uplink = $orig_post['item_uplink'];
+ $item_consensus = $orig_post['item_consensus'];
+ $item_wall = $orig_post['item_wall'];
+ $item_thread_top = $orig_post['item_thread_top'];
+ $item_notshown = $orig_post['item_notshown'];
+ $item_nsfw = $orig_post['item_nsfw'];
+ $item_relay = $orig_post['item_relay'];
+ $item_mentionsme = $orig_post['item_mentionsme'];
+ $item_nocomment = $orig_post['item_nocomment'];
+ $item_obscured = $orig_post['item_obscured'];
+ $item_verified = $orig_post['item_verified'];
+ $item_retained = $orig_post['item_retained'];
+ $item_rss = $orig_post['item_rss'];
+ $item_deleted = $orig_post['item_deleted'];
+ $item_type = $orig_post['item_type'];
+ $item_hidden = $orig_post['item_hidden'];
+ $item_unpublished = $orig_post['item_unpublished'];
+ $item_delayed = $orig_post['item_delayed'];
+ $item_pending_remove = $orig_post['item_pending_remove'];
+ $item_blocked = $orig_post['item_blocked'];
+
- if($item_flags & ITEM_OBSCURED)
- $item_flags = ($item_flags ^ ITEM_OBSCURED);
- $item_restrict = $orig_post['item_restrict'];
$postopts = $orig_post['postopts'];
$created = $orig_post['created'];
$mid = $orig_post['mid'];
@@ -361,38 +372,12 @@ function item_post(&$a) {
}
else {
-
- // if coming from the API and no privacy settings are set,
- // use the user default permissions - as they won't have
- // been supplied via a form.
-
- if(($api_source)
- && (! array_key_exists('contact_allow',$_REQUEST))
- && (! array_key_exists('group_allow',$_REQUEST))
- && (! array_key_exists('contact_deny',$_REQUEST))
- && (! array_key_exists('group_deny',$_REQUEST))) {
- $str_group_allow = $channel['channel_allow_gid'];
- $str_contact_allow = $channel['channel_allow_cid'];
- $str_group_deny = $channel['channel_deny_gid'];
- $str_contact_deny = $channel['channel_deny_cid'];
- }
- elseif($walltowall) {
-
- // use the channel owner's default permissions
-
- $str_group_allow = $channel['channel_allow_gid'];
- $str_contact_allow = $channel['channel_allow_cid'];
- $str_group_deny = $channel['channel_deny_gid'];
- $str_contact_deny = $channel['channel_deny_cid'];
- }
- else {
-
- // use the posted permissions
-
- $str_group_allow = perms2str($_REQUEST['group_allow']);
- $str_contact_allow = perms2str($_REQUEST['contact_allow']);
- $str_group_deny = perms2str($_REQUEST['group_deny']);
- $str_contact_deny = perms2str($_REQUEST['contact_deny']);
+ if((! $walltowall) &&
+ ((array_key_exists('contact_allow',$_REQUEST))
+ || (array_key_exists('group_allow',$_REQUEST))
+ || (array_key_exists('contact_deny',$_REQUEST))
+ || (array_key_exists('group_deny',$_REQUEST)))) {
+ $acl->set_from_array($_REQUEST);
}
@@ -404,33 +389,15 @@ function item_post(&$a) {
$body .= trim($_REQUEST['attachment']);
$postopts = '';
- $private = (
- ( strlen($str_group_allow)
- || strlen($str_contact_allow)
- || strlen($str_group_deny)
- || strlen($str_contact_deny)
- || strlen($public_policy)
- ) ? 1 : 0);
+ $private = intval($acl->is_private() || ($public_policy));
// If this is a comment, set the permissions from the parent.
if($parent_item) {
$private = 0;
-
- if(($parent_item['item_private'])
- || strlen($parent_item['allow_cid'])
- || strlen($parent_item['allow_gid'])
- || strlen($parent_item['deny_cid'])
- || strlen($parent_item['deny_gid'])
- || strlen($parent_item['public_policy'])) {
- $private = (($parent_item['item_private']) ? $parent_item['item_private'] : 1);
- }
-
+ $acl->set($parent_item);
+ $private = intval($acl->is_private() || $parent_item['item_private']);
$public_policy = $parent_item['public_policy'];
- $str_contact_allow = $parent_item['allow_cid'];
- $str_group_allow = $parent_item['allow_gid'];
- $str_contact_deny = $parent_item['deny_cid'];
- $str_group_deny = $parent_item['deny_gid'];
$owner_hash = $parent_item['owner_xchan'];
}
@@ -485,6 +452,11 @@ function item_post(&$a) {
}
}
+ $gacl = $acl->get();
+ $str_contact_allow = $gacl['allow_cid'];
+ $str_group_allow = $gacl['allow_gid'];
+ $str_contact_deny = $gacl['deny_cid'];
+ $str_group_deny = $gacl['deny_gid'];
if($mimetype === 'text/bbcode') {
@@ -549,9 +521,6 @@ function item_post(&$a) {
$body = preg_replace_callback('/\[img(.*?)\](.*?)\[\/img\]/ism','red_zrlify_img_callback',$body);
-
-
-
$body = bb_translate_video($body);
/**
@@ -629,6 +598,7 @@ function item_post(&$a) {
if(preg_match_all('/(\[attachment\](.*?)\[\/attachment\])/',$body,$match)) {
$attachments = array();
foreach($match[2] as $mtch) {
+ $attach_link = '';
$hash = substr($mtch,0,strpos($mtch,','));
$rev = intval(substr($mtch,strpos($mtch,',')));
$r = attach_by_hash_nodata($hash,$rev);
@@ -641,7 +611,12 @@ function item_post(&$a) {
'revision' => $r['data']['revision']
);
}
- $body = str_replace($match[1],'',$body);
+ $ext = substr($r['data']['filename'],strrpos($r['data']['filename'],'.'));
+ if(strpos($r['data']['filetype'],'audio/') !== false)
+ $attach_link = '[audio]' . z_root() . '/attach/' . $r['data']['hash'] . '/' . $r['data']['revision'] . (($ext) ? $ext : '') . '[/audio]';
+ elseif(strpos($r['data']['filetype'],'video/') !== false)
+ $attach_link = '[video]' . z_root() . '/attach/' . $r['data']['hash'] . '/' . $r['data']['revision'] . (($ext) ? $ext : '') . '[/video]';
+ $body = str_replace($match[1],$attach_link,$body);
}
}
@@ -662,31 +637,27 @@ function item_post(&$a) {
}
}
- $item_unseen = 1;
-
+
+ $item_unseen = ((local_channel() != $profile_uid) ? 1 : 0);
+ $item_wall = (($post_type === 'wall' || $post_type === 'wall-comment') ? 1 : 0);
+ $item_origin = (($origin) ? 1 : 0);
+
// determine if this is a wall post
if($parent) {
- if($parent_item['item_flags'] & ITEM_WALL) {
- $item_flags = $item_flags | ITEM_WALL;
- }
+ $item_wall = $parent_item['item_wall'];
}
else {
if(! $webpage) {
- $item_flags = $item_flags | ITEM_WALL;
+ $item_wall = 1;
}
}
- if($origin)
- $item_flags = $item_flags | ITEM_ORIGIN;
if($moderated)
- $item_restrict = $item_restrict | ITEM_MODERATED;
+ $item_blocked = ITEM_MODERATED;
- if($webpage)
- $item_restrict = $item_restrict | $webpage;
-
if(! strlen($verb))
$verb = ACTIVITY_POST ;
@@ -710,14 +681,10 @@ function item_post(&$a) {
$datarray = array();
- if(! $parent) {
- $item_flags = $item_flags | ITEM_THREAD_TOP;
- }
+ $item_thead_top = ((! $parent) ? 1 : 0);
- if($consensus)
- $item_flags |= ITEM_CONSENSUS;
- if ((! $plink) && ($item_flags & ITEM_THREAD_TOP)) {
+ if ((! $plink) && ($item_thread_top)) {
$plink = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $mid;
}
@@ -747,18 +714,41 @@ function item_post(&$a) {
$datarray['deny_cid'] = $str_contact_deny;
$datarray['deny_gid'] = $str_group_deny;
$datarray['item_private'] = $private;
+ $datarray['item_wall'] = $item_wall;
$datarray['attach'] = $attachments;
$datarray['thr_parent'] = $thr_parent;
$datarray['postopts'] = $postopts;
- $datarray['item_restrict'] = $item_restrict;
- $datarray['item_flags'] = $item_flags;
+ $datarray['item_unseen'] = $item_unseen;
+ $datarray['item_wall'] = $item_wall;
+ $datarray['item_origin'] = $item_origin;
+ $datarray['item_type'] = $webpage;
+ $datarray['item_thread_top'] = $item_thread_top;
+ $datarray['item_unseen'] = $item_unseen;
+ $datarray['item_starred'] = $item_starred;
+ $datarray['item_uplink'] = $item_uplink;
+ $datarray['item_consensus'] = $item_consensus;
+ $datarray['item_notshown'] = $item_notshown;
+ $datarray['item_nsfw'] = $item_nsfw;
+ $datarray['item_relay'] = $item_relay;
+ $datarray['item_mentionsme'] = $item_mentionsme;
+ $datarray['item_nocomment'] = $item_nocomment;
+ $datarray['item_obscured'] = $item_obscured;
+ $datarray['item_verified'] = $item_verified;
+ $datarray['item_retained'] = $item_retained;
+ $datarray['item_rss'] = $item_rss;
+ $datarray['item_deleted'] = $item_deleted;
+ $datarray['item_hidden'] = $item_hidden;
+ $datarray['item_unpublished'] = $item_unpublished;
+ $datarray['item_delayed'] = $item_delayed;
+ $datarray['item_pending_remove'] = $item_pending_remove;
+ $datarray['item_blocked'] = $item_blocked;
+
$datarray['layout_mid'] = $layout_mid;
$datarray['public_policy'] = $public_policy;
$datarray['comment_policy'] = map_scope($channel['channel_w_comment']);
$datarray['term'] = $post_tags;
$datarray['plink'] = $plink;
$datarray['route'] = $route;
- $datarray['item_unseen'] = $item_unseen;
// preview mode - prepare the body for display and send it via json
@@ -803,17 +793,9 @@ function item_post(&$a) {
if($uid) {
if($channel['channel_hash'] === $datarray['author_xchan']) {
$datarray['sig'] = base64url_encode(rsa_sign($datarray['body'],$channel['channel_prvkey']));
- $datarray['item_flags'] = $datarray['item_flags'] | ITEM_VERIFIED;
+ $datarray['item_verified'] = 1;
}
}
-
- logger('Encrypting local storage');
- $key = get_config('system','pubkey');
- $datarray['item_flags'] = $datarray['item_flags'] | ITEM_OBSCURED;
- if($datarray['title'])
- $datarray['title'] = json_encode(crypto_encapsulate($datarray['title'],$key));
- if($datarray['body'])
- $datarray['body'] = json_encode(crypto_encapsulate($datarray['body'],$key));
}
if($orig_post) {
@@ -847,7 +829,7 @@ function item_post(&$a) {
// only send comment notification if this is a wall-to-wall comment,
// otherwise it will happen during delivery
- if(($datarray['owner_xchan'] != $datarray['author_xchan']) && ($parent_item['item_flags'] & ITEM_WALL)) {
+ if(($datarray['owner_xchan'] != $datarray['author_xchan']) && (intval($parent_item['item_wall']))) {
notification(array(
'type' => NOTIFY_COMMENT,
'from_xchan' => $datarray['author_xchan'],
@@ -877,7 +859,7 @@ function item_post(&$a) {
));
}
- if($uid && $uid == $profile_uid && (! $datarray['item_restrict'])) {
+ if($uid && $uid == $profile_uid && (is_item_normal($datarray))) {
q("update channel set channel_lastpost = '%s' where channel_id = %d",
dbesc(datetime_convert()),
intval($uid)
@@ -889,9 +871,8 @@ function item_post(&$a) {
// This way we don't see every picture in your new photo album posted to your wall at once.
// They will show up as people comment on them.
- if($parent_item['item_restrict'] & ITEM_HIDDEN) {
- $r = q("UPDATE `item` SET `item_restrict` = %d WHERE `id` = %d",
- intval($parent_item['item_restrict'] - ITEM_HIDDEN),
+ if(intval($parent_item['item_hidden'])) {
+ $r = q("UPDATE item SET item_hidden = 0 WHERE id = %d",
intval($parent_item['id'])
);
}
@@ -956,7 +937,7 @@ function item_content(&$a) {
if((argc() == 3) && (argv(1) === 'drop') && intval(argv(2))) {
require_once('include/items.php');
- $i = q("select id, uid, author_xchan, owner_xchan, source_xchan, item_restrict from item where id = %d limit 1",
+ $i = q("select id, uid, author_xchan, owner_xchan, source_xchan, item_type from item where id = %d limit 1",
intval(argv(2))
);
@@ -982,7 +963,7 @@ function item_content(&$a) {
// if this is a different page type or it's just a local delete
// but not by the item author or owner, do a simple deletion
- if($i[0]['item_restrict'] || ($local_delete && (! $can_delete))) {
+ if(intval($i[0]['item_type']) || ($local_delete && (! $can_delete))) {
drop_item($i[0]['id']);
}
else {
@@ -1018,6 +999,23 @@ function fix_attached_photo_permissions($uid,$xchan_hash,$body,
if(! strlen($image_uri))
continue;
$srch = '<' . $xchan_hash . '>';
+
+ $r = q("select folder from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($image_uri),
+ intval($uid)
+ );
+ if($r && $r[0]['folder']) {
+ $f = q("select * from attach where hash = '%s' and is_dir = 1 and uid = %d limit 1",
+ dbesc($r[0]['folder']),
+ intval($uid)
+ );
+ if(($f) && (($f[0]['allow_cid']) || ($f[0]['allow_gid']) || ($f[0]['deny_cid']) || ($f[0]['deny_gid']))) {
+ $str_contact_allow = $f[0]['allow_cid'];
+ $str_group_allow = $f[0]['allow_gid'];
+ $str_contact_deny = $f[0]['deny_cid'];
+ $str_group_deny = $f[0]['deny_gid'];
+ }
+ }
$r = q("SELECT id FROM photo
WHERE allow_cid = '%s' AND allow_gid = '' AND deny_cid = '' AND deny_gid = ''
@@ -1061,6 +1059,21 @@ function fix_attached_photo_permissions($uid,$xchan_hash,$body,
intval($uid)
);
}
+ $r = q("select id from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($image_uri),
+ intval($uid)
+ );
+ if($r) {
+ q("update attach SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s'
+ WHERE id = %d AND uid = %d",
+ dbesc($str_contact_allow),
+ dbesc($str_group_allow),
+ dbesc($str_contact_deny),
+ dbesc($str_group_deny),
+ intval($r[0]['id']),
+ intval($uid)
+ );
+ }
}
}
}
@@ -1100,17 +1113,15 @@ function item_check_service_class($channel_id,$iswebpage) {
$ret = array('success' => false, 'message' => '');
if ($iswebpage) {
- // note: we aren't counting comanche templates and blocks, only webpages
- $r = q("select count(id) as total from item where parent = id
- and ( item_restrict & %d ) > 0 and ( item_restrict & %d ) = 0 and uid = %d ",
- intval(ITEM_WEBPAGE),
- intval(ITEM_DELETED),
+ $r = q("select count(i.id) as total from item i
+ right join channel c on (i.author_xchan=c.channel_hash and i.uid=c.channel_id )
+ and i.parent=i.id and i.item_type = %d and i.item_deleted = 0 and i.uid= %d ",
+ intval(ITEM_TYPE_WEBPAGE),
intval($channel_id)
);
}
else {
- $r = q("select count(id) as total from item where parent = id and item_restrict = 0 and (item_flags & %d) > 0 and uid = %d ",
- intval(ITEM_WALL),
+ $r = q("select count(id) as total from item where parent = id and item_wall = 1 and uid = %d " . item_normal(),
intval($channel_id)
);
}
diff --git a/mod/layouts.php b/mod/layouts.php
index 689a31c8c..fd77cfc37 100644
--- a/mod/layouts.php
+++ b/mod/layouts.php
@@ -99,7 +99,7 @@ function layouts_content(&$a) {
dbesc(argv(3))
);
if($r) {
- header('Content-type: application/x-redmatrix-layout');
+ header('Content-type: application/x-hubzilla-layout');
header('Content-disposition: attachment; filename="' . $r[0]['sid'] . '.pdl"');
echo json_encode($r);
killme();
@@ -111,7 +111,7 @@ function layouts_content(&$a) {
// This lets you post pages at other people's channels.
$x = array(
- 'webpage' => ITEM_PDL,
+ 'webpage' => ITEM_TYPE_PDL,
'is_owner' => true,
'nickname' => $a->profile['channel_address'],
'bang' => '',
@@ -134,10 +134,10 @@ function layouts_content(&$a) {
$editor = status_editor($a,$x);
- $r = q("select iid, sid, mid, title, body, mimetype, created, edited from item_id left join item on item_id.iid = item.id
- where item_id.uid = %d and service = 'PDL' and item_restrict = %d order by item.created desc",
+ $r = q("select iid, sid, mid, title, body, mimetype, created, edited, item_type from item_id left join item on item_id.iid = item.id
+ where item_id.uid = %d and service = 'PDL' and item_type = %d order by item.created desc",
intval($owner),
- intval(ITEM_PDL)
+ intval(ITEM_TYPE_PDL)
);
$pages = null;
diff --git a/mod/like.php b/mod/like.php
index 8789b7633..42ff9bb8a 100755
--- a/mod/like.php
+++ b/mod/like.php
@@ -117,8 +117,7 @@ function like_content(&$a) {
}
elseif($obj_type == 'thing') {
- $r = q("select * from obj left join term on obj_obj = term_hash where term_hash != ''
- and obj_type = %d and term_hash = '%s' limit 1",
+ $r = q("select * from obj where obj_type = %d and obj_obj = '%s' limit 1",
intval(TERM_OBJ_THING),
dbesc(argv(2))
);
@@ -146,18 +145,18 @@ function like_content(&$a) {
$links = array();
$links[] = array('rel' => 'alternate', 'type' => 'text/html',
- 'href' => z_root() . '/thing/' . $r[0]['term_hash']);
+ 'href' => z_root() . '/thing/' . $r[0]['obj_obj']);
if($r[0]['imgurl'])
- $links[] = array('rel' => 'photo', 'href' => $r[0]['imgurl']);
+ $links[] = array('rel' => 'photo', 'href' => $r[0]['obj_imgurl']);
$target = json_encode(array(
'type' => $tgttype,
- 'title' => $r[0]['term'],
- 'id' => z_root() . '/thing/' . $r[0]['term_hash'],
+ 'title' => $r[0]['obj_term'],
+ 'id' => z_root() . '/thing/' . $r[0]['obj_obj'],
'link' => $links
));
- $plink = '[zrl=' . z_root() . '/thing/' . $r[0]['term_hash'] . ']' . $r[0]['term'] . '[/zrl]';
+ $plink = '[zrl=' . z_root() . '/thing/' . $r[0]['obj_obj'] . ']' . $r[0]['obj_term'] . '[/zrl]';
}
@@ -241,9 +240,10 @@ function like_content(&$a) {
// get the item. Allow linked photos (which are normally hidden) to be liked
- $r = q("SELECT * FROM item WHERE id = %d and (item_restrict = 0 or item_restrict = %d) LIMIT 1",
- intval($item_id),
- intval(ITEM_HIDDEN)
+ $r = q("SELECT * FROM item WHERE id = %d
+ and item_type = 0 and item_deleted = 0 and item_unpublished = 0
+ and item_delayed = 0 and item_pending_remove = 0 and item_blocked = 0 LIMIT 1",
+ intval($item_id)
);
if(! $item_id || (! $r)) {
@@ -303,7 +303,9 @@ function like_content(&$a) {
$multi_undo = 1;
}
- $r = q("SELECT id, parent, uid, verb FROM item WHERE verb in ( $verbs ) AND item_restrict = 0
+ $item_normal = item_normal();
+
+ $r = q("SELECT id, parent, uid, verb FROM item WHERE verb in ( $verbs ) $item_normal
AND author_xchan = '%s' AND ( parent = %d OR thr_parent = '%s') and uid = %d ",
dbesc($observer['xchan_hash']),
intval($item_id),
@@ -338,9 +340,12 @@ function like_content(&$a) {
$mid = item_message_id();
- if($extended_like) {
- $item_flags = ITEM_THREAD_TOP|ITEM_ORIGIN|ITEM_WALL;
+ $arr = array();
+ if($extended_like) {
+ $arr['item_thread_top'] = 1;
+ $arr['item_origin'] = 1;
+ $arr['item_wall'] = 1;
}
else {
$post_type = (($item['resource_type'] === 'photo') ? t('photo') : t('status'));
@@ -372,18 +377,19 @@ function like_content(&$a) {
),
));
- if(! ($item['item_flags'] & ITEM_THREAD_TOP))
+ if(! intval($item['item_thread_top']))
$post_type = 'comment';
- $item_flags = ITEM_ORIGIN | ITEM_NOTSHOWN;
- if($item['item_flags'] & ITEM_WALL)
- $item_flags |= ITEM_WALL;
+ $arr['item_origin'] = 1;
+ $arr['item_notshown'] = 1;
+
+ if(intval($item['item_wall']))
+ $arr['item_wall'] = 1;
// if this was a linked photo and was hidden, unhide it.
- if($item['item_restrict'] & ITEM_HIDDEN) {
- $r = q("update item set item_restrict = (item_restrict ^ %d) where id = %d",
- intval(ITEM_HIDDEN),
+ if(intval($item['item_hidden'])) {
+ $r = q("update item set item_hidden = 0 where id = %d",
intval($item['id'])
);
}
@@ -411,7 +417,6 @@ function like_content(&$a) {
killme();
- $arr = array();
if($extended_like) {
$ulink = '[zrl=' . $ch[0]['xchan_url'] . ']' . $ch[0]['xchan_name'] . '[/zrl]';
@@ -437,6 +442,7 @@ function like_content(&$a) {
$arr['aid'] = (($extended_like) ? $ch[0]['channel_account_id'] : $owner_aid);
$arr['uid'] = $owner_uid;
$arr['item_flags'] = $item_flags;
+ $arr['item_wall'] = $item_wall;
$arr['parent_mid'] = (($extended_like) ? $mid : $item['mid']);
$arr['owner_xchan'] = (($extended_like) ? $ch[0]['xchan_hash'] : $thread_owner['xchan_hash']);
$arr['author_xchan'] = $observer['xchan_hash'];
@@ -480,9 +486,9 @@ function like_content(&$a) {
intval($post_id),
dbesc($mid),
dbesc($activity),
- dbesc(($tgttype)?$tgttype:$objtype),
+ dbesc(($tgttype)? $tgttype : $objtype),
dbesc($obj_id),
- dbesc(json_encode(($target)?$target:$object))
+ dbesc(($target) ? $target : $object)
);
};
diff --git a/mod/parse_url.php b/mod/linkinfo.php
index 2a6f7663e..c3df1305d 100644
--- a/mod/parse_url.php
+++ b/mod/linkinfo.php
@@ -1,29 +1,180 @@
<?php
-require_once('include/oembed.php');
-
-/* To-Do
-https://developers.google.com/+/plugins/snippet/
-
-<meta itemprop="name" content="Toller Titel">
-<meta itemprop="description" content="Eine tolle Beschreibung">
-<meta itemprop="image" content="http://maple.libertreeproject.org/images/tree-icon.png">
-
-<body itemscope itemtype="http://schema.org/Product">
- <h1 itemprop="name">Shiny Trinket</h1>
- <img itemprop="image" src="{image-url}" />
- <p itemprop="description">Shiny trinkets are shiny.</p>
-</body>
-*/
-
-if(!function_exists('deletenode')) {
- function deletenode(&$doc, $node)
- {
- $xpath = new DomXPath($doc);
- $list = $xpath->query("//".$node);
- foreach ($list as $child)
- $child->parentNode->removeChild($child);
+
+function arr_add_hashes(&$item,$k) {
+ $item = '#' . $item;
+}
+
+
+
+function linkinfo_content(&$a) {
+
+ logger('linkinfo: ' . print_r($_REQUEST,true));
+
+ $text = null;
+ $str_tags = '';
+
+
+ $br = "\n";
+
+ if(x($_GET,'binurl'))
+ $url = trim(hex2bin($_GET['binurl']));
+ else
+ $url = trim($_GET['url']);
+
+ if((substr($url,0,1) != '/') && (substr($url,0,4) != 'http'))
+ $url = 'http://' . $url;
+
+
+ if($_GET['title'])
+ $title = strip_tags(trim($_GET['title']));
+
+ if($_GET['description'])
+ $text = strip_tags(trim($_GET['description']));
+
+ if($_GET['tags']) {
+ $arr_tags = str_getcsv($_GET['tags']);
+ if(count($arr_tags)) {
+ array_walk($arr_tags,'arr_add_hashes');
+ $str_tags = $br . implode(' ',$arr_tags) . $br;
+ }
+ }
+
+ logger('linkinfo: ' . $url);
+
+ $result = z_fetch_url($url,false,0,array('novalidate' => true, 'nobody' => true));
+ if($result['success']) {
+ $hdrs=array();
+ $h = explode("\n",$result['header']);
+ foreach ($h as $l) {
+ list($k,$v) = array_map("trim", explode(":", trim($l), 2));
+ $hdrs[$k] = $v;
+ }
+ if (array_key_exists('Content-Type', $hdrs))
+ $type = $hdrs['Content-Type'];
+ if($type) {
+ $zrl = is_matrix_url($url);
+ if(stripos($type,'image/') !== false) {
+ if($zrl)
+ echo $br . '[zmg]' . $url . '[/zmg]' . $br;
+ else
+ echo $br . '[img]' . $url . '[/img]' . $br;
+ killme();
+ }
+ if(stripos($type,'video/') !== false) {
+ if($zrl)
+ echo $br . '[zvideo]' . $url . '[/zvideo]' . $br;
+ else
+ echo $br . '[video]' . $url . '[/video]' . $br;
+ killme();
+ }
+ if(stripos($type,'audio/') !== false) {
+ if($zrl)
+ echo $br . '[zaudio]' . $url . '[/zaudio]' . $br;
+ else
+ echo $br . '[audio]' . $url . '[/audio]' . $br;
+ killme();
+ }
+ }
}
+
+ $template = $br . '#^[url=%s]%s[/url]%s' . $br;
+
+ $arr = array('url' => $url, 'text' => '');
+
+ call_hooks('parse_link', $arr);
+
+ if(strlen($arr['text'])) {
+ echo $arr['text'];
+ killme();
+ }
+
+ $x = oembed_process($url);
+ if($x) {
+ echo $x;
+ killme();
+ }
+
+ if($url && $title && $text) {
+
+ $text = $br . '[quote]' . trim($text) . '[/quote]' . $br;
+
+ $title = str_replace(array("\r","\n"),array('',''),$title);
+
+ $result = sprintf($template,$url,($title) ? $title : $url,$text) . $str_tags;
+
+ logger('linkinfo (unparsed): returns: ' . $result);
+
+ echo $result;
+ killme();
+ }
+
+ $siteinfo = parseurl_getsiteinfo($url);
+
+ // If this is a Red site, use zrl rather than url so they get zids sent to them by default
+
+ if( x($siteinfo,'generator') && (strpos($siteinfo['generator'],PLATFORM_NAME . ' ') === 0))
+ $template = str_replace('url','zrl',$template);
+
+ if($siteinfo["title"] == "") {
+ echo sprintf($template,$url,$url,'') . $str_tags;
+ killme();
+ } else {
+ $text = $siteinfo["text"];
+ $title = $siteinfo["title"];
+ }
+
+ $image = "";
+
+ if(sizeof($siteinfo["images"]) > 0){
+ /* Execute below code only if image is present in siteinfo */
+
+ $total_images = 0;
+ $max_images = get_config('system','max_bookmark_images');
+ if($max_images === false)
+ $max_images = 2;
+ else
+ $max_images = intval($max_images);
+
+ foreach ($siteinfo["images"] as $imagedata) {
+ if ($url) {
+ $image .= sprintf('[url=%s]', $url);
+ }
+ $image .= '[img='.$imagedata["width"].'x'.$imagedata["height"].']'.$imagedata["src"].'[/img]';
+ if ($url) {
+ $image .= '[/url]';
+ }
+ $image .= "\n";
+ $total_images ++;
+ if($max_images && $max_images >= $total_images)
+ break;
+ }
+ }
+
+ if(strlen($text)) {
+ $text = $br.'[quote]'.trim($text).'[/quote]'.$br ;
+ }
+
+ if($image) {
+ $text = $br.$br.$image.$text;
+ }
+ $title = str_replace(array("\r","\n"),array('',''),$title);
+
+ $result = sprintf($template,$url,($title) ? $title : $url,$text) . $str_tags;
+
+ logger('linkinfo: returns: ' . $result, LOGGER_DEBUG);
+
+ echo trim($result);
+ killme();
+
+}
+
+
+function deletexnode(&$doc, $node) {
+ $xpath = new DomXPath($doc);
+ $list = $xpath->query("//".$node);
+ foreach ($list as $child)
+ $child->parentNode->removeChild($child);
}
function completeurl($url, $scheme) {
@@ -53,6 +204,7 @@ function completeurl($url, $scheme) {
return($complete);
}
+
function parseurl_getsiteinfo($url) {
$siteinfo = array();
@@ -70,17 +222,17 @@ function parseurl_getsiteinfo($url) {
$doc = new DOMDocument();
@$doc->loadHTML($body);
- deletenode($doc, 'style');
- deletenode($doc, 'script');
- deletenode($doc, 'option');
- deletenode($doc, 'h1');
- deletenode($doc, 'h2');
- deletenode($doc, 'h3');
- deletenode($doc, 'h4');
- deletenode($doc, 'h5');
- deletenode($doc, 'h6');
- deletenode($doc, 'ol');
- deletenode($doc, 'ul');
+ deletexnode($doc, 'style');
+ deletexnode($doc, 'script');
+ deletexnode($doc, 'option');
+ deletexnode($doc, 'h1');
+ deletexnode($doc, 'h2');
+ deletexnode($doc, 'h3');
+ deletexnode($doc, 'h4');
+ deletexnode($doc, 'h5');
+ deletexnode($doc, 'h6');
+ deletexnode($doc, 'ol');
+ deletexnode($doc, 'ul');
$xpath = new DomXPath($doc);
@@ -215,167 +367,3 @@ function parseurl_getsiteinfo($url) {
return($siteinfo);
}
-
-function arr_add_hashes(&$item,$k) {
- $item = '#' . $item;
-}
-
-function parse_url_content(&$a) {
-
- $text = null;
- $str_tags = '';
-
-
- $br = "\n";
-
- if(x($_GET,'binurl'))
- $url = trim(hex2bin($_GET['binurl']));
- else
- $url = trim($_GET['url']);
-
- if((substr($url,0,1) != '/') && (substr($url,0,4) != 'http'))
- $url = 'http://' . $url;
-
-
- if($_GET['title'])
- $title = strip_tags(trim($_GET['title']));
-
- if($_GET['description'])
- $text = strip_tags(trim($_GET['description']));
-
- if($_GET['tags']) {
- $arr_tags = str_getcsv($_GET['tags']);
- if(count($arr_tags)) {
- array_walk($arr_tags,'arr_add_hashes');
- $str_tags = $br . implode(' ',$arr_tags) . $br;
- }
- }
-
- logger('parse_url: ' . $url);
-
- $result = z_fetch_url($url,false,0,array('novalidate' => true, 'nobody' => true));
- if($result['success']) {
- $hdrs=array();
- $h = explode("\n",$result['header']);
- foreach ($h as $l) {
- list($k,$v) = array_map("trim", explode(":", trim($l), 2));
- $hdrs[$k] = $v;
- }
- if (array_key_exists('Content-Type', $hdrs))
- $type = $hdrs['Content-Type'];
- if($type) {
- $zrl = is_matrix_url($url);
- if(stripos($type,'image/') !== false) {
- if($zrl)
- echo $br . '[zmg]' . $url . '[/zmg]' . $br;
- else
- echo $br . '[img]' . $url . '[/img]' . $br;
- killme();
- }
- if(stripos($type,'video/') !== false) {
- if($zrl)
- echo $br . '[zvideo]' . $url . '[/zvideo]' . $br;
- else
- echo $br . '[video]' . $url . '[/video]' . $br;
- killme();
- }
- if(stripos($type,'audio/') !== false) {
- if($zrl)
- echo $br . '[zaudio]' . $url . '[/zaudio]' . $br;
- else
- echo $br . '[audio]' . $url . '[/audio]' . $br;
- killme();
- }
- }
- }
-
- $template = $br . '#^[url=%s]%s[/url]%s' . $br;
-
- $arr = array('url' => $url, 'text' => '');
-
- call_hooks('parse_link', $arr);
-
- if(strlen($arr['text'])) {
- echo $arr['text'];
- killme();
- }
-
- $x = oembed_process($url);
- if($x) {
- echo $x;
- killme();
- }
-
- if($url && $title && $text) {
-
-
- $text = $br . '[quote]' . trim($text) . '[/quote]' . $br;
-
- $title = str_replace(array("\r","\n"),array('',''),$title);
-
- $result = sprintf($template,$url,($title) ? $title : $url,$text) . $str_tags;
-
- logger('parse_url (unparsed): returns: ' . $result);
-
- echo $result;
- killme();
- }
-
- $siteinfo = parseurl_getsiteinfo($url);
-
- // If this is a Red site, use zrl rather than url so they get zids sent to them by default
-
- if( x($siteinfo,'generator') && (strpos($siteinfo['generator'],PLATFORM_NAME . ' ') === 0))
- $template = str_replace('url','zrl',$template);
-
- if($siteinfo["title"] == "") {
- echo sprintf($template,$url,$url,'') . $str_tags;
- killme();
- } else {
- $text = $siteinfo["text"];
- $title = $siteinfo["title"];
- }
-
- $image = "";
-
- if(sizeof($siteinfo["images"]) > 0){
- /* Execute below code only if image is present in siteinfo */
-
- $total_images = 0;
- $max_images = get_config('system','max_bookmark_images');
- if($max_images === false)
- $max_images = 2;
- else
- $max_images = intval($max_images);
-
- foreach ($siteinfo["images"] as $imagedata) {
- if ($url) {
- $image .= sprintf('[url=%s]', $url);
- }
- $image .= '[img='.$imagedata["width"].'x'.$imagedata["height"].']'.$imagedata["src"].'[/img]';
- if ($url) {
- $image .= '[/url]';
- }
- $image .= "\n";
- $total_images ++;
- if($max_images && $max_images >= $total_images)
- break;
- }
- }
-
- if(strlen($text)) {
- $text = $br.'[quote]'.trim($text).'[/quote]'.$br ;
- }
-
- if($image) {
- $text = $br.$br.$image.$text;
- }
- $title = str_replace(array("\r","\n"),array('',''),$title);
-
- $result = sprintf($template,$url,($title) ? $title : $url,$text) . $str_tags;
-
- logger('parse_url: returns: ' . $result, LOGGER_DEBUG);
-
- echo trim($result);
- killme();
-}
diff --git a/mod/locs.php b/mod/locs.php
index 5b04bb343..3f8bd9029 100644
--- a/mod/locs.php
+++ b/mod/locs.php
@@ -22,13 +22,10 @@ function locs_post(&$a) {
return;
}
- $r = q("update hubloc set hubloc_flags = (hubloc_flags - %d) where (hubloc_flags & %d)>0 and hubloc_hash = '%s' ",
- intval(HUBLOC_FLAGS_PRIMARY),
- intval(HUBLOC_FLAGS_PRIMARY),
+ $r = q("update hubloc set hubloc_primary = 0 where hubloc_primary = 1 and hubloc_hash = '%s' ",
dbesc($channel['channel_hash'])
);
- $r = q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_id = %d and hubloc_hash = '%s'",
- intval(HUBLOC_FLAGS_PRIMARY),
+ $r = q("update hubloc set hubloc_primary = 1 where hubloc_id = %d and hubloc_hash = '%s'",
intval($hubloc_id),
dbesc($channel['channel_hash'])
);
@@ -42,7 +39,7 @@ function locs_post(&$a) {
$hubloc_id = intval($_REQUEST['drop']);
if($hubloc_id) {
- $r = q("select hubloc_id, hubloc_flags from hubloc where hubloc_id = %d and hubloc_url != '%s' and hubloc_hash = '%s' limit 1",
+ $r = q("select * from hubloc where hubloc_id = %d and hubloc_url != '%s' and hubloc_hash = '%s' limit 1",
intval($hubloc_id),
dbesc(z_root()),
dbesc($channel['channel_hash'])
@@ -52,12 +49,12 @@ function locs_post(&$a) {
notice( t('Location not found.') . EOL);
return;
}
- if($r[0]['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) {
+ if(intval($r[0]['hubloc_primary'])) {
notice( t('Primary location cannot be removed.') . EOL);
return;
}
- $r = q("update hubloc set hubloc_flags = (hubloc_flags | %d) where hubloc_id = %d and hubloc_hash = '%s'",
- intval(HUBLOC_FLAGS_DELETED),
+
+ $r = q("update hubloc set hubloc_deleted = 1 where hubloc_id = %d and hubloc_hash = '%s'",
intval($hubloc_id),
dbesc($channel['channel_hash'])
);
@@ -72,7 +69,6 @@ function locs_post(&$a) {
function locs_content(&$a) {
-
if(! local_channel()) {
notice( t('Permission denied.') . EOL);
return;
@@ -91,8 +87,8 @@ function locs_content(&$a) {
for($x = 0; $x < count($r); $x ++) {
- $r[$x]['primary'] = (($r[$x]['hubloc_flags'] & HUBLOC_FLAGS_PRIMARY) ? true : false);
- $r[$x]['deleted'] = (($r[$x]['hubloc_flags'] & HUBLOC_FLAGS_DELETED) ? true : false);
+ $r[$x]['primary'] = (intval($r[$x]['hubloc_primary']) ? true : false);
+ $r[$x]['deleted'] = (intval($r[$x]['hubloc_deleted']) ? true : false);
}
diff --git a/mod/mail.php b/mod/mail.php
index 1b0ea17c4..152db3231 100644
--- a/mod/mail.php
+++ b/mod/mail.php
@@ -145,8 +145,7 @@ function mail_content(&$a) {
if(! intval(argv(2)))
return;
$cmd = argv(1);
- $r = q("update mail set mail_flags = mail_flags | %d where id = %d and channel_id = %d",
- intval(MAIL_RECALLED),
+ $r = q("update mail set mail_recalled = 1 where id = %d and channel_id = %d",
intval(argv(2)),
intval(local_channel())
);
@@ -312,7 +311,7 @@ function mail_content(&$a) {
'delete' => t('Delete message'),
'recall' => t('Recall message'),
'can_recall' => (($channel['channel_hash'] == $message['from_xchan']) ? true : false),
- 'is_recalled' => (($message['mail_flags'] & MAIL_RECALLED) ? t('Message has been recalled.') : ''),
+ 'is_recalled' => (intval($message['mail_recalled']) ? t('Message has been recalled.') : ''),
'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'),
);
diff --git a/mod/manage.php b/mod/manage.php
index 3712be6f1..b609ede44 100644
--- a/mod/manage.php
+++ b/mod/manage.php
@@ -41,9 +41,8 @@ function manage_content(&$a) {
$channels = null;
if(local_channel()) {
- $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel.channel_account_id = %d and not ( channel_pageflags & %d )>0 order by channel_name ",
- intval(get_account_id()),
- intval(PAGE_REMOVED)
+ $r = q("select channel.*, xchan.* from channel left join xchan on channel.channel_hash = xchan.xchan_hash where channel.channel_account_id = %d and channel_removed = 0 order by channel_name ",
+ intval(get_account_id())
);
$account = get_app()->get_account();
@@ -56,14 +55,14 @@ function manage_content(&$a) {
$channels[$x]['default_links'] = '1';
- $c = q("SELECT id, item_restrict, item_flags FROM item
- WHERE item_restrict = 0 and item_unseen = 1 and uid = %d",
+ $c = q("SELECT id, item_wall FROM item
+ WHERE item_unseen = 1 and uid = %d " . item_normal(),
intval($channels[$x]['channel_id'])
);
if($c) {
foreach ($c as $it) {
- if($it['item_flags'] & ITEM_WALL)
+ if(intval($it['item_wall']))
$channels[$x]['home'] ++;
else
$channels[$x]['network'] ++;
@@ -71,20 +70,16 @@ function manage_content(&$a) {
}
- $intr = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d)>0 and not ((abook_flags & %d)>0 or (xchan_flags & %d)>0)",
- intval($channels[$x]['channel_id']),
- intval(ABOOK_FLAG_PENDING),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_IGNORED),
- intval(XCHAN_FLAGS_DELETED|XCHAN_FLAGS_ORPHAN)
+ $intr = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and abook_pending = 1 and abook_self = 0 and abook_ignored = 0 and xchan_deleted = 0 and xchan_orphan = 0 ",
+ intval($channels[$x]['channel_id'])
);
if($intr)
$channels[$x]['intros'] = intval($intr[0]['total']);
- $mails = q("SELECT count(id) as total from mail WHERE channel_id = %d AND not (mail_flags & %d)>0 and from_xchan != '%s' ",
+ $mails = q("SELECT count(id) as total from mail WHERE channel_id = %d AND mail_seen = 0 and from_xchan != '%s' ",
intval($channels[$x]['channel_id']),
- intval(MAIL_SEEN),
dbesc($channels[$x]['channel_hash'])
);
@@ -127,9 +122,8 @@ function manage_content(&$a) {
}
}
- $r = q("select count(channel_id) as total from channel where channel_account_id = %d and not ( channel_pageflags & %d )>0",
- intval(get_account_id()),
- intval(PAGE_REMOVED)
+ $r = q("select count(channel_id) as total from channel where channel_account_id = %d and channel_removed = 0",
+ intval(get_account_id())
);
$limit = account_service_class_fetch(get_account_id(),'total_identities');
if($limit !== false) {
diff --git a/mod/message.php b/mod/message.php
index 4a1ff26d1..9cf4b6987 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -25,7 +25,6 @@ function message_content(&$a) {
$cipher = 'aes256';
-
$tpl = get_markup_template('mail_head.tpl');
$header = replace_macros($tpl, array(
'$messages' => t('Messages'),
@@ -49,7 +48,6 @@ function message_content(&$a) {
// private_messages_list() can do other more complicated stuff, for now keep it simple
-
$r = private_messages_list(local_channel(), '', $a->pager['start'], $a->pager['itemspage']);
if(! $r) {
diff --git a/mod/mitem.php b/mod/mitem.php
index bc93165ac..0fadd1548 100644
--- a/mod/mitem.php
+++ b/mod/mitem.php
@@ -125,12 +125,7 @@ function mitem_content(&$a) {
$menu_names[] = $menus['menu_name'];
}
- $perm_defaults = array(
- 'allow_cid' => $channel['channel_allow_cid'],
- 'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid']
- );
+ $acl = new AccessList($channel);
$lockstate = (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock');
@@ -151,7 +146,7 @@ function mitem_content(&$a) {
'$menu_id' => $a->data['menu']['menu_id'],
'$permissions' => t('Menu Item Permissions'),
'$permdesc' => t("\x28click to open/close\x29"),
- '$aclselect' => populate_acl($perm_defaults,false),
+ '$aclselect' => populate_acl($acl->get(),false),
'$mitem_desc' => array('mitem_desc', t('Link Name'), '', 'Visible name of the link','*'),
'$mitem_link' => array('mitem_link', t('Link or Submenu Target'), '', t('Enter URL of the link or select a menu name to create a submenu'), '*', 'list="menu-names"'),
'$usezid' => array('usezid', t('Use magic-auth if available'), true, '', array(t('No'), t('Yes'))),
diff --git a/mod/mood.php b/mod/mood.php
index 7663b2632..92a4f391b 100755
--- a/mod/mood.php
+++ b/mod/mood.php
@@ -61,9 +61,6 @@ function mood_init(&$a) {
$mid = item_message_id();
$action = sprintf( t('%1$s is %2$s','mood'), '[zrl=' . $poster['xchan_url'] . ']' . $poster['xchan_name'] . '[/zrl]' , $verbs[$verb]);
- $item_flags = ITEM_WALL|ITEM_ORIGIN;
- if(! $parent_mid)
- $item_flags |= ITEM_THREAD_TOP;
$arr = array();
@@ -71,7 +68,6 @@ function mood_init(&$a) {
$arr['uid'] = $uid;
$arr['mid'] = $mid;
$arr['parent_mid'] = (($parent_mid) ? $parent_mid : $mid);
- $arr['item_flags'] = $item_flags;
$arr['author_xchan'] = $poster['xchan_hash'];
$arr['owner_xchan'] = (($parent_mid) ? $r[0]['owner_xchan'] : $poster['xchan_hash']);
$arr['title'] = '';
@@ -82,8 +78,13 @@ function mood_init(&$a) {
$arr['item_private'] = $private;
$arr['verb'] = $activity;
$arr['body'] = $action;
+ $arr['item_origin'] = 1;
+ $arr['item_wall'] = 1;
+ $arr['item_unseen'] = 1;
+ if(! $parent_mid)
+ $item['item_thread_top'] = 1;
- if ((! $arr['plink']) && ($arr['item_flags'] & ITEM_THREAD_TOP)) {
+ if ((! $arr['plink']) && intval($arr['item_thread_top'])) {
$arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
}
diff --git a/mod/network.php b/mod/network.php
index e8630278a..d5e305687 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -40,7 +40,7 @@ function network_content(&$a, $update = 0, $load = false) {
call_hooks('network_content_init', $arr);
$channel = $a->get_channel();
-
+ $item_normal = item_normal();
$datequery = $datequery2 = '';
@@ -176,12 +176,12 @@ function network_content(&$a, $update = 0, $load = false) {
$sql_options = (($star)
- ? " and (item_flags & " . intval(ITEM_STARRED) . ") > 0"
+ ? " and item_starred = 1 "
: '');
$sql_nets = '';
- $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE (item_flags & " . intval(ITEM_THREAD_TOP) . ")>0 $sql_options ) ";
+ $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE item_thread_top = 1 $sql_options ) ";
if($group) {
$contact_str = '';
@@ -198,7 +198,7 @@ function network_content(&$a, $update = 0, $load = false) {
info( t('Collection is empty'));
}
- $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str )) or allow_gid like '" . protect_sprintf('%<' . dbesc($group_hash) . '>%') . "' ) and id = parent and item_restrict = 0 ) ";
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str )) or allow_gid like '" . protect_sprintf('%<' . dbesc($group_hash) . '>%') . "' ) and id = parent $item_normal ) ";
$x = group_rec_byhash(local_channel(), $group_hash);
@@ -216,12 +216,12 @@ function network_content(&$a, $update = 0, $load = false) {
elseif($cid) {
- $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and not ( abook_flags & " . intval(ABOOK_FLAG_BLOCKED) . ") > 0 limit 1",
+ $r = q("SELECT abook.*, xchan.* from abook left join xchan on abook_xchan = xchan_hash where abook_id = %d and abook_channel = %d and abook_blocked = 0 limit 1",
intval($cid),
intval(local_channel())
);
if($r) {
- $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_channel()) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) and item_restrict = 0 ) ";
+ $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND uid = " . intval(local_channel()) . " AND ( author_xchan = '" . dbesc($r[0]['abook_xchan']) . "' or owner_xchan = '" . dbesc($r[0]['abook_xchan']) . "' ) $item_normal ) ";
$title = replace_macros(get_markup_template("section_title.tpl"),array(
'$title' => t('Connection: ') . $r[0]['xchan_name']
));
@@ -324,9 +324,8 @@ function network_content(&$a, $update = 0, $load = false) {
}
if($conv) {
- $sql_extra .= sprintf(" AND parent IN (SELECT distinct(parent) from item where ( author_xchan like '%s' or ( item_flags & %d ) > 0) and item_restrict = 0 ) ",
- dbesc(protect_sprintf($channel['channel_hash'])),
- intval(ITEM_MENTIONSME)
+ $sql_extra .= sprintf(" AND parent IN (SELECT distinct(parent) from item where ( author_xchan like '%s' or item_mentionsme = 1 )) ",
+ dbesc(protect_sprintf($channel['channel_hash']))
);
}
@@ -405,12 +404,11 @@ function network_content(&$a, $update = 0, $load = false) {
$items = q("SELECT item.*, item.id AS item_id, received FROM item
left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids )
- WHERE true $uids AND item_restrict = 0
- and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
+ WHERE true $uids $item_normal
+ and (abook.abook_blocked = 0 or abook.abook_flags is null)
$simple_update
$sql_extra $sql_nets
- ORDER BY item.received DESC $pager_sql ",
- intval(ABOOK_FLAG_BLOCKED)
+ ORDER BY item.received DESC $pager_sql "
);
require_once('include/items.php');
@@ -434,12 +432,11 @@ function network_content(&$a, $update = 0, $load = false) {
$r = q("SELECT distinct item.id AS item_id, $ordering FROM item
left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids )
- WHERE true $uids AND item.item_restrict = 0
+ WHERE true $uids $item_normal
AND item.parent = item.id
- and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
+ and (abook.abook_blocked = 0 or abook.abook_flags is null)
$sql_extra3 $sql_extra $sql_nets
- ORDER BY $ordering DESC $pager_sql ",
- intval(ABOOK_FLAG_BLOCKED)
+ ORDER BY $ordering DESC $pager_sql "
);
}
@@ -447,10 +444,9 @@ function network_content(&$a, $update = 0, $load = false) {
// this is an update
$r = q("SELECT item.parent AS item_id FROM item
left join abook on ( item.owner_xchan = abook.abook_xchan $abook_uids )
- WHERE true $uids AND item.item_restrict = 0 $simple_update
- and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
- $sql_extra3 $sql_extra $sql_nets ",
- intval(ABOOK_FLAG_BLOCKED)
+ WHERE true $uids $item_normal $simple_update
+ and (abook.abook_blocked = 0 or abook.abook_flags is null)
+ $sql_extra3 $sql_extra $sql_nets "
);
$_SESSION['loadtime'] = datetime_convert();
}
@@ -464,7 +460,7 @@ function network_content(&$a, $update = 0, $load = false) {
$parents_str = ids_to_querystr($r,'item_id');
$items = q("SELECT item.*, item.id AS item_id FROM item
- WHERE true $uids AND item.item_restrict = 0
+ WHERE true $uids $item_normal
AND item.parent IN ( %s )
$sql_extra ",
dbesc($parents_str)
@@ -500,7 +496,7 @@ function network_content(&$a, $update = 0, $load = false) {
}
if(($update_unseen) && (! $firehose))
- $r = q("UPDATE item SET item_unseen = 0 where item_unseen = 1 AND uid = %d $update_unseen ",
+ $r = q("UPDATE item SET item_unseen = 0 WHERE item_unseen = 1 AND uid = %d $update_unseen ",
intval(local_channel())
);
diff --git a/mod/oexchange.php b/mod/oexchange.php
index a684bd5d8..867cea6f2 100644
--- a/mod/oexchange.php
+++ b/mod/oexchange.php
@@ -47,7 +47,7 @@ function oexchange_content(&$a) {
$tags = (((x($_REQUEST,'tags')) && strlen($_REQUEST['tags']))
? '&tags=' . urlencode(notags(trim($_REQUEST['tags']))) : '');
- $ret = z_fetch_url($a->get_baseurl() . '/parse_url?f=&url=' . $url . $title . $description . $tags);
+ $ret = z_fetch_url($a->get_baseurl() . '/urlinfo?f=&url=' . $url . $title . $description . $tags);
if($ret['success'])
$s = $ret['body'];
diff --git a/mod/openid.php b/mod/openid.php
index 1af95a81c..b9ca672a9 100644
--- a/mod/openid.php
+++ b/mod/openid.php
@@ -131,8 +131,8 @@ function openid_content(&$a) {
$x = q("insert into xchan ( xchan_hash, xchan_guid, xchan_guid_sig, xchan_pubkey, xchan_photo_mimetype,
xchan_photo_l, xchan_addr, xchan_url, xchan_connurl, xchan_follow, xchan_connpage, xchan_name, xchan_network, xchan_photo_date,
- xchan_name_date, xchan_flags)
- values ( '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d) ",
+ xchan_name_date, xchan_hidden)
+ values ( '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', 1) ",
dbesc($url),
dbesc(''),
dbesc(''),
@@ -147,8 +147,7 @@ function openid_content(&$a) {
dbesc($name),
dbesc($network),
dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- intval(XCHAN_FLAGS_HIDDEN)
+ dbesc(datetime_convert())
);
if($x) {
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
@@ -156,7 +155,7 @@ function openid_content(&$a) {
);
if($r) {
- $photos = import_profile_photo($pphoto,$url);
+ $photos = import_xchan_photo($pphoto,$url);
if($photos) {
$z = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s',
xchan_photo_s = '%s', xchan_photo_mimetype = '%s' where xchan_hash = '%s'",
diff --git a/mod/p.php b/mod/p.php
deleted file mode 100644
index 924fd7eba..000000000
--- a/mod/p.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php /** @file */
-
-require_once('include/bb2diaspora.php');
-
-// used in Diaspora communications to provide a server copy of a sent post in XML format.
-
-function p_init(&$a) {
-
- if(argc() < 2)
- http_status_exit(401);
-
- $mid = str_replace('.xml','',argv(1));
-
- $r = q("select * from item where mid = '%s' and (item_flags & %d)>0 and item_private = 0 limit 1",
- dbesc($mid),
- intval(ITEM_WALL)
- );
-
-
- if((! $r) || (! perm_is_allowed($r[0]['uid'],'','view_stream')))
- http_status_exit(404);
-
-
- $c = q("select * from channel where channel_id = %d limit 1",
- intval($r[0]['uid'])
- );
-
- if(! $c)
- http_status_exit(404);
-
- $myaddr = $c[0]['channel_address'] . '@' . $a->get_hostname();
-
- $item = $r[0];
-
- $title = $item['title'];
- $body = bb2diaspora_itembody($item);
- $created = datetime_convert('UTC','UTC',$item['created'],'Y-m-d H:i:s \U\T\C');
-
- $tpl = get_markup_template('diaspora_post.tpl');
- $msg = replace_macros($tpl, array(
- '$body' => xmlify($body),
- '$guid' => $item['mid'],
- '$handle' => xmlify($myaddr),
- '$public' => 'true',
- '$created' => $created,
- '$provider' => (($item['app']) ? $item['app'] : t('$projectname'))
- ));
-
- header('Content-type: text/xml');
- echo $msg;
- killme();
-} \ No newline at end of file
diff --git a/mod/page.php b/mod/page.php
index 3cb63a2bc..b635a60f2 100644
--- a/mod/page.php
+++ b/mod/page.php
@@ -62,12 +62,12 @@ function page_init(&$a) {
$sql_options = item_permissions_sql($u[0]['channel_id']);
$r = q("select item.* from item left join item_id on item.id = item_id.iid
- where item.uid = %d and sid = '%s' and (( service = 'WEBPAGE' and
- item_restrict = %d ) or ( service = 'PDL' and item_restrict = %d )) $sql_options $revision limit 1",
+ where item.uid = %d and sid = '%s' and (( service = 'WEBPAGE' and item_type = %d )
+ OR ( service = 'PDL' AND item_type = %d )) $sql_options $revision limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
- intval(ITEM_WEBPAGE),
- intval(ITEM_PDL)
+ intval(ITEM_TYPE_WEBPAGE),
+ intval(ITEM_TYPE_PDL)
);
if(! $r) {
@@ -75,10 +75,10 @@ function page_init(&$a) {
$x = q("select item.* from item left join item_id on item.id = item_id.iid
where item.uid = %d and sid = '%s' and service = 'WEBPAGE' and
- item_restrict = %d $revision limit 1",
+ item_type = %d $revision limit 1",
intval($u[0]['channel_id']),
dbesc($page_id),
- intval(ITEM_WEBPAGE)
+ intval(ITEM_TYPE_WEBPAGE)
);
if($x) {
@@ -91,7 +91,7 @@ function page_init(&$a) {
return;
}
- if($r[0]['item_restrict'] == ITEM_PDL) {
+ if($r[0]['item_type'] == ITEM_TYPE_PDL) {
require_once('include/comanche.php');
comanche_parser(get_app(),$r[0]['body']);
get_app()->pdl = $r[0]['body'];
@@ -122,8 +122,8 @@ function page_content(&$a) {
if(! $r)
return;
- if($r[0]['item_restrict'] == ITEM_PDL) {
- $r[0]['body'] = t('Lorem Ipsum');
+ if($r[0]['item_type'] == ITEM_TYPE_PDL) {
+ $r[0]['body'] = t('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.');
$r[0]['mimetype'] = 'text/plain';
$r[0]['title'] = '';
diff --git a/mod/photo.php b/mod/photo.php
index 66280cb76..e8cd95f1c 100644
--- a/mod/photo.php
+++ b/mod/photo.php
@@ -22,14 +22,6 @@ function photo_init(&$a) {
// NOTREACHED
}
- if($photo === 'qr') {
- $t = $_GET['qr'];
- require_once('library/phpqrcode/phpqrcode.php');
- header("Content-type: image/png");
- QRcode::png(($t) ? $t : '.');
- killme();
- }
-
$observer_xchan = get_observer_hash();
$default = get_default_profile_photo();
@@ -61,14 +53,17 @@ function photo_init(&$a) {
$uid = $person;
- $r = q("SELECT * FROM photo WHERE scale = %d AND uid = %d AND profile = 1 LIMIT 1",
+ $r = q("SELECT * FROM photo WHERE scale = %d AND uid = %d AND photo_usage = %d LIMIT 1",
intval($resolution),
- intval($uid)
+ intval($uid),
+ intval(PHOTO_PROFILE)
);
if(count($r)) {
$data = dbunescbin($r[0]['data']);
$mimetype = $r[0]['type'];
}
+ if(intval($r[0]['os_storage']))
+ $data = file_get_contents($data);
if(! isset($data)) {
$data = file_get_contents($default);
$mimetype = 'image/png';
@@ -128,7 +123,7 @@ function photo_init(&$a) {
);
if($r) {
- $allowed = (($r[0]['uid']) ? perm_is_allowed($r[0]['uid'],$observer_xchan,'view_photos') : true);
+ $allowed = (($r[0]['uid']) ? perm_is_allowed($r[0]['uid'],$observer_xchan,'view_storage') : true);
$sql_extra = permissions_sql($r[0]['uid']);
@@ -142,6 +137,8 @@ function photo_init(&$a) {
if($r && $allowed) {
$data = dbunescbin($r[0]['data']);
$mimetype = $r[0]['type'];
+ if(intval($r[0]['os_storage']))
+ $data = file_get_contents($data);
}
else {
diff --git a/mod/photos.php b/mod/photos.php
index 2af90610e..d06a8e69c 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -6,6 +6,7 @@ require_once('include/acl_selectors.php');
require_once('include/bbcode.php');
require_once('include/security.php');
require_once('include/Contact.php');
+require_once('include/attach.php');
require_once('include/text.php');
@@ -62,7 +63,7 @@ function photos_post(&$a) {
$page_owner_uid = $a->data['channel']['channel_id'];
- if(perm_is_allowed($page_owner_uid,get_observer_hash(),'post_photos'))
+ if(perm_is_allowed($page_owner_uid,get_observer_hash(),'write_storage'))
$can_post = true;
if(! $can_post) {
@@ -84,6 +85,7 @@ function photos_post(&$a) {
$owner_record = $s[0];
+ $acl = AccessList($a->data['channel']);
if((argc() > 3) && (argv(2) === 'album')) {
@@ -106,11 +108,16 @@ function photos_post(&$a) {
$newalbum = notags(trim($_REQUEST['albumname']));
if($newalbum != $album) {
- $x = photos_album_rename($page_owner_uid,$album,$newalbum);
- if($x) {
- $newurl = str_replace(bin2hex($album),bin2hex($newalbum),$_SESSION['photo_return']);
- goaway($a->get_baseurl() . '/' . $newurl);
- }
+
+ // @fixme - syncronise with DAV or disallow completely
+
+ goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
+
+// $x = photos_album_rename($page_owner_uid,$album,$newalbum);
+// if($x) {
+// $newurl = str_replace(bin2hex($album),bin2hex($newalbum),$_SESSION['photo_return']);
+// goaway($a->get_baseurl() . '/' . $newurl);
+// }
}
/*
@@ -136,14 +143,14 @@ function photos_post(&$a) {
goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
}
- $r = q("select id, item_restrict from item where resource_id in ( $str ) and resource_type = 'photo' and uid = %d",
+ $r = q("select id from item where resource_id in ( $str ) and resource_type = 'photo' and uid = %d " . item_normal(),
intval($page_owner_uid)
);
if($r) {
foreach($r as $i) {
+ attach_delete($page_owner_uid, $i['resource_id'], 1 );
drop_item($i['id'],false,DROPITEM_PHASE1,true /* force removal of linked items */);
- if(! $item_restrict)
- proc_run('php','include/notifier.php','drop',$i['id']);
+ proc_run('php','include/notifier.php','drop',$i['id']);
}
}
@@ -152,6 +159,9 @@ function photos_post(&$a) {
q("delete from photo where resource_id in ( $str ) and uid = %d",
intval($page_owner_uid)
);
+
+ // @FIXME do the same for the linked attach
+
}
goaway($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address']);
@@ -176,30 +186,22 @@ function photos_post(&$a) {
intval($page_owner_uid),
dbesc($r[0]['resource_id'])
);
+ attach_delete($page_owner_uid, $r[0]['resource_id'], 1 );
+
$i = q("SELECT * FROM `item` WHERE `resource_id` = '%s' AND resource_type = 'photo' and `uid` = %d LIMIT 1",
dbesc($r[0]['resource_id']),
intval($page_owner_uid)
);
if(count($i)) {
- q("UPDATE `item` SET item_restrict = (item_restrict | %d), `edited` = '%s', `changed` = '%s' WHERE `parent_mid` = '%s' AND `uid` = %d",
- intval(ITEM_DELETED),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc($i[0]['mid']),
- intval($page_owner_uid)
- );
-
+ drop_item($i[0]['id'],true,DROPITEM_PHASE1);
$url = $a->get_baseurl();
- $drop_id = intval($i[0]['id']);
-
- if($i[0]['visible'])
- proc_run('php',"include/notifier.php","drop","$drop_id");
}
}
goaway($a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . $_SESSION['album_return']);
}
+
if(($a->argc > 2) && ((x($_POST,'desc') !== false) || (x($_POST,'newtag') !== false)) || (x($_POST,'albname') !== false)) {
@@ -207,11 +209,10 @@ function photos_post(&$a) {
$rawtags = ((x($_POST,'newtag')) ? notags(trim($_POST['newtag'])) : '');
$item_id = ((x($_POST,'item_id')) ? intval($_POST['item_id']) : 0);
$albname = ((x($_POST,'albname')) ? notags(trim($_POST['albname'])) : '');
- $adult = ((x($_POST,'adult')) ? intval($_POST['adult']) : 0);
- $str_group_allow = perms2str($_POST['group_allow']);
- $str_contact_allow = perms2str($_POST['contact_allow']);
- $str_group_deny = perms2str($_POST['group_deny']);
- $str_contact_deny = perms2str($_POST['contact_deny']);
+ $is_nsfw = ((x($_POST,'adult')) ? intval($_POST['adult']) : 0);
+
+ $acl->set_from_array($_POST);
+ $perm = $acl->get();
$resource_id = $a->argv[2];
@@ -282,13 +283,12 @@ function photos_post(&$a) {
if($p) {
$ext = $phototypes[$p[0]['type']];
- $r = q("UPDATE `photo` SET `description` = '%s', `album` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' WHERE `resource_id` = '%s' AND `uid` = %d",
+ $r = q("UPDATE `photo` SET `description` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' WHERE `resource_id` = '%s' AND `uid` = %d",
dbesc($desc),
- dbesc($albname),
- dbesc($str_contact_allow),
- dbesc($str_group_allow),
- dbesc($str_contact_deny),
- dbesc($str_group_deny),
+ dbesc($perm['allow_cid']),
+ dbesc($perm['allow_gid']),
+ dbesc($perm['deny_cid']),
+ dbesc($perm['deny_gid']),
dbesc($resource_id),
intval($page_owner_uid)
);
@@ -296,10 +296,10 @@ function photos_post(&$a) {
$item_private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false);
- $old_adult = (($p[0]['photo_flags'] & PHOTO_ADULT) ? 1 : 0);
- if($old_adult != $adult) {
- $r = q("update photo set photo_flags = ( photo_flags ^ %d) where resource_id = '%s' and uid = %d",
- intval(PHOTO_ADULT),
+ $old_is_nsfw = $p[0]['is_nsfw'];
+ if($old_is_nsfw != $is_nsfw) {
+ $r = q("update photo set is_nsfw = %d where resource_id = '%s' and uid = %d",
+ intval($is_nsfw),
dbesc($resource_id),
intval($page_owner_uid)
);
@@ -332,14 +332,25 @@ function photos_post(&$a) {
// make sure the linked item has the same permissions as the photo regardless of any other changes
$x = q("update item set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d
where id = %d",
- dbesc($str_contact_allow),
- dbesc($str_group_allow),
- dbesc($str_contact_deny),
- dbesc($str_group_deny),
- intval($item_private),
+ dbesc($perm['allow_cid']),
+ dbesc($perm['allow_gid']),
+ dbesc($perm['deny_cid']),
+ dbesc($perm['deny_gid']),
+ intval($acl->is_private()),
intval($item_id)
);
+ // make sure the attach has the same permissions as the photo regardless of any other changes
+ $x = q("update attach set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where hash = '%s' and uid = %d and is_photo = 1",
+ dbesc($perm['allow_cid']),
+ dbesc($perm['allow_gid']),
+ dbesc($perm['deny_cid']),
+ dbesc($perm['deny_gid']),
+ dbesc($resource_id),
+ intval($page_owner_uid)
+ );
+
+
if(strlen($rawtags)) {
@@ -406,15 +417,16 @@ function photos_post(&$a) {
$observer = $a->data['observer'];
$_REQUEST['source'] = 'photos';
+ require_once('include/attach.php');
- if(!local_channel()) {
+ if(! local_channel()) {
$_REQUEST['contact_allow'] = expand_acl($channel['channel_allow_cid']);
- $_REQUEST['group_allow'] = expand_acl($channel['channel_allow_gid']);
- $_REQUEST['contact_deny'] = expand_acl($channel['channel_deny_cid']);
- $_REQUEST['group_deny'] = expand_acl($channel['channel_deny_gid']);
+ $_REQUEST['group_allow'] = expand_acl($channel['channel_allow_gid']);
+ $_REQUEST['contact_deny'] = expand_acl($channel['channel_deny_cid']);
+ $_REQUEST['group_deny'] = expand_acl($channel['channel_deny_gid']);
}
- $r = photo_upload($channel, $observer, $_REQUEST);
+ $r = attach_store($a->channel,get_observer_hash(), '', $_REQUEST);
if(! $r['success']) {
notice($r['message'] . EOL);
@@ -468,7 +480,12 @@ function photos_content(&$a) {
$datatype = argv(2);
$datum = argv(3);
} else {
- $datatype = 'summary';
+ if(argc() > 2) {
+ $datatype = argv(2);
+ $datum = '';
+ }
+ else
+ $datatype = 'summary';
}
if(argc() > 4)
@@ -489,8 +506,8 @@ function photos_content(&$a) {
$observer = $a->get_observer();
- $can_post = perm_is_allowed($owner_uid,$observer['xchan_hash'],'post_photos');
- $can_view = perm_is_allowed($owner_uid,$observer['xchan_hash'],'view_photos');
+ $can_post = perm_is_allowed($owner_uid,$observer['xchan_hash'],'write_storage');
+ $can_view = perm_is_allowed($owner_uid,$observer['xchan_hash'],'view_storage');
if(! $can_view) {
notice( t('Access to this item is restricted.') . EOL);
@@ -541,14 +558,10 @@ function photos_content(&$a) {
if($_is_owner) {
$channel = $a->get_channel();
- $channel_acl = array(
- 'allow_cid' => $channel['channel_allow_cid'],
- 'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid']
- );
+ $acl = new AccessList($channel);
+ $channel_acl = $acl->get();
- $lockstate = (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock');
+ $lockstate = (($acl->is_private()) ? 'lock' : 'unlock');
}
$aclselect = (($_is_owner) ? populate_acl($channel_acl,false) : '');
@@ -557,14 +570,22 @@ function photos_content(&$a) {
$albums = ((array_key_exists('albums', $a->data)) ? $a->data['albums'] : photos_albums_list($a->data['channel'],$a->data['observer']));
+ if(! $selname) {
+ $def_album = get_pconfig($a->data['channel']['channel_id'],'system','photo_path');
+ if($def_album) {
+ $selname = filepath_macro($def_album);
+ $albums['album'][] = array('text' => $selname);
+ }
+ }
+
$tpl = get_markup_template('photos_upload.tpl');
$upload_form = replace_macros($tpl,array(
'$pagename' => t('Upload Photos'),
'$sessid' => session_id(),
'$usage' => $usage_message,
'$nickname' => $a->data['channel']['channel_address'],
- '$newalbum_label' => t('Enter a new album name'),
- '$newalbum_placeholder' => t('or select an existing one (doubleclick)'),
+ '$newalbum_label' => t('Enter an album name'),
+ '$newalbum_placeholder' => t('or select an existing album (doubleclick)'),
'$visible' => array('visible', t('Create a status post for this upload'), 0, '', array(t('No'), t('Yes'))),
'$albums' => $albums['albums'],
'$selname' => $selname,
@@ -590,22 +611,23 @@ function photos_content(&$a) {
if($datatype === 'album') {
-
-
- if((strlen($datum) & 1) || (! ctype_xdigit($datum))) {
- notice( t('Album name could not be decoded') . EOL);
- logger('mod_photos: illegal album encoding: ' . $datum);
- $datum = '';
+ if(strlen($datum)) {
+ if((strlen($datum) & 1) || (! ctype_xdigit($datum))) {
+ notice( t('Album name could not be decoded') . EOL);
+ logger('mod_photos: illegal album encoding: ' . $datum);
+ $datum = '';
+ }
}
- $album = hex2bin($datum);
+ $album = (($datum) ? hex2bin($datum) : '');
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` = '%s'
- AND `scale` <= 4 and ((photo_flags = %d) or (photo_flags & %d ) > 0) $sql_extra GROUP BY `resource_id`",
+ AND `scale` <= 4 and photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY `resource_id`",
intval($owner_uid),
dbesc($album),
intval(PHOTO_NORMAL),
- intval(($unsafe) ? (PHOTO_PROFILE|PHOTO_ADULT) : PHOTO_PROFILE)
+ intval(PHOTO_PROFILE),
+ intval($unsafe)
);
if(count($r)) {
$a->set_pager_total(count($r));
@@ -621,13 +643,14 @@ function photos_content(&$a) {
$r = q("SELECT p.resource_id, p.id, p.filename, p.type, p.scale, p.description, p.created FROM photo p INNER JOIN
- (SELECT resource_id, max(scale) scale FROM photo WHERE uid = %d AND album = '%s' AND scale <= 4 AND (photo_flags = %d or photo_flags = %d ) $sql_extra GROUP BY resource_id) ph
+ (SELECT resource_id, max(scale) scale FROM photo WHERE uid = %d AND album = '%s' AND scale <= 4 AND photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY resource_id) ph
ON (p.resource_id = ph.resource_id AND p.scale = ph.scale)
ORDER BY created $order LIMIT %d OFFSET %d",
intval($owner_uid),
dbesc($album),
- intvaL(PHOTO_NORMAL),
- intval(($unsafe) ? (PHOTO_PROFILE|PHOTO_ADULT) : PHOTO_PROFILE),
+ intval(PHOTO_NORMAL),
+ intval(PHOTO_PROFILE),
+ intval($unsafe),
intval($a->pager['itemspage']),
intval($a->pager['start'])
);
@@ -643,17 +666,21 @@ function photos_content(&$a) {
$album_e = $album;
}
$albums = ((array_key_exists('albums', $a->data)) ? $a->data['albums'] : photos_albums_list($a->data['channel'],$a->data['observer']));
- $edit_tpl = get_markup_template('album_edit.tpl');
- $album_edit = replace_macros($edit_tpl,array(
- '$nametext' => t('Enter a new album name'),
- '$name_placeholder' => t('or select an existing one (doubleclick)'),
- '$nickname' => $a->data['channel']['channel_address'],
- '$album' => $album_e,
- '$albums' => $albums['albums'],
- '$hexalbum' => bin2hex($album),
- '$submit' => t('Submit'),
- '$dropsubmit' => t('Delete Album')
- ));
+
+ // @fixme - syncronise actions with DAV
+
+// $edit_tpl = get_markup_template('album_edit.tpl');
+// $album_edit = replace_macros($edit_tpl,array(
+// '$nametext' => t('Enter a new album name'),
+// '$name_placeholder' => t('or select an existing one (doubleclick)'),
+// '$nickname' => $a->data['channel']['channel_address'],
+// '$album' => $album_e,
+// '$albums' => $albums['albums'],
+// '$hexalbum' => bin2hex($album),
+// '$submit' => t('Submit'),
+// '$dropsubmit' => t('Delete Album')
+// ));
+
}
}
@@ -743,7 +770,7 @@ function photos_content(&$a) {
// fetch image, item containing image, then comments
- $ph = q("SELECT aid,uid,xchan,resource_id,created,edited,title,`description`,album,filename,`type`,height,width,`size`,scale,profile,photo_flags,allow_cid,allow_gid,deny_cid,deny_gid FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'
+ $ph = q("SELECT aid,uid,xchan,resource_id,created,edited,title,`description`,album,filename,`type`,height,width,`size`,scale,photo_usage,is_nsfw,allow_cid,allow_gid,deny_cid,deny_gid FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'
$sql_extra ORDER BY `scale` ASC ",
intval($owner_uid),
dbesc($datum)
@@ -863,9 +890,10 @@ function photos_content(&$a) {
$linked_items = fetch_post_tags($linked_items,true);
$link_item = $linked_items[0];
+ $item_normal = item_normal();
$r = q("select * from item where parent_mid = '%s'
- and item_restrict = 0 and uid = %d $sql_extra ",
+ $item_normal and uid = %d $sql_extra ",
dbesc($link_item['mid']),
intval($link_item['uid'])
@@ -891,7 +919,7 @@ function photos_content(&$a) {
}
if((local_channel()) && (local_channel() == $link_item['uid'])) {
- q("UPDATE `item` SET item_unseen = 0 WHERE item_unseen = 1 AND parent = %d AND uid = %d ",
+ q("UPDATE `item` SET item_unseen = 0 WHERE parent = %d and uid = %d and item_unseen = 1",
intval($link_item['parent']),
intval(local_channel())
);
@@ -937,7 +965,7 @@ function photos_content(&$a) {
'help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com'),
'item_id' => ((count($linked_items)) ? $link_item['id'] : 0),
'adult_enabled' => feature_enabled($owner_uid,'adult_photo_flagging'),
- 'adult' => array('adult',t('Flag as adult in album view'), (($ph[0]['photo_flags'] & PHOTO_ADULT) ? 1 : 0),''),
+ 'adult' => array('adult',t('Flag as adult in album view'), intval($ph[0]['is_nsfw']),''),
'submit' => t('Submit'),
'delete' => t('Delete Photo')
);
@@ -1163,12 +1191,13 @@ function photos_content(&$a) {
//$o = '';
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
- and ((photo_flags = %d) or (photo_flags & %d) > 0) $sql_extra GROUP BY `resource_id`",
+ and photo_usage in ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY `resource_id`",
intval($a->data['channel']['channel_id']),
dbesc('Contact Photos'),
dbesc( t('Contact Photos')),
intval(PHOTO_NORMAL),
- intval(($unsafe) ? (PHOTO_PROFILE|PHOTO_ADULT) : PHOTO_PROFILE)
+ intval(PHOTO_PROFILE),
+ intval($unsafe)
);
if(count($r)) {
$a->set_pager_total(count($r));
@@ -1178,13 +1207,14 @@ function photos_content(&$a) {
$r = q("SELECT p.resource_id, p.id, p.filename, p.type, p.album, p.scale, p.created FROM photo p INNER JOIN
(SELECT resource_id, max(scale) scale FROM photo
WHERE uid=%d AND album != '%s' AND album != '%s'
- AND (photo_flags = %d or ( photo_flags & %d ) > 0 ) $sql_extra group by resource_id) ph
+ AND photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra group by resource_id) ph
ON (p.resource_id = ph.resource_id and p.scale = ph.scale) ORDER by p.created DESC LIMIT %d OFFSET %d",
intval($a->data['channel']['channel_id']),
dbesc('Contact Photos'),
dbesc( t('Contact Photos')),
intval(PHOTO_NORMAL),
- intval(($unsafe) ? (PHOTO_PROFILE|PHOTO_ADULT) : PHOTO_PROFILE),
+ intval(PHOTO_PROFILE),
+ intval($unsafe),
intval($a->pager['itemspage']),
intval($a->pager['start'])
);
diff --git a/mod/ping.php b/mod/ping.php
index b676726fe..394dbf089 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -43,6 +43,8 @@ function ping_init(&$a) {
$vnotify = false;
+ $item_normal = item_normal();
+
if(local_channel()) {
$vnotify = get_pconfig(local_channel(),'system','vnotify');
$evdays = intval(get_pconfig(local_channel(),'system','evdays'));
@@ -156,16 +158,13 @@ function ping_init(&$a) {
);
break;
case 'home':
- $r = q("update item set item_unseen = 0 where item_unseen = 1 and (item_flags & %d) > 0 and uid = %d",
- intval(ITEM_WALL),
+ $r = q("update item set item_unseen = 0 where item_unseen = 1 and item_wall = 1 and uid = %d",
intval(local_channel())
);
break;
case 'messages':
- $r = q("update mail set mail_flags = ( mail_flags | %d ) where channel_id = %d and not (mail_flags & %d) > 0",
- intval(MAIL_SEEN),
- intval(local_channel()),
- intval(MAIL_SEEN)
+ $r = q("update mail set mail_seen = 1 where mail_seen = 0 and channel_id = %d ",
+ intval(local_channel())
);
break;
case 'all_events':
@@ -243,11 +242,9 @@ function ping_init(&$a) {
if(argc() > 1 && argv(1) === 'messages') {
$channel = $a->get_channel();
$t = q("select mail.*, xchan.* from mail left join xchan on xchan_hash = from_xchan
- where channel_id = %d and not ( mail_flags & %d ) > 0 and not (mail_flags & %d ) > 0
+ where channel_id = %d and mail_seen = 0 and mail_deleted = 0
and from_xchan != '%s' order by created desc limit 50",
intval(local_channel()),
- intval(MAIL_SEEN),
- intval(MAIL_DELETED),
dbesc($channel['channel_hash'])
);
@@ -259,7 +256,7 @@ function ping_init(&$a) {
'url' => $zz['xchan_url'],
'photo' => $zz['xchan_photo_s'],
'when' => relative_date($zz['created']),
- 'hclass' => (($zz['mail_flags'] & MAIL_SEEN) ? 'notify-seen' : 'notify-unseen'),
+ 'hclass' => (intval($zz['mail_seen']) ? 'notify-seen' : 'notify-unseen'),
'message' => t('sent you a private message'),
);
}
@@ -273,7 +270,7 @@ function ping_init(&$a) {
$result = array();
$r = q("SELECT * FROM item
- WHERE item_restrict = 0 and item_unseen = 1 and uid = %d
+ WHERE item_unseen = 1 and uid = %d $item_normal
and author_xchan != '%s' ORDER BY created DESC limit 300",
intval(local_channel()),
dbesc($ob_hash)
@@ -282,7 +279,7 @@ function ping_init(&$a) {
if($r) {
xchan_query($r);
foreach($r as $item) {
- if((argv(1) === 'home') && (! ($item['item_flags'] & ITEM_WALL)))
+ if((argv(1) === 'home') && (! intval($item['item_wall'])))
continue;
$result[] = format_notification($item);
}
@@ -295,11 +292,8 @@ function ping_init(&$a) {
if(argc() > 1 && (argv(1) === 'intros')) {
$result = array();
- $r = q("SELECT * FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d) > 0 and not ((abook_flags & %d) > 0 or (xchan_flags & %d) > 0) ORDER BY abook_created DESC LIMIT 50",
- intval(local_channel()),
- intval(ABOOK_FLAG_PENDING),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_IGNORED),
- intval(XCHAN_FLAGS_DELETED|XCHAN_FLAGS_ORPHAN)
+ $r = q("SELECT * FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and abook_pending = 1 and abook_self = 0 and abook_ignored = 0 and xchan_deleted = 0 and xchan_orphan = 0 ORDER BY abook_created DESC LIMIT 50",
+ intval(local_channel())
);
if($r) {
@@ -327,6 +321,7 @@ function ping_init(&$a) {
$r = q("SELECT * FROM event left join xchan on event_xchan = xchan_hash
WHERE `event`.`uid` = %d AND start < '%s' AND start > '%s' and `ignore` = 0
+ and type in ( 'event', 'birthday' )
ORDER BY `start` DESC LIMIT 1000",
intval(local_channel()),
dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
@@ -378,8 +373,9 @@ function ping_init(&$a) {
$t1 = dba_timer();
if($vnotify & (VNOTIFY_NETWORK|VNOTIFY_CHANNEL)) {
- $r = q("SELECT id, item_restrict, item_flags FROM item
- WHERE item_restrict = 0 and item_unseen = 1 and uid = %d
+ $r = q("SELECT id, item_wall FROM item
+ WHERE item_unseen = 1 and uid = %d
+ $item_normal
and author_xchan != '%s'",
intval(local_channel()),
dbesc($ob_hash)
@@ -390,7 +386,7 @@ function ping_init(&$a) {
call_hooks('network_ping', $arr);
foreach ($r as $it) {
- if($it['item_flags'] & ITEM_WALL)
+ if(intval($it['item_wall']))
$result['home'] ++;
else
$result['network'] ++;
@@ -406,11 +402,8 @@ function ping_init(&$a) {
$t2 = dba_timer();
if($vnotify & VNOTIFY_INTRO) {
- $intr = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and (abook_flags & %d) > 0 and not ((abook_flags & %d) > 0 or (xchan_flags & %d) > 0)",
- intval(local_channel()),
- intval(ABOOK_FLAG_PENDING),
- intval(ABOOK_FLAG_SELF|ABOOK_FLAG_IGNORED),
- intval(XCHAN_FLAGS_DELETED|XCHAN_FLAGS_ORPHAN)
+ $intr = q("SELECT COUNT(abook.abook_id) AS total FROM abook left join xchan on abook.abook_xchan = xchan.xchan_hash where abook_channel = %d and abook_pending = 1 and abook_self = 0 and abook_ignored = 0 and xchan_deleted = 0 and xchan_orphan = 0 ",
+ intval(local_channel())
);
$t3 = dba_timer();
@@ -424,9 +417,8 @@ function ping_init(&$a) {
if($vnotify & VNOTIFY_MAIL) {
$mails = q("SELECT count(id) as total from mail
- WHERE channel_id = %d AND not (mail_flags & %d) > 0 and from_xchan != '%s' ",
+ WHERE channel_id = %d AND mail_seen = 0 and from_xchan != '%s' ",
intval(local_channel()),
- intval(MAIL_SEEN),
dbesc($channel['channel_hash'])
);
if($mails)
@@ -448,6 +440,7 @@ function ping_init(&$a) {
if($vnotify & (VNOTIFY_EVENT|VNOTIFY_EVENTTODAY|VNOTIFY_BIRTHDAY)) {
$events = q("SELECT type, start, adjust FROM `event`
WHERE `event`.`uid` = %d AND start < '%s' AND start > '%s' and `ignore` = 0
+ and type in ( 'event', 'birthday' )
ORDER BY `start` ASC ",
intval(local_channel()),
dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
diff --git a/mod/poke.php b/mod/poke.php
index 6257a2821..f66d28956 100755
--- a/mod/poke.php
+++ b/mod/poke.php
@@ -87,10 +87,8 @@ function poke_init(&$a) {
$arr = array();
- $arr['item_flags'] = ITEM_WALL | ITEM_ORIGIN;
- if($parent_item)
- $arr['item_flags'] |= ITEM_THREAD_TOP;
+ $arr['item_wall'] = 1;
$arr['owner_xchan'] = (($parent_item) ? $parent_item['owner_xchan'] : $channel['channel_hash']);
$arr['parent_mid'] = (($parent_mid) ? $parent_mid : $mid);
$arr['title'] = '';
@@ -115,6 +113,13 @@ function poke_init(&$a) {
$arr['object'] = json_encode($obj);
+ $arr['item_origin'] = 1;
+ $arr['item_wall'] = 1;
+ $arr['item_unseen'] = 1;
+ if(! $parent_item)
+ $item['item_thread_top'] = 1;
+
+
post_activity_item($arr);
return;
diff --git a/mod/post.php b/mod/post.php
index 908b9eb1d..dfda7db9d 100644
--- a/mod/post.php
+++ b/mod/post.php
@@ -103,9 +103,7 @@ function post_init(&$a) {
// Any channel will do, providing it's currently active. We just need to have an
// identity to attach to the packet we send back. So find one.
- $c = q("select * from channel where not ( channel_pageflags & %d )>0 limit 1",
- intval(PAGE_REMOVED)
- );
+ $c = q("select * from channel where channel_removed = 0 limit 1");
if (! $c) {
// nobody here
@@ -285,20 +283,13 @@ function post_init(&$a) {
$a->set_groups(init_groups_visitor($_SESSION['visitor_id']));
info(sprintf( t('Welcome %s. Remote authentication successful.'),$x[0]['xchan_name']));
logger('mod_zot: auth success from ' . $x[0]['xchan_addr']);
- q("update hubloc set hubloc_status = (hubloc_status | %d ) where hubloc_id = %d ",
- intval(HUBLOC_WORKS),
- intval($x[0]['hubloc_id'])
- );
- } else {
- if ($test) {
+ }
+ else {
+ if($test) {
$ret['message'] .= 'auth failure. ' . print_r($_REQUEST,true) . print_r($j,true) . EOL;
json_return_and_die($ret);
}
logger('mod_zot: magic-auth failure - not authenticated: ' . $x[0]['xchan_addr']);
- q("update hubloc set hubloc_status = (hubloc_status | %d ) where hubloc_id = %d ",
- intval(HUBLOC_RECEIVE_ERROR),
- intval($x[0]['hubloc_id'])
- );
}
/**
@@ -693,20 +684,16 @@ function post_post(&$a) {
// a dead hub came back to life - reset any tombstones we might have
- if ($hub['hubloc_status'] & HUBLOC_OFFLINE) {
- q("update hubloc set hubloc_status = (hubloc_status & ~%d) where hubloc_id = %d",
- intval(HUBLOC_OFFLINE),
+ if(intval($hub['hubloc_error'])) {
+ q("update hubloc set hubloc_error = 0 where hubloc_id = %d",
intval($hub['hubloc_id'])
);
- if ($r[0]['hubloc_flags'] & HUBLOC_FLAGS_ORPHANCHECK) {
- q("update hubloc set hubloc_flags = (hubloc_flags & ~%d) where hubloc_id = %d",
- intval(HUBLOC_FLAGS_ORPHANCHECK),
+ if(intval($r[0]['hubloc_orphancheck'])) {
+ q("update hubloc set hubloc_orhpancheck = 0 where hubloc_id = %d",
intval($hub['hubloc_id'])
);
}
- q("update xchan set xchan_flags = (xchan_flags & ~%d) where (xchan_flags & %d)>0 and xchan_hash = '%s'",
- intval(XCHAN_FLAGS_ORPHAN),
- intval(XCHAN_FLAGS_ORPHAN),
+ q("update xchan set xchan_orphan = 0 where xchan_orphan = 1 and xchan_hash = '%s'",
dbesc($hub['hubloc_hash'])
);
}
@@ -718,8 +705,7 @@ function post_post(&$a) {
* Get rid of them (mark them deleted). There's a good chance they were re-installs.
*/
- q("update hubloc set hubloc_flags = ( hubloc_flags | %d ) where hubloc_url = '%s' and hubloc_sitekey != '%s' ",
- intval(HUBLOC_FLAGS_DELETED),
+ q("update hubloc set hubloc_deleted = 1 where hubloc_url = '%s' and hubloc_sitekey != '%s' ",
dbesc($hub['hubloc_url']),
dbesc($hub['hubloc_sitekey'])
);
diff --git a/mod/profile_photo.php b/mod/profile_photo.php
index c70e8fc94..13923a655 100644
--- a/mod/profile_photo.php
+++ b/mod/profile_photo.php
@@ -143,7 +143,7 @@ function profile_photo_post(&$a) {
'filename' => $base_image['filename'], 'album' => t('Profile Photos'));
$p['scale'] = 4;
- $p['photo_flags'] = (($is_default_profile) ? PHOTO_PROFILE : PHOTO_NORMAL);
+ $p['photo_usage'] = (($is_default_profile) ? PHOTO_PROFILE : PHOTO_NORMAL);
$r1 = $im->save($p);
@@ -170,13 +170,9 @@ function profile_photo_post(&$a) {
// If setting for the default profile, unset the profile photo flag from any other photos I own
if($is_default_profile) {
- $r = q("UPDATE photo SET profile = 0 WHERE profile = 1 AND resource_id != '%s' AND `uid` = %d",
- dbesc($base_image['resource_id']),
- intval(local_channel())
- );
- $r = q("UPDATE photo SET photo_flags = ( photo_flags & ~%d ) WHERE ( photo_flags & %d )>0
+ $r = q("UPDATE photo SET photo_usage = %d WHERE photo_usage = %d
AND resource_id != '%s' AND `uid` = %d",
- intval(PHOTO_PROFILE),
+ intval(PHOTO_NORMAL),
intval(PHOTO_PROFILE),
dbesc($base_image['resource_id']),
intval(local_channel())
@@ -221,31 +217,45 @@ function profile_photo_post(&$a) {
return; // NOTREACHED
}
- $src = $_FILES['userfile']['tmp_name'];
- $filename = basename($_FILES['userfile']['name']);
- $filesize = intval($_FILES['userfile']['size']);
- $filetype = $_FILES['userfile']['type'];
- if ($filetype=="") $filetype=guess_image_type($filename);
-
- $maximagesize = get_config('system','maximagesize');
-
- if(($maximagesize) && ($filesize > $maximagesize)) {
- notice( sprintf(t('Image exceeds size limit of %d'), $maximagesize) . EOL);
- @unlink($src);
- return;
+
+
+ $hash = photo_new_resource();
+ $smallest = 0;
+
+ require_once('include/attach.php');
+
+ $res = attach_store($a->get_channel(), get_observer_hash(), '', array('album' => t('Profile Photos'), 'hash' => $hash));
+
+ logger('attach_store: ' . print_r($res,true));
+
+ if($res && intval($res['data']['is_photo'])) {
+ $i = q("select * from photo where resource_id = '%s' and uid = %d order by scale",
+ dbesc($hash),
+ intval(local_channel())
+ );
+
+ if(! $i) {
+ notice( t('Image upload failed.') . EOL );
+ return;
+ }
+ foreach($i as $ii) {
+ if(intval($ii['scale']) < 2) {
+ $smallest = intval($ii['scale']);
+ $imagedata = $ii['data'];
+ $filetype = $ii['type'];
+ }
+ }
}
- $imagedata = @file_get_contents($src);
+// $imagedata = @file_get_contents($src);
$ph = photo_factory($imagedata, $filetype);
if(! $ph->is_valid()) {
notice( t('Unable to process image.') . EOL );
- @unlink($src);
return;
}
- $ph->orient($src);
- @unlink($src);
- return profile_photo_crop_ui_head($a, $ph);
+
+ return profile_photo_crop_ui_head($a, $ph, $hash, $smallest);
}
@@ -257,7 +267,6 @@ function profile_photo_post(&$a) {
*/
-if(! function_exists('profile_photo_content')) {
function profile_photo_content(&$a) {
if(! local_channel()) {
@@ -301,20 +310,12 @@ function profile_photo_content(&$a) {
if(($r[0]['album'] == t('Profile Photos')) && ($havescale)) {
// unset any existing profile photos
- $r = q("UPDATE photo SET profile = 0 WHERE profile = 1 AND uid = %d",
- intval(local_channel()));
- $r = q("UPDATE photo SET photo_flags = (photo_flags & ~%d ) WHERE (photo_flags & %d )>0 AND uid = %d",
- intval(PHOTO_PROFILE),
+ $r = q("UPDATE photo SET photo_usage = %d WHERE photo_usage = %d AND uid = %d",
+ intval(PHOTO_NORMAL),
intval(PHOTO_PROFILE),
intval(local_channel()));
- // set all sizes of this one as profile photos
- $r = q("UPDATE photo SET profile = 1 WHERE uid = %d AND resource_id = '%s'",
- intval(local_channel()),
- dbesc($resource_id)
- );
-
- $r = q("UPDATE photo SET photo_flags = ( photo_flags | %d ) WHERE uid = %d AND resource_id = '%s'",
+ $r = q("UPDATE photo SET photo_usage = %d WHERE uid = %d AND resource_id = '%s'",
intval(PHOTO_PROFILE),
intval(local_channel()),
dbesc($resource_id)
@@ -371,7 +372,7 @@ function profile_photo_content(&$a) {
return $o;
}
else {
- $filename = $a->data['imagecrop'] . '-' . $a->data['imagecrop_resolution'] . '.' . $a->data['imagecrop_ext'];
+ $filename = $a->data['imagecrop'] . '-' . $a->data['imagecrop_resolution'];
$resolution = $a->data['imagecrop_resolution'];
$tpl = get_markup_template("cropbody.tpl");
$o .= replace_macros($tpl,array(
@@ -388,7 +389,7 @@ function profile_photo_content(&$a) {
}
return; // NOTREACHED
-}}
+}
/* @brief Generate the UI for photo-cropping
*
@@ -399,8 +400,8 @@ function profile_photo_content(&$a) {
*/
-if(! function_exists('profile_photo_crop_ui_head')) {
-function profile_photo_crop_ui_head(&$a, $ph){
+
+function profile_photo_crop_ui_head(&$a, $ph, $hash, $smallest){
$max_length = get_config('system','max_image_length');
if(! $max_length)
@@ -417,34 +418,10 @@ function profile_photo_crop_ui_head(&$a, $ph){
$height = $ph->getHeight();
}
- $hash = photo_new_resource();
- $smallest = 0;
-
- $p = array('aid' => get_account_id(), 'uid' => local_channel(), 'resource_id' => $hash,
- 'filename' => $filename, 'album' => t('Profile Photos'), 'scale' => 0);
- $r = $ph->save($p);
-
- if($r)
- info( t('Image uploaded successfully.') . EOL );
- else
- notice( t('Image upload failed.') . EOL );
-
- if($width > 640 || $height > 640) {
- $ph->scaleImage(640);
- $p['scale'] = 1;
-
- $r = $ph->save($p);
-
- if($r === false)
- notice( sprintf(t('Image size reduction [%s] failed.'),"640") . EOL );
- else
- $smallest = 1;
- }
$a->data['imagecrop'] = $hash;
$a->data['imagecrop_resolution'] = $smallest;
- $a->data['imagecrop_ext'] = $ph->getExt();
$a->page['htmlhead'] .= replace_macros(get_markup_template("crophead.tpl"), array());
return;
-}}
+}
diff --git a/mod/public.php b/mod/public.php
index 64ae9d20a..2106be7a6 100644
--- a/mod/public.php
+++ b/mod/public.php
@@ -16,6 +16,8 @@ function public_content(&$a, $update = 0, $load = false) {
if(get_config('system','disable_discover_tab'))
return;
+ $item_normal = item_normal();
+
if(! $update) {
$maxheight = get_config('system','home_divmore_height');
@@ -69,7 +71,7 @@ function public_content(&$a, $update = 0, $load = false) {
require_once('include/security.php');
if(get_config('system','site_firehose')) {
- $uids = " and item.uid in ( " . stream_perms_api_uids(PERMS_PUBLIC) . " ) and item_private = 0 and (item_flags & " . intval(ITEM_WALL) . " ) > 0 ";
+ $uids = " and item.uid in ( " . stream_perms_api_uids(PERMS_PUBLIC) . " ) and item_private = 0 and item_wall = 1 ";
}
else {
$sys = get_sys_channel();
@@ -101,12 +103,11 @@ function public_content(&$a, $update = 0, $load = false) {
$r = q("SELECT distinct item.id AS item_id, $ordering FROM item
left join abook on item.author_xchan = abook.abook_xchan
- WHERE true $uids AND item.item_restrict = 0
+ WHERE true $uids $item_normal
AND item.parent = item.id
- and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
+ and (abook.abook_blocked = 0 or abook.abook_flags is null)
$sql_extra3 $sql_extra $sql_nets
- ORDER BY $ordering DESC $pager_sql ",
- intval(ABOOK_FLAG_BLOCKED)
+ ORDER BY $ordering DESC $pager_sql "
);
@@ -115,11 +116,10 @@ function public_content(&$a, $update = 0, $load = false) {
$r = q("SELECT distinct item.id AS item_id, $ordering FROM item
left join abook on item.author_xchan = abook.abook_xchan
- WHERE true $uids AND item.item_restrict = 0
+ WHERE true $uids $item_normal
AND item.parent = item.id $simple_update
- and ((abook.abook_flags & %d) = 0 or abook.abook_flags is null)
- $sql_extra3 $sql_extra $sql_nets",
- intval(ABOOK_FLAG_BLOCKED)
+ and (abook.abook_blocked = 0 or abook.abook_flags is null)
+ $sql_extra3 $sql_extra $sql_nets"
);
$_SESSION['loadtime'] = datetime_convert();
}
@@ -132,7 +132,7 @@ function public_content(&$a, $update = 0, $load = false) {
$parents_str = ids_to_querystr($r,'item_id');
$items = q("SELECT item.*, item.id AS item_id FROM item
- WHERE true $uids AND item.item_restrict = 0
+ WHERE true $uids $item_normal
AND item.parent IN ( %s )
$sql_extra ",
dbesc($parents_str)
diff --git a/mod/receive.php b/mod/receive.php
deleted file mode 100644
index deaf8cb37..000000000
--- a/mod/receive.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-/**
- * Diaspora endpoint
- */
-
-require_once('include/crypto.php');
-require_once('include/diaspora.php');
-
-
-function receive_post(&$a) {
-
-
- $enabled = intval(get_config('system','diaspora_enabled'));
- if(! $enabled) {
- logger('mod-diaspora: disabled');
- http_status_exit(500);
- }
-
- $public = false;
-
- if((argc() == 2) && (argv(1) === 'public')) {
- $public = true;
- }
- else {
-
- if(argc() != 3 || argv(1) !== 'users')
- http_status_exit(500);
-
- $guid = argv(2);
-
- // Diaspora sites *may* provide a truncated guid.
-
- $r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_guid like '%s' AND (channel_pageflags & %d ) = 0 LIMIT 1",
- dbesc($guid . '%'),
- intval(PAGE_REMOVED)
- );
- if(! $r)
- http_status_exit(500);
-
- $importer = $r[0];
- }
-
- // It is an application/x-www-form-urlencoded that has been urlencoded twice.
-
- logger('mod-diaspora: receiving post', LOGGER_DEBUG);
-
- $xml = urldecode($_POST['xml']);
-
- logger('mod-diaspora: new salmon ' . $xml, LOGGER_DATA);
-
- if(! $xml)
- http_status_exit(500);
-
- logger('mod-diaspora: message is okay', LOGGER_DEBUG);
-
- $msg = diaspora_decode($importer,$xml);
-
- logger('mod-diaspora: decoded', LOGGER_DEBUG);
-
- logger('mod-diaspora: decoded msg: ' . print_r($msg,true), LOGGER_DATA);
-
- if(! is_array($msg))
- http_status_exit(500);
-
- logger('mod-diaspora: dispatching', LOGGER_DEBUG);
-
- $ret = 0;
- if($public)
- diaspora_dispatch_public($msg);
- else
- $ret = diaspora_dispatch($importer,$msg);
-
- http_status_exit(($ret) ? $ret : 200);
- // NOTREACHED
-}
-
diff --git a/mod/rpost.php b/mod/rpost.php
index 0c0916646..4a6b87cc6 100644
--- a/mod/rpost.php
+++ b/mod/rpost.php
@@ -102,7 +102,7 @@ function rpost_content(&$a) {
);
if($_REQUEST['url']) {
- $x = z_fetch_url(z_root() . '/parse_url?f=&url=' . urlencode($_REQUEST['url']));
+ $x = z_fetch_url(z_root() . '/urlinfo?f=&url=' . urlencode($_REQUEST['url']));
if($x['success'])
$_REQUEST['body'] = $_REQUEST['body'] . $x['body'];
}
diff --git a/mod/search.php b/mod/search.php
index 426642141..ce8357fb9 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -59,6 +59,10 @@ function search_content(&$a,$update = 0, $load = false) {
$search = substr($search,1);
goaway(z_root() . '/directory' . '?f=1&navsearch=1&search=' . $search);
}
+ if(strpos($search,'?') === 0) {
+ $search = substr($search,1);
+ goaway(z_root() . '/help' . '?f=1&navsearch=1&search=' . $search);
+ }
// look for a naked webbie
if(strpos($search,'@') !== false) {
@@ -125,6 +129,7 @@ function search_content(&$a,$update = 0, $load = false) {
}
+ $item_normal = item_normal();
$pub_sql = public_permissions_sql($observer_hash);
require_once('include/identity.php');
@@ -143,7 +148,7 @@ function search_content(&$a,$update = 0, $load = false) {
if($load) {
$r = null;
-
+
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
$prefix = 'distinct on (created, mid)';
$suffix = 'ORDER BY created DESC, mid';
@@ -153,26 +158,24 @@ function search_content(&$a,$update = 0, $load = false) {
}
if(local_channel()) {
$r = q("SELECT $prefix mid, item.id as item_id, item.* from item
- WHERE item_restrict = 0 AND ( item_flags & %d ) = 0
- AND ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND item_private = 0 )
+ WHERE ((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND item_private = 0 )
OR ( `item`.`uid` = %d )) OR item.owner_xchan = '%s' )
+ $item_normal
$sql_extra
$suffix $pager_sql ",
- intval(ITEM_OBSCURED),
intval(local_channel()),
dbesc($sys['xchan_hash'])
);
}
if($r === null) {
$r = q("SELECT $prefix mid, item.id as item_id, item.* from item
- WHERE item_restrict = 0 AND ( item_flags & %d ) = 0
- AND (((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
+ WHERE (((( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = ''
AND `item`.`deny_gid` = '' AND item_private = 0 )
and owner_xchan in ( " . stream_perms_xchans(($observer) ? (PERMS_NETWORK|PERMS_PUBLIC) : PERMS_PUBLIC) . " ))
$pub_sql ) OR owner_xchan = '%s')
+ $item_normal
$sql_extra
$suffix $pager_sql",
- intval(ITEM_OBSCURED),
dbesc($sys['xchan_hash'])
);
}
diff --git a/mod/settings.php b/mod/settings.php
index b0ba04dfc..8bfff3765 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -123,13 +123,6 @@ function settings_post(&$a) {
call_hooks('feature_settings_post', $_POST);
- if($_POST['dspr-submit']) {
- set_pconfig(local_channel(),'system','diaspora_allowed',intval($_POST['dspr_allowed']));
- set_pconfig(local_channel(),'system','diaspora_public_comments',intval($_POST['dspr_pubcomment']));
- set_pconfig(local_channel(),'system','prevent_tag_hijacking',intval($_POST['dspr_hijack']));
- info( t('Diaspora Policy Settings updated.') . EOL);
- }
-
build_sync_packet();
return;
}
@@ -318,17 +311,16 @@ function settings_post(&$a) {
foreach($global_perms as $k => $v) {
$set_perms .= ', ' . $v[0] . ' = ' . intval($_POST[$k]) . ' ';
}
-
- $str_group_allow = perms2str($_POST['group_allow']);
- $str_contact_allow = perms2str($_POST['contact_allow']);
- $str_group_deny = perms2str($_POST['group_deny']);
- $str_contact_deny = perms2str($_POST['contact_deny']);
- $r = q("update channel set channel_allow_cid = '%s', channel_allow_gid = '%s', channel_deny_cid = '%s', channel_deny_gid = '%s'
- where channel_id = %d",
- dbesc($str_contact_allow),
- dbesc($str_group_allow),
- dbesc($str_contact_deny),
- dbesc($str_group_deny),
+ $acl = new AccessList($channel);
+ $acl->set_from_array($_POST);
+ $x = $acl->get();
+
+ $r = q("update channel set channel_allow_cid = '%s', channel_allow_gid = '%s',
+ channel_deny_cid = '%s', channel_deny_gid = '%s' where channel_id = %d",
+ dbesc($x['allow_cid']),
+ dbesc($x['allow_gid']),
+ dbesc($x['deny_cid']),
+ dbesc($x['deny_gid']),
intval(local_channel())
);
}
@@ -373,10 +365,9 @@ function settings_post(&$a) {
);
}
- $r = q("update abook set abook_my_perms = %d where abook_channel = %d and (abook_flags & %d)>0",
+ $r = q("update abook set abook_my_perms = %d where abook_channel = %d and abook_self = 1",
intval(($role_permissions['perms_auto']) ? intval($role_permissions['perms_accept']) : 0),
- intval(local_channel()),
- intval(ABOOK_FLAG_SELF)
+ intval(local_channel())
);
set_pconfig(local_channel(),'system','autoperms',(($role_permissions['perms_auto']) ? intval($role_permissions['perms_accept']) : 0));
@@ -401,6 +392,8 @@ function settings_post(&$a) {
$maxreq = ((x($_POST,'maxreq')) ? intval($_POST['maxreq']) : 0);
$expire = ((x($_POST,'expire')) ? intval($_POST['expire']) : 0);
$evdays = ((x($_POST,'evdays')) ? intval($_POST['evdays']) : 3);
+ $photo_path = ((x($_POST,'photo_path')) ? escape_tags(trim($_POST['photo_path'])) : '');
+ $attach_path = ((x($_POST,'attach_path')) ? escape_tags(trim($_POST['attach_path'])) : '');
$channel_menu = ((x($_POST['channel_menu'])) ? htmlspecialchars_decode(trim($_POST['channel_menu']),ENT_QUOTES) : '');
@@ -507,6 +500,8 @@ function settings_post(&$a) {
set_pconfig(local_channel(),'system','vnotify',$vnotify);
set_pconfig(local_channel(),'system','always_show_in_notices',$always_show_in_notices);
set_pconfig(local_channel(),'system','evdays',$evdays);
+ set_pconfig(local_channel(),'system','photo_path',$photo_path);
+ set_pconfig(local_channel(),'system','attach_path',$attach_path);
$r = q("update channel set channel_name = '%s', channel_pageflags = %d, channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d $set_perms where channel_id = %d",
dbesc($username),
@@ -661,35 +656,17 @@ function settings_content(&$a) {
$settings_addons = "";
$o = '';
- $diaspora_enabled = get_config('system','diaspora_enabled');
$r = q("SELECT * FROM `hook` WHERE `hook` = 'feature_settings' ");
- if((! $r) && (! $diaspora_enabled))
+ if(! $r)
$settings_addons = t('No feature settings configured');
- if($diaspora_enabled) {
- $dspr_allowed = get_pconfig(local_channel(),'system','diaspora_allowed');
- if($dspr_allowed === false)
- $dspr_allowed = 1;
- $pubcomments = get_pconfig(local_channel(),'system','diaspora_public_comments');
- if($pubcomments === false)
- $pubcomments = 1;
- $hijacking = get_pconfig(local_channel(),'system','prevent_tag_hijacking');
- }
-
call_hooks('feature_settings', $settings_addons);
$tpl = get_markup_template("settings_addons.tpl");
$o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_featured"),
'$title' => t('Feature/Addon Settings'),
- '$diaspora_enabled' => $diaspora_enabled,
- '$dsprdesc' => t('Settings for the built-in Diaspora emulator'),
- '$pubcomments' => array('dspr_pubcomment', t('Allow any Diaspora member to comment on your public posts'), $pubcomments, '', $yes_no),
- '$dspr_allowed' => array('dspr_allowed', t('Enable the Diaspora protocol for this channel'), $dspr_allowed, '', $yes_no),
- '$dsprtitle' => t('Diaspora Policy Settings'),
- '$hijacking' => array('dspr_hijack', t('Prevent your hashtags from being redirected to other sites'), $hijacking, '', $yes_no),
- '$dsprsubmit' => t('Submit'),
'$settings_addons' => $settings_addons
));
return $o;
@@ -1005,15 +982,8 @@ function settings_content(&$a) {
$stpl = get_markup_template('settings.tpl');
- $celeb = false;
-
- $perm_defaults = array(
- 'allow_cid' => $channel['channel_allow_cid'],
- 'allow_gid' => $channel['channel_allow_gid'],
- 'deny_cid' => $channel['channel_deny_cid'],
- 'deny_gid' => $channel['channel_deny_gid']
- );
-
+ $acl = new AccessList($channel);
+ $perm_defaults = $acl->get();
require_once('include/group.php');
$group_select = mini_group_select(local_channel(),$channel['channel_default_group']);
@@ -1132,7 +1102,9 @@ function settings_content(&$a) {
'$expert' => feature_enabled(local_channel(),'expert'),
'$hint' => t('Please enable expert mode (in <a href="settings/features">Settings > Additional features</a>) to adjust!'),
'$lbl_misc' => t('Miscellaneous Settings'),
- '$menus' => $menu,
+ '$photo_path' => array('photo_path', t('Default photo upload folder'), get_pconfig(local_channel(),'system','photo_path'), '%Y - current year, %m - current month'),
+ '$attach_path' => array('attach_path', t('Default file upload folder'), get_pconfig(local_channel(),'system','attach_path'), '%Y - current year, %m - current month'),
+ '$menus' => $menu,
'$menu_desc' => t('Personal menu to display in your channel pages'),
'$removeme' => t('Remove Channel'),
'$removechannel' => t('Remove this channel.'),
diff --git a/mod/setup.php b/mod/setup.php
index bba29921e..15820f14e 100755
--- a/mod/setup.php
+++ b/mod/setup.php
@@ -68,6 +68,10 @@ function setup_post(&$a) {
$adminmail = trim($_POST['adminmail']);
$siteurl = trim($_POST['siteurl']);
+ // $siteurl should not have a trailing slash
+
+ $siteurl = rtrim($siteurl,'/');
+
require_once('include/dba/dba_driver.php');
unset($db);
$db = dba_factory($dbhost, $dbport, $dbuser, $dbpass, $dbdata, $dbtype, true);
diff --git a/mod/siteinfo.php b/mod/siteinfo.php
index c5a1cf12b..8281a7a0a 100644
--- a/mod/siteinfo.php
+++ b/mod/siteinfo.php
@@ -84,7 +84,6 @@ function siteinfo_init(&$a) {
'register_policy' => $register_policy[$a->config['system']['register_policy']],
'directory_mode' => $directory_mode[$a->config['system']['directory_mode']],
'language' => get_config('system','language'),
- 'diaspora_emulation' => get_config('system','diaspora_enabled'),
'rss_connections' => get_config('system','feed_contacts'),
'expiration' => $site_expire,
'default_service_restrictions' => $service_class,
@@ -163,7 +162,7 @@ function siteinfo_content(&$a) {
'$web_location' => t('Running at web location') . ' ' . z_root(),
'$visit' => t('Please visit <a href="https://redmatrix.me">redmatrix.me</a> to learn more about $Projectname.'),
'$bug_text' => t('Bug reports and issues: please visit'),
- '$bug_link_url' => 'https://github.com/redmatrix/redmatrix/issues',
+ '$bug_link_url' => 'https://github.com/redmatrix/hubzilla/issues',
'$bug_link_text' => t('$projectname issues'),
'$contact' => t('Suggestions, praise, etc. - please email "redmatrix" at librelist - dot com'),
'$donate' => $donate,
diff --git a/mod/starred.php b/mod/starred.php
index b6736fd85..103e5f4b4 100644
--- a/mod/starred.php
+++ b/mod/starred.php
@@ -19,15 +19,15 @@ function starred_init(&$a) {
if(! count($r))
killme();
- $item_flags = ( $r[0]['item_flags'] ^ ITEM_STARRED );
+ $item_starred = (intval($r[0]['item_starred']) ? 0 : 1);
- $r = q("UPDATE item SET item_flags = %d WHERE uid = %d and id = %d",
- intval($item_flags),
+ $r = q("UPDATE item SET item_starred = %d WHERE uid = %d and id = %d",
+ intval($item_starred),
intval(local_channel()),
intval($message_id)
);
header('Content-type: application/json');
- echo json_encode(array('result' => (($item_flags & ITEM_STARRED) ? 1 : 0)));
+ echo json_encode(array('result' => $item_starred));
killme();
}
diff --git a/mod/subthread.php b/mod/subthread.php
index eeb8f131d..9cfe5c24d 100755
--- a/mod/subthread.php
+++ b/mod/subthread.php
@@ -96,30 +96,28 @@ function subthread_content(&$a) {
),
));
- if(! ($item['item_flags'] & ITEM_THREAD_TOP))
+ if(! intval($item['item_thread_top']))
$post_type = 'comment';
-
$bodyverb = t('%1$s is following %2$s\'s %3$s');
- $item_flags = ITEM_ORIGIN | ITEM_NOTSHOWN;
- if($item['item_flags'] & ITEM_WALL)
- $item_flags |= ITEM_WALL;
-
-
$arr = array();
- $arr['mid'] = $mid;
- $arr['aid'] = $owner_aid;
- $arr['uid'] = $owner_uid;
- $arr['item_flags'] = $item_flags;
- $arr['parent'] = $item['id'];
- $arr['parent_mid'] = $item['mid'];
- $arr['thr_parent'] = $item['mid'];
- $arr['owner_xchan'] = $thread_owner['xchan_hash'];
- $arr['author_xchan'] = $observer['xchan_hash'];
+ $arr['mid'] = $mid;
+ $arr['aid'] = $owner_aid;
+ $arr['uid'] = $owner_uid;
+ $arr['parent'] = $item['id'];
+ $arr['parent_mid'] = $item['mid'];
+ $arr['thr_parent'] = $item['mid'];
+ $arr['owner_xchan'] = $thread_owner['xchan_hash'];
+ $arr['author_xchan'] = $observer['xchan_hash'];
+ $arr['item_origin'] = 1;
+ $arr['item_notshown'] = 1;
+ if(intval($item['item_wall']))
+ $arr['item_wall'] = 1;
+ else
+ $arr['item_wall'] = 0;
-
$ulink = '[zrl=' . $item_author['xchan_url'] . ']' . $item_author['xchan_name'] . '[/zrl]';
$alink = '[zrl=' . $observer['xchan_url'] . ']' . $observer['xchan_name'] . '[/zrl]';
$plink = '[zrl=' . $a->get_baseurl() . '/display/' . $item['mid'] . ']' . $post_type . '[/zrl]';
diff --git a/mod/tagger.php b/mod/tagger.php
index f411bd6d5..9f9855ed8 100644
--- a/mod/tagger.php
+++ b/mod/tagger.php
@@ -107,11 +107,9 @@ function tagger_content(&$a) {
$arr['owner_xchan'] = $item['owner_xchan'];
$arr['author_xchan'] = $channel['channel_hash'];
+ $arr['item_origin'] = 1;
+ $arr['item_wall'] = ((intval($item['item_wall'])) ? 1 : 0);
- $arr['item_flags'] = ITEM_ORIGIN;
- if($item['item_flags'] & ITEM_WALL)
- $arr['item_flags'] |= ITEM_WALL;
-
$ulink = '[zrl=' . $channel['xchan_url'] . ']' . $channel['channel_name'] . '[/zrl]';
$alink = '[zrl=' . $item['xchan_url'] . ']' . $item['xchan_name'] . '[/zrl]';
$plink = '[zrl=' . $item['plink'] . ']' . $post_type . '[/zrl]';
diff --git a/mod/tasks.php b/mod/tasks.php
new file mode 100644
index 000000000..ed267cc92
--- /dev/null
+++ b/mod/tasks.php
@@ -0,0 +1,107 @@
+<?php
+
+require_once('include/event.php');
+
+
+function tasks_init(&$a) {
+
+
+// logger('request: ' . print_r($_REQUEST,true));
+
+ $arr = array();
+
+ if(argc() > 1 && argv(1) === 'fetch') {
+ if(argc() > 2 && argv(2) === 'all')
+ $arr['all'] = 1;
+
+ $x = tasks_fetch($arr);
+ if($x['tasks']) {
+ $x['html'] = '';
+ foreach($x['tasks'] as $y) {
+ $x['html'] .= '<div class="tasklist-item"><input type="checkbox" onchange="taskComplete(' . $y['id'] . '); return false;" /> ' . $y['summary'] . '</div>';
+ }
+ }
+ json_return_and_die($x);
+ }
+
+}
+
+
+
+function tasks_post(&$a) {
+
+
+// logger('post: ' . print_r($_POST,true));
+
+
+ if(! local_channel())
+ return;
+
+ $channel = $a->get_channel();
+
+ if((argc() > 2) && (argv(1) === 'complete') && intval(argv(2))) {
+ $ret = array('success' => false);
+ $r = q("select * from event where `type` = 'task' and uid = %d and id = %d limit 1",
+ intval(local_channel()),
+ intval(argv(2))
+ );
+ if($r) {
+ $event = $r[0];
+ if($event['event_status'] === 'COMPLETED') {
+ $event['event_status'] = 'IN-PROCESS';
+ $event['event_status_date'] = NULL_DATE;
+ $event['event_percent'] = 0;
+ $event['event_sequence'] = $event['event_sequence'] + 1;
+ $event['edited'] = datetime_convert();
+ }
+ else {
+ $event['event_status'] = 'COMPLETED';
+ $event['event_status_date'] = datetime_convert();
+ $event['event_percent'] = 100;
+ $event['event_sequence'] = $event['event_sequence'] + 1;
+ $event['edited'] = datetime_convert();
+ }
+ $x = event_store_event($event);
+ if($x)
+ $ret['success'] = true;
+ }
+ json_return_and_die($ret);
+ }
+
+ if(argc() == 2 && argv(1) === 'new') {
+ $text = escape_tags(trim($_REQUEST['summary']));
+ if(! $text)
+ return array('success' => false);
+ $event = array();
+ $event['aid'] = $channel['channel_account_id'];
+ $event['uid'] = $channel['channel_id'];
+ $event['event_xchan'] = $channel['channel_hash'];
+ $event['type'] = 'task';
+ $event['nofinish'] = true;
+ $event['created'] = $event['edited'] = $event['start'] = datetime_convert();
+ $event['adjust'] = 1;
+ $event['allow_cid'] = '<' . $channel['channel_hash'] . '>';
+ $event['summary'] = escape_tags($_REQUEST['summary']);
+ $x = event_store_event($event);
+ if($x)
+ $x['success'] = true;
+ else
+ $x = array('success' => false);
+ json_return_and_die($x);
+ }
+
+
+}
+
+
+
+
+
+function tasks_content(&$a) {
+
+ if(! local_channel())
+ return;
+
+
+ return '';
+} \ No newline at end of file
diff --git a/mod/thing.php b/mod/thing.php
index 842832d16..03dc7db5b 100644
--- a/mod/thing.php
+++ b/mod/thing.php
@@ -5,8 +5,9 @@
*/
require_once('include/items.php');
+require_once('include/security.php');
require_once('include/contact_selectors.php');
-
+require_once('include/acl_selectors.php');
function thing_init(&$a) {
@@ -65,46 +66,57 @@ function thing_init(&$a) {
if((! $name) || (! $translated_verb))
return;
+ $acl = new AccessList($channel);
+
+ if(array_key_exists('contact_allow',$_REQUEST)
+ || array_key_exists('group_allow',$_REQUEST)
+ || array_key_exists('contact_deny',$_REQUEST)
+ || array_key_exists('group_deny',$_REQUEST)) {
+ $acl->set_from_array($_REQUEST);
+ }
+
+ $x = $acl->get();
+
if($term_hash) {
- $t = q("select * from obj left join term on obj_obj = term_hash where term_hash != '' and obj_type = %d and term_hash = '%s' limit 1",
- intval(TERM_OBJ_THING),
- dbesc($term_hash)
+ $t = q("select * from obj where obj_obj = '%s' and obj_channel = %d limit 1",
+ dbesc($term_hash),
+ intval(local_channel())
);
if(! $t) {
notice( t('Item not found.') . EOL);
return;
}
$orig_record = $t[0];
- if($photo != $orig_record['imgurl']) {
- $arr = import_profile_photo($photo,get_observer_hash(),true);
+ if($photo != $orig_record['obj_imgurl']) {
+ $arr = import_xchan_photo($photo,get_observer_hash(),true);
$local_photo = $arr[0];
$local_photo_type = $arr[3];
}
else
- $local_photo = $orig_record['imgurl'];
+ $local_photo = $orig_record['obj_imgurl'];
- $r = q("update term set term = '%s', url = '%s', imgurl = '%s' where term_hash = '%s' and uid = %d",
+ $r = q("update obj set obj_term = '%s', obj_url = '%s', obj_imgurl = '%s', obj_edited = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where obj_obj = '%s' and obj_channel = %d ",
dbesc($name),
dbesc(($url) ? $url : z_root() . '/thing/' . $term_hash),
dbesc($local_photo),
+ dbesc(datetime_convert()),
+ dbesc($x['allow_cid']),
+ dbesc($x['allow_gid']),
+ dbesc($x['deny_cid']),
+ dbesc($x['deny_gid']),
dbesc($term_hash),
intval(local_channel())
);
info( t('Thing updated') . EOL);
- $datestamp = datetime_convert();
-
- $r = q("select obj.*, term.term as obj_term, term.url as obj_url, term.imgurl as obj_imgurl, '%s' as obj_created, '%s' as obj_edited, '%s' as obj_baseurl from obj left join term on obj_obj = term.term_hash where obj_channel = %d and term.term_hash = '%s'",
- dbesc($datestamp),
- dbesc($datestamp),
- dbesc(z_root()),
+ $r = q("select * from obj where obj_channel = %d and obj_obj = '%s' limit 1",
intval(local_channel()),
dbesc($term_hash)
);
-
- if($r)
- build_sync_packet(0,array('obj' => $r));
+ if($r) {
+ build_sync_packet(0, array('obj' => $r));
+ }
return;
}
@@ -122,45 +134,29 @@ function thing_init(&$a) {
$local_photo = null;
if($photo) {
- $arr = import_profile_photo($photo,get_observer_hash(),true);
+ $arr = import_xchan_photo($photo,get_observer_hash(),true);
$local_photo = $arr[0];
$local_photo_type = $arr[3];
}
- $r = q("select * from term where uid = %d and otype = %d and type = %d and term = '%s' limit 1",
- intval(local_channel()),
- intval(TERM_OBJ_THING),
- intval(TERM_THING),
- dbesc($name)
- );
- if(! $r) {
- $r = q("insert into term ( aid, uid, oid, otype, type, term, url, imgurl, term_hash )
- values( %d, %d, %d, %d, %d, '%s', '%s', '%s', '%s' ) ",
- intval($account_id),
- intval(local_channel()),
- 0,
- intval(TERM_OBJ_THING),
- intval(TERM_THING),
- dbesc($name),
- dbesc(($url) ? $url : z_root() . '/thing/' . $hash),
- dbesc(($photo) ? $local_photo : ''),
- dbesc($hash)
- );
- $r = q("select * from term where uid = %d and otype = %d and type = %d and term = '%s' limit 1",
- intval(local_channel()),
- intval(TERM_OBJ_THING),
- intval(TERM_THING),
- dbesc($name)
- );
- }
- $term = $r[0];
+ $created = datetime_convert();
+ $url = (($url) ? $url : z_root() . '/thing/' . $hash);
- $r = q("insert into obj ( obj_page, obj_verb, obj_type, obj_channel, obj_obj) values ('%s','%s', %d, %d, '%s') ",
+ $r = q("insert into obj ( obj_page, obj_verb, obj_type, obj_channel, obj_obj, obj_term, obj_url, obj_imgurl, obj_created, obj_edited, allow_cid, allow_gid, deny_cid, deny_gid ) values ('%s','%s', %d, %d, '%s','%s','%s','%s','%s','%s','%s','%s','%s','%s') ",
dbesc($profile['profile_guid']),
dbesc($verb),
intval(TERM_OBJ_THING),
intval(local_channel()),
- dbesc($term['term_hash'])
+ dbesc($hash),
+ dbesc($name),
+ dbesc($url),
+ dbesc(($photo) ? $local_photo : ''),
+ dbesc($created),
+ dbesc($created),
+ dbesc($x['allow_cid']),
+ dbesc($x['allow_gid']),
+ dbesc($x['deny_cid']),
+ dbesc($x['deny_gid'])
);
if(! $r) {
@@ -169,24 +165,18 @@ function thing_init(&$a) {
}
info( t('Thing added'));
-
- $datestamp = datetime_convert();
-
- $r = q("select obj.*, term.term as obj_term, term.url as obj_url, term.imgurl as obj_imgurl, '%s' as obj_created, '%s' as obj_edited, '%s' as obj_baseurl from obj left join term on obj_obj = term.term_hash where obj_channel = %d and term.term_hash = '%s' ",
- dbesc($datestamp),
- dbesc($datestamp),
- dbesc(z_root()),
+
+ $r = q("select * from obj where obj_channel = %d and obj_obj = '%s' limit 1",
intval(local_channel()),
- dbesc($term['term_hash'])
+ dbesc($hash)
);
-
- if($r)
- build_sync_packet(0,array('obj' => $r));
-
+ if($r) {
+ build_sync_packet(0, array('obj' => $r));
+ }
if($activity) {
$arr = array();
- $links = array(array('rel' => 'alternate','type' => 'text/html', 'href' => $term['url']));
+ $links = array(array('rel' => 'alternate','type' => 'text/html', 'href' => $url));
if($local_photo)
$links[] = array('rel' => 'photo', 'type' => $local_photo_type, 'href' => $local_photo);
@@ -194,10 +184,10 @@ function thing_init(&$a) {
$obj = json_encode(array(
'type' => $objtype,
- 'id' => $term['url'],
+ 'id' => $url,
'link' => $links,
- 'title' => $term['term'],
- 'content' => $term['term']
+ 'title' => $name,
+ 'content' => $name
));
$bodyverb = str_replace('OBJ: ', '',t('OBJ: %1$s %2$s %3$s'));
@@ -205,10 +195,12 @@ function thing_init(&$a) {
$arr['owner_xchan'] = $channel['channel_hash'];
$arr['author_xchan'] = $channel['channel_hash'];
- $arr['item_flags'] = ITEM_ORIGIN|ITEM_WALL|ITEM_THREAD_TOP;
+ $arr['item_origin'] = 1;
+ $arr['item_wall'] = 1;
+ $arr['item_thread_top'] = 1;
$ulink = '[zrl=' . $channel['xchan_url'] . ']' . $channel['channel_name'] . '[/zrl]';
- $plink = '[zrl=' . $term['url'] . ']' . $term['term'] . '[/zrl]';
+ $plink = '[zrl=' . $url . ']' . $name . '[/zrl]';
$arr['body'] = sprintf( $bodyverb, $ulink, $translated_verb, $plink );
@@ -244,7 +236,9 @@ function thing_content(&$a) {
if(argc() == 2) {
- $r = q("select * from obj left join term on obj_obj = term_hash where term_hash != '' and obj_type = %d and term_hash = '%s' limit 1",
+ $sql_extra = permissions_sql();
+
+ $r = q("select * from obj where obj_type = %d and obj_obj = '%s' $sql_extra limit 1",
intval(TERM_OBJ_THING),
dbesc(argv(1))
);
@@ -270,12 +264,17 @@ function thing_content(&$a) {
return;
}
+ $acl = new AccessList($channel);
+ $channel_acl = $acl->get();
+
+ $lockstate = (($acl->is_private()) ? 'lock' : 'unlock');
+
$thing_hash = '';
if(argc() == 3 && argv(1) === 'edit') {
$thing_hash = argv(2);
- $r = q("select * from obj left join term on obj_obj = term_hash where term_hash != '' and obj_type = %d and term_hash = '%s' limit 1",
+ $r = q("select * from obj where obj_type = %d and obj_obj = '%s' limit 1",
intval(TERM_OBJ_THING),
dbesc($thing_hash)
);
@@ -295,11 +294,14 @@ function thing_content(&$a) {
'$activity' => array('activity',t('Post an activity'),true,t('Only sends to viewers of the applicable profile')),
'$thing_hash' => $thing_hash,
'$thing_lbl' => t('Name of thing e.g. something'),
- '$thething' => $r[0]['term'],
+ '$thething' => $r[0]['obj_term'],
'$url_lbl' => t('URL of thing (optional)'),
- '$theurl' => $r[0]['url'],
+ '$theurl' => $r[0]['obj_url'],
'$img_lbl' => t('URL for photo of thing (optional)'),
- '$imgurl' => $r[0]['imgurl'],
+ '$imgurl' => $r[0]['obj_imgurl'],
+ '$permissions' => t('Permissions'),
+ '$aclselect' => populate_acl($channel_acl,false),
+ '$lockstate' => $lockstate,
'$submit' => t('Submit')
));
@@ -309,7 +311,7 @@ function thing_content(&$a) {
if(argc() == 3 && argv(1) === 'drop') {
$thing_hash = argv(2);
- $r = q("select * from obj left join term on obj_obj = term_hash where term_hash != '' and obj_type = %d and term_hash = '%s' limit 1",
+ $r = q("select * from obj where obj_type = %d and obj_obj = '%s' limit 1",
intval(TERM_OBJ_THING),
dbesc($thing_hash)
);
@@ -324,10 +326,10 @@ function thing_content(&$a) {
intval(TERM_OBJ_THING),
intval(local_channel())
);
- $x = q("delete from term where term_hash = '%s' and uid = %d",
- dbesc($thing_hash),
- intval(local_channel())
- );
+
+ $r[0]['obj_deleted'] = 1;
+
+ build_sync_packet(0,array('obj' => $r));
return $o;
}
@@ -343,6 +345,9 @@ function thing_content(&$a) {
'$thing_lbl' => t('Name of thing e.g. something'),
'$url_lbl' => t('URL of thing (optional)'),
'$img_lbl' => t('URL for photo of thing (optional)'),
+ '$permissions' => t('Permissions'),
+ '$aclselect' => populate_acl($channel_acl,false),
+ '$lockstate' => $lockstate,
'$submit' => t('Submit')
));
diff --git a/mod/uexport.php b/mod/uexport.php
index fbbe9953b..df66474f1 100644
--- a/mod/uexport.php
+++ b/mod/uexport.php
@@ -46,7 +46,9 @@ function uexport_content(&$a) {
'$basictitle' => t('Export Channel'),
'$basic' => t('Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but does not contain your content.'),
'$fulltitle' => t('Export Content'),
- '$full' => t('Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin.')
+ '$full' => t('Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and the last year of posts. This file may be VERY large. Please be patient - it may take several minutes for this download to begin.'),
+ '$by_year' => t('Export your posts from a given year.'),
+
));
return $o;
}
diff --git a/mod/update_channel.php b/mod/update_channel.php
index bdde0a3be..5f4436d59 100644
--- a/mod/update_channel.php
+++ b/mod/update_channel.php
@@ -37,7 +37,7 @@ function update_channel_content(&$a) {
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
$replace = "<img\${1} dst=\"\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+// $text = preg_replace($pattern, $replace, $text);
if(! $load) {
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
diff --git a/mod/update_display.php b/mod/update_display.php
index 5802852bb..d41e2e5cb 100644
--- a/mod/update_display.php
+++ b/mod/update_display.php
@@ -19,7 +19,7 @@ function update_display_content(&$a) {
$text = display_content($a,$profile_uid, $load);
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
$replace = "<img\${1} dst=\"\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+// $text = preg_replace($pattern, $replace, $text);
if(! $load) {
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
diff --git a/mod/update_home.php b/mod/update_home.php
index c139682e1..80ae2438f 100644
--- a/mod/update_home.php
+++ b/mod/update_home.php
@@ -15,7 +15,7 @@ function update_home_content(&$a) {
$text = home_content($a,$profile_uid, $load);
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
$replace = "<img\${1} dst=\"\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+// $text = preg_replace($pattern, $replace, $text);
if(! $load) {
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
diff --git a/mod/update_network.php b/mod/update_network.php
index 0021af876..acd5ccdc8 100644
--- a/mod/update_network.php
+++ b/mod/update_network.php
@@ -17,7 +17,7 @@ function update_network_content(&$a) {
$text = network_content($a,$profile_uid, $load);
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
$replace = "<img\${1} dst=\"\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+// $text = preg_replace($pattern, $replace, $text);
if(! $load) {
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
diff --git a/mod/update_public.php b/mod/update_public.php
index d0a08e0e6..bac1ccf15 100644
--- a/mod/update_public.php
+++ b/mod/update_public.php
@@ -15,7 +15,7 @@ function update_public_content(&$a) {
$text = public_content($a,$profile_uid, $load);
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
$replace = "<img\${1} dst=\"\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+// $text = preg_replace($pattern, $replace, $text);
if(! $load) {
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
diff --git a/mod/update_search.php b/mod/update_search.php
index ec7599b79..de29e89bd 100644
--- a/mod/update_search.php
+++ b/mod/update_search.php
@@ -40,7 +40,7 @@ function update_search_content(&$a) {
$pattern = "/<img([^>]*) src=\"([^\"]*)\"/";
$replace = "<img\${1} dst=\"\${2}\"";
- $text = preg_replace($pattern, $replace, $text);
+// $text = preg_replace($pattern, $replace, $text);
if(! $load) {
$replace = '<br />' . t('[Embedded content - reload page to view]') . '<br />';
diff --git a/mod/viewconnections.php b/mod/viewconnections.php
index ef6681e64..d9a9aecc1 100644
--- a/mod/viewconnections.php
+++ b/mod/viewconnections.php
@@ -34,26 +34,23 @@ function viewconnections_content(&$a) {
$is_owner = ((local_channel() && local_channel() == $a->profile['uid']) ? true : false);
- $abook_flags = ABOOK_FLAG_PENDING|ABOOK_FLAG_SELF;
- $xchan_flags = XCHAN_FLAGS_ORPHAN|XCHAN_FLAGS_DELETED;
+ $abook_flags = " and abook_pending = 0 and abook_self = 0 ";
+ $sql_extra = '';
+
if(! $is_owner) {
- $abook_flags = $abook_flags | ABOOK_FLAG_HIDDEN;
- $xchan_flags = $xchan_flags | XCHAN_FLAGS_HIDDEN;
+ $abook_flags = " and abook_hidden = 0 ";
+ $sql_extra = " and xchan_hidden = 0 ";
}
- $r = q("SELECT count(*) as total FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d )>0 and not ( xchan_flags & %d )>0 ",
- intval($a->profile['uid']),
- intval($abook_flags),
- intval($xchan_flags)
+ $r = q("SELECT count(*) as total FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d $abook_flags and xchan_orphan = 0 and xchan_deleted = 0 $sql_extra ",
+ intval($a->profile['uid'])
);
if($r) {
$a->set_pager_total($r[0]['total']);
}
- $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not ( abook_flags & %d )>0 and not ( xchan_flags & %d )>0 order by xchan_name LIMIT %d OFFSET %d ",
+ $r = q("SELECT * FROM abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d $abook_flags and xchan_orphan = 0 and xchan_deleted = 0 $sql_extra order by xchan_name LIMIT %d OFFSET %d ",
intval($a->profile['uid']),
- intval($abook_flags),
- intval($xchan_flags),
intval($a->pager['itemspage']),
intval($a->pager['start'])
);
@@ -71,7 +68,7 @@ function viewconnections_content(&$a) {
if($url) {
$contacts[] = array(
'id' => $rr['abook_id'],
- 'archived' => (($rr['abook_flags'] & ABOOK_FLAG_ARCHIVED) ? true : false),
+ 'archived' => (intval($rr['abook_archived']) ? true : false),
'img_hover' => sprintf( t('Visit %s\'s profile [%s]'), $rr['xchan_name'], $rr['xchan_url']),
'thumb' => $rr['xchan_photo_m'],
'name' => substr($rr['xchan_name'],0,20),
diff --git a/mod/viewsrc.php b/mod/viewsrc.php
index 3125ae4c0..cffb01b6e 100644
--- a/mod/viewsrc.php
+++ b/mod/viewsrc.php
@@ -20,15 +20,17 @@ function viewsrc_content(&$a) {
notice( t('Item not found.') . EOL);
}
+ $item_normal = item_normal();
+
if(local_channel() && $item_id) {
- $r = q("select item_flags, body, id from item where item_restrict = 0 and uid in (%d , %d) and id = %d limit 1",
+ $r = q("select id, item_flags, item_obscured, body from item where uid in (%d , %d) and id = %d $item_normal limit 1",
intval(local_channel()),
intval($sys['channel_id']),
intval($item_id)
);
if($r) {
- if($r[0]['item_flags'] & ITEM_OBSCURED)
+ if(intval($r[0]['item_obscured']))
$r[0]['body'] = crypto_unencapsulate(json_decode($r[0]['body'],true),get_config('system','prvkey'));
$o = (($json) ? json_encode($r[0]['body']) : str_replace("\n",'<br />',$r[0]['body']));
}
diff --git a/mod/wall_attach.php b/mod/wall_attach.php
index 4b7103802..8677c2b83 100644
--- a/mod/wall_attach.php
+++ b/mod/wall_attach.php
@@ -21,30 +21,39 @@ function wall_attach_post(&$a) {
$observer = $a->get_observer();
- if($_FILES['userfile']['tmp_name']) {
- $x = @getimagesize($_FILES['userfile']['tmp_name']);
- logger('getimagesize: ' . print_r($x,true), LOGGER_DATA);
- if(($x) && ($x[2] === IMAGETYPE_GIF || $x[2] === IMAGETYPE_JPEG || $x[2] === IMAGETYPE_PNG)) {
- $args = array( 'source' => 'editor', 'visible' => 0, 'contact_allow' => array($channel['channel_hash']));
- $ret = photo_upload($channel,$observer,$args);
- if($ret['success']) {
- echo "\n\n" . $ret['body'] . "\n\n";
- killme();
- }
- if($using_api)
- return;
- notice($ret['message']);
- killme();
- }
- }
-
- $r = attach_store($channel,(($observer) ? $observer['xchan_hash'] : ''));
+// if($_FILES['userfile']['tmp_name']) {
+// $x = @getimagesize($_FILES['userfile']['tmp_name']);
+// logger('getimagesize: ' . print_r($x,true), LOGGER_DATA);
+// if(($x) && ($x[2] === IMAGETYPE_GIF || $x[2] === IMAGETYPE_JPEG || $x[2] === IMAGETYPE_PNG)) {
+// $args = array( 'source' => 'editor', 'visible' => 0, 'contact_allow' => array($channel['channel_hash']));
+// $ret = photo_upload($channel,$observer,$args);
+// if($ret['success']) {
+// echo "\n\n" . $ret['body'] . "\n\n";
+// killme();
+// }
+// if($using_api)
+// return;
+// notice($ret['message']);
+// killme();
+// }
+// }
+
+ $def_album = get_pconfig($channel['channel_id'],'system','photo_path');
+ $def_attach = get_pconfig($channel['channel_id'],'system','attach_path');
+
+ $r = attach_store($channel,(($observer) ? $observer['xchan_hash'] : ''),'', array('source' => 'editor', 'visible' => 0, 'album' => $def_album, 'directory' => $def_attach, 'allow_cid' => '<' . $channel['channel_hash'] . '>'));
if(! $r['success']) {
notice( $r['message'] . EOL);
killme();
}
+ if(intval($r['data']['is_photo'])) {
+ echo "\n\n" . $r['body'] . "\n\n";
+ if($using_api)
+ return;
+ killme();
+ }
echo "\n\n" . '[attachment]' . $r['data']['hash'] . ',' . $r['data']['revision'] . '[/attachment]' . "\n";
killme();
diff --git a/mod/webpages.php b/mod/webpages.php
index 362f7bacb..8e12b5910 100644
--- a/mod/webpages.php
+++ b/mod/webpages.php
@@ -102,7 +102,7 @@ function webpages_content(&$a) {
$o = profile_tabs($a, $is_owner, $a->profile['channel_address']);
$x = array(
- 'webpage' => ITEM_WEBPAGE,
+ 'webpage' => ITEM_TYPE_WEBPAGE,
'is_owner' => true,
'nickname' => $a->profile['channel_address'],
'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
@@ -133,9 +133,9 @@ function webpages_content(&$a) {
$sql_extra = item_permissions_sql($owner);
$r = q("select * from item_id left join item on item_id.iid = item.id
- where item_id.uid = %d and service = 'WEBPAGE' and item_restrict = %d $sql_extra order by item.created desc",
+ where item_id.uid = %d and service = 'WEBPAGE' and item_type = %d $sql_extra order by item.created desc",
intval($owner),
- intval(ITEM_WEBPAGE)
+ intval(ITEM_TYPE_WEBPAGE)
);
$pages = null;
diff --git a/mod/xrd.php b/mod/xrd.php
index 4fa81c7f3..d547194ad 100644
--- a/mod/xrd.php
+++ b/mod/xrd.php
@@ -24,7 +24,7 @@ function xrd_init(&$a) {
$dspr = replace_macros(get_markup_template('xrd_diaspora.tpl'),array(
'$baseurl' => $a->get_baseurl(),
- '$dspr_guid' => $r[0]['channel_guid'],
+ '$dspr_guid' => $r[0]['channel_guid'] . str_replace('.','',$a->get_hostname()),
'$dspr_key' => base64_encode(pemtorsa($r[0]['channel_pubkey']))
));
diff --git a/mod/zfinger.php b/mod/zfinger.php
index 6b93b3410..ba80fc9b6 100644
--- a/mod/zfinger.php
+++ b/mod/zfinger.php
@@ -74,14 +74,10 @@ function zfinger_init(&$a) {
*/
$r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
- where ( channel_pageflags & %d )>0 order by channel_id limit 1",
- intval(PAGE_SYSTEM)
- );
+ where channel_system = 1 order by channel_id limit 1");
if(! $r) {
$r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
- where not ( channel_pageflags & %d )>0 order by channel_id limit 1",
- intval(PAGE_REMOVED)
- );
+ where channel_removed = 0 order by channel_id limit 1");
}
}
}
@@ -99,12 +95,12 @@ function zfinger_init(&$a) {
$id = $e['channel_id'];
- $sys_channel = (($e['channel_pageflags'] & PAGE_SYSTEM) ? true : false);
+ $sys_channel = (intval($e['channel_system']) ? true : false);
$special_channel = (($e['channel_pageflags'] & PAGE_PREMIUM) ? true : false);
$adult_channel = (($e['channel_pageflags'] & PAGE_ADULT) ? true : false);
$censored = (($e['channel_pageflags'] & PAGE_CENSORED) ? true : false);
$searchable = (($e['channel_pageflags'] & PAGE_HIDDEN) ? false : true);
- $deleted = (($e['xchan_flags'] & XCHAN_FLAGS_DELETED) ? true : false);
+ $deleted = (intval($e['xchan_deleted']) ? true : false);
if($deleted || $censored || $sys_channel)
$searchable = false;
@@ -112,14 +108,13 @@ function zfinger_init(&$a) {
$public_forum = false;
$role = get_pconfig($e['channel_id'],'system','permissions_role');
- if($role === 'forum') {
+ if($role === 'forum' || $role === 'repository') {
$public_forum = true;
}
else {
// check if it has characteristics of a public forum based on custom permissions.
- $t = q("select abook_my_perms from abook where abook_channel = %d and (abook_flags & %d)>0 limit 1",
- intval($e['channel_id']),
- intval(ABOOK_FLAG_SELF)
+ $t = q("select abook_my_perms from abook where abook_channel = %d and abook_self = 1 limit 1",
+ intval($e['channel_id'])
);
if($t && ($t[0]['abook_my_perms'] & PERMS_W_TAGWALL))
$public_forum = true;
diff --git a/mod/zotfeed.php b/mod/zotfeed.php
index 78a667330..fffb0e4ab 100644
--- a/mod/zotfeed.php
+++ b/mod/zotfeed.php
@@ -9,7 +9,7 @@ function zotfeed_init(&$a) {
$mindate = (($_REQUEST['mindate']) ? datetime_convert('UTC','UTC',$_REQUEST['mindate']) : '');
if(! $mindate)
- $mindate = datetime_convert('UTC','UTC', 'now - 4 days');
+ $mindate = datetime_convert('UTC','UTC', 'now - 14 days');
if(get_config('system','block_public') && (! get_account_id()) && (! remote_channel())) {
$result['message'] = 'Public access denied';
@@ -21,16 +21,15 @@ function zotfeed_init(&$a) {
$channel_address = ((argc() > 1) ? argv(1) : '');
if($channel_address) {
- $r = q("select channel_id, channel_name from channel where channel_address = '%s' and not (channel_pageflags & %d) > 0 limit 1",
- dbesc(argv(1)),
- intval(PAGE_REMOVED)
+ $r = q("select channel_id, channel_name from channel where channel_address = '%s' and channel_removed = 0 limit 1",
+ dbesc(argv(1))
);
}
else {
$x = get_sys_channel();
if($x)
$r = array($x);
- $mindate = datetime_convert('UTC','UTC', 'now - 2 days');
+ $mindate = datetime_convert('UTC','UTC', 'now - 14 days');
}
if(! $r) {
$result['message'] = 'Channel not found.';
diff --git a/util/Doxyfile b/util/Doxyfile
index f700c2abe..55acd46eb 100644
--- a/util/Doxyfile
+++ b/util/Doxyfile
@@ -1,6 +1,6 @@
INPUT = README.md index.php boot.php mod/ include/ util/ view/ version.inc
RECURSIVE = YES
-PROJECT_NAME = "The RedMatrix"
+PROJECT_NAME = "The Hubzilla"
PROJECT_LOGO = images/rm-64.png
EXCLUDE = .htconfig.php library/ doc/ vendor/ .git/ util/zotsh/easywebdav/
EXCLUDE_PATTERNS = *smarty3* *strings.php *.out *test*
diff --git a/util/README b/util/README
index 9d8fe299c..991a3fe51 100644
--- a/util/README
+++ b/util/README
@@ -115,7 +115,7 @@ When strings are added or modified in source, you could run
to extract strings from source files and join them with the existing .po file:
new strings are added, the existing are not overwritten.
-If you already translated the RedMatrix using strings.php, you could import your old
+If you already translated the Hubzilla using strings.php, you could import your old
translation to messages.po. Run:
$ php util/php2po.php view/<language>/strings.php
diff --git a/util/importdoc b/util/importdoc
new file mode 100755
index 000000000..b89e12e97
--- /dev/null
+++ b/util/importdoc
@@ -0,0 +1,33 @@
+#!/usr/bin/env php
+<?php
+
+require_once('include/cli_startup.php');
+
+cli_startup();
+
+require_once('mod/help.php');
+
+function update_docs_dir($s) {
+ $f = basename($s);
+ $d = dirname($s);
+ if($s === 'doc/html')
+ return;
+
+ $files = glob("$d/$f");
+ if($files) {
+ foreach($files as $fi) {
+ if($fi === 'doc/html')
+ continue;
+ echo $fi . "\n";
+ if(is_dir($fi))
+ update_docs_dir("$fi/*");
+ else
+ store_doc_file($fi);
+ }
+ }
+}
+
+update_docs_dir('doc/*');
+
+
+
diff --git a/util/messages.po b/util/messages.po
index 0d25665dd..692012537 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -1,14 +1,20 @@
-# Red Matrix Project
-# Copyright (C) 2012-2014 the Red Matrix Project
+# Hubzilla Project
+# Copyright (C) 2012-2014 the Hubzilla Project
# This file is distributed under the same license as the Red package.
# Mike Macgirvin, 2012
#
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 2015-08-28.1138\n"
+<<<<<<< HEAD
+"Project-Id-Version: 2015-05-29.1047\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-08-28 00:04-0700\n"
+"POT-Creation-Date: 2015-05-29 00:04-0700\n"
+=======
+"Project-Id-Version: 2015-07-03.1082\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2015-07-03 00:04-0700\n"
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -24,107 +30,476 @@ msgstr ""
#: ../../include/photo/photo_driver.php:687 ../../mod/profile_photo.php:143
#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
-#: ../../mod/photos.php:92 ../../mod/photos.php:637
+#: ../../mod/photos.php:91 ../../mod/photos.php:625
msgid "Profile Photos"
msgstr ""
-#: ../../include/menu.php:107 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:266
-#: ../../include/ItemObject.php:100 ../../include/apps.php:254
-#: ../../mod/webpages.php:181 ../../mod/thing.php:227
-#: ../../mod/connections.php:242 ../../mod/connections.php:255
-#: ../../mod/connections.php:274 ../../mod/blocks.php:153
-#: ../../mod/editpost.php:106 ../../mod/editlayout.php:133
-#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:134
-#: ../../mod/menu.php:103 ../../mod/settings.php:650 ../../mod/layouts.php:183
-msgid "Edit"
+#: ../../include/text.php:395
+msgid "prev"
msgstr ""
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
+#: ../../include/text.php:397
+msgid "first"
msgstr ""
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
+#: ../../include/text.php:426
+msgid "last"
msgstr ""
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
+#: ../../include/text.php:429
+msgid "next"
msgstr ""
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
+#: ../../include/text.php:439
+msgid "older"
msgstr ""
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
+#: ../../include/text.php:441
+msgid "newer"
msgstr ""
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
+#: ../../include/text.php:834
+msgid "No connections"
msgstr ""
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
+#: ../../include/text.php:848
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/text.php:861 ../../mod/viewconnections.php:104
+msgid "View Connections"
msgstr ""
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
+#: ../../include/text.php:918 ../../include/text.php:930
+#: ../../include/nav.php:165 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
msgstr ""
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
+#: ../../include/text.php:919 ../../include/text.php:931
+#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
+#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1448
+#: ../../mod/admin.php:1468
+msgid "Save"
msgstr ""
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
-#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
-#: ../../boot.php:1553
-msgid "Email"
+#: ../../include/text.php:994
+msgid "poke"
msgstr ""
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
+#: ../../include/text.php:994 ../../include/conversation.php:243
+msgid "poked"
msgstr ""
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
+#: ../../include/text.php:995
+msgid "ping"
msgstr ""
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
+#: ../../include/text.php:995
+msgid "pinged"
msgstr ""
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
+#: ../../include/text.php:996
+msgid "prod"
msgstr ""
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
+#: ../../include/text.php:996
+msgid "prodded"
msgstr ""
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
+#: ../../include/text.php:997
+msgid "slap"
msgstr ""
-#: ../../include/notify.php:23
-msgid "created a new post"
+#: ../../include/text.php:997
+msgid "slapped"
msgstr ""
-#: ../../include/notify.php:24
+#: ../../include/text.php:998
+msgid "finger"
+msgstr ""
+
+#: ../../include/text.php:998
+msgid "fingered"
+msgstr ""
+
+#: ../../include/text.php:999
+msgid "rebuff"
+msgstr ""
+
+#: ../../include/text.php:999
+msgid "rebuffed"
+msgstr ""
+
+#: ../../include/text.php:1009
+msgid "happy"
+msgstr ""
+
+#: ../../include/text.php:1010
+msgid "sad"
+msgstr ""
+
+#: ../../include/text.php:1011
+msgid "mellow"
+msgstr ""
+
+#: ../../include/text.php:1012
+msgid "tired"
+msgstr ""
+
+#: ../../include/text.php:1013
+msgid "perky"
+msgstr ""
+
+#: ../../include/text.php:1014
+msgid "angry"
+msgstr ""
+
+#: ../../include/text.php:1015
+msgid "stupified"
+msgstr ""
+
+#: ../../include/text.php:1016
+msgid "puzzled"
+msgstr ""
+
+#: ../../include/text.php:1017
+msgid "interested"
+msgstr ""
+
+#: ../../include/text.php:1018
+msgid "bitter"
+msgstr ""
+
+#: ../../include/text.php:1019
+msgid "cheerful"
+msgstr ""
+
+#: ../../include/text.php:1020
+msgid "alive"
+msgstr ""
+
+#: ../../include/text.php:1021
+msgid "annoyed"
+msgstr ""
+
+#: ../../include/text.php:1022
+msgid "anxious"
+msgstr ""
+
+#: ../../include/text.php:1023
+msgid "cranky"
+msgstr ""
+
+#: ../../include/text.php:1024
+msgid "disturbed"
+msgstr ""
+
+#: ../../include/text.php:1025
+msgid "frustrated"
+msgstr ""
+
+#: ../../include/text.php:1026
+msgid "depressed"
+msgstr ""
+
+#: ../../include/text.php:1027
+msgid "motivated"
+msgstr ""
+
+#: ../../include/text.php:1028
+msgid "relaxed"
+msgstr ""
+
+#: ../../include/text.php:1029
+msgid "surprised"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "Monday"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "Tuesday"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "Wednesday"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "Thursday"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "Friday"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "Saturday"
+msgstr ""
+
+#: ../../include/text.php:1201
+msgid "Sunday"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "January"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "February"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "March"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "April"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "May"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "June"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "July"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "August"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "September"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "October"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "November"
+msgstr ""
+
+#: ../../include/text.php:1205
+msgid "December"
+msgstr ""
+
+#: ../../include/text.php:1310
+msgid "unknown.???"
+msgstr ""
+
+#: ../../include/text.php:1311
+msgid "bytes"
+msgstr ""
+
+#: ../../include/text.php:1347
+msgid "remove category"
+msgstr ""
+
+#: ../../include/text.php:1422
+msgid "remove from file"
+msgstr ""
+
+#: ../../include/text.php:1498 ../../include/text.php:1509
+#: ../../mod/connedit.php:667
+msgid "Click to open/close"
+msgstr ""
+
+#: ../../include/text.php:1665 ../../mod/events.php:444
+msgid "Link to Source"
+msgstr ""
+
+#: ../../include/text.php:1686 ../../include/text.php:1757
+msgid "default"
+msgstr ""
+
+#: ../../include/text.php:1694
+msgid "Page layout"
+msgstr ""
+
+#: ../../include/text.php:1694
+msgid "You can create your own with the layouts tool"
+msgstr ""
+
+#: ../../include/text.php:1735
+msgid "Page content type"
+msgstr ""
+
+#: ../../include/text.php:1769
+msgid "Select an alternate language"
+msgstr ""
+
+<<<<<<< HEAD
+#: ../../include/text.php:1888 ../../include/conversation.php:120
+#: ../../include/diaspora.php:2082 ../../mod/like.php:346
+=======
+#: ../../include/text.php:1888 ../../include/diaspora.php:2115
+#: ../../include/conversation.php:120 ../../mod/like.php:346
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:43
+msgid "photo"
+msgstr ""
+
+#: ../../include/text.php:1891 ../../include/conversation.php:123
+#: ../../mod/like.php:348 ../../mod/tagger.php:47
+msgid "event"
+msgstr ""
+
+<<<<<<< HEAD
+#: ../../include/text.php:1894 ../../include/conversation.php:148
+#: ../../include/diaspora.php:2082 ../../mod/like.php:346
+=======
+#: ../../include/text.php:1894 ../../include/diaspora.php:2115
+#: ../../include/conversation.php:148 ../../mod/like.php:346
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+msgid "status"
+msgstr ""
+
+#: ../../include/text.php:1896 ../../include/conversation.php:150
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr ""
+
+#: ../../include/text.php:1901
+msgid "activity"
+msgstr ""
+
+#: ../../include/text.php:2196
+msgid "Design Tools"
+msgstr ""
+
+#: ../../include/text.php:2199 ../../mod/blocks.php:147
+msgid "Blocks"
+msgstr ""
+
+#: ../../include/text.php:2200 ../../mod/menu.php:98
+msgid "Menus"
+msgstr ""
+
+#: ../../include/text.php:2201 ../../mod/layouts.php:174
+msgid "Layouts"
+msgstr ""
+
+#: ../../include/text.php:2202
+msgid "Pages"
+msgstr ""
+
+#: ../../include/text.php:2553 ../../include/RedDAV/RedBrowser.php:131
+msgid "Collection"
+msgstr ""
+
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:761
+#: ../../include/bbcode.php:764 ../../include/bbcode.php:769
+#: ../../include/bbcode.php:772 ../../include/bbcode.php:775
+#: ../../include/bbcode.php:778 ../../include/bbcode.php:783
+#: ../../include/bbcode.php:786 ../../include/bbcode.php:791
+#: ../../include/bbcode.php:794 ../../include/bbcode.php:797
+#: ../../include/bbcode.php:800
+msgid "Image/photo"
+msgstr ""
+
+<<<<<<< HEAD
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:811
+msgid "Encrypted content"
+msgstr ""
+
+#: ../../include/bbcode.php:178
+=======
+#: ../../include/diaspora.php:2144 ../../include/conversation.php:164
+#: ../../mod/like.php:394
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
#, php-format
-msgid "commented on %s's post"
+msgid "Install %s element: "
+msgstr ""
+
+<<<<<<< HEAD
+#: ../../include/bbcode.php:188 ../../mod/impel.php:37
+msgid "webpage"
+msgstr ""
+
+#: ../../include/bbcode.php:191 ../../mod/impel.php:47
+msgid "layout"
msgstr ""
-#: ../../include/Import/import_diaspora.php:17
-msgid "No username found in import file."
+#: ../../include/bbcode.php:194 ../../mod/impel.php:42
+msgid "block"
msgstr ""
+#: ../../include/bbcode.php:208
+msgid "QR code"
+msgstr ""
+
+#: ../../include/bbcode.php:259
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+=======
+#: ../../include/diaspora.php:2490
+msgid "Please choose"
+msgstr ""
+
+#: ../../include/diaspora.php:2492
+msgid "Agree"
+msgstr ""
+
+#: ../../include/diaspora.php:2494
+msgid "Disagree"
+msgstr ""
+
+#: ../../include/diaspora.php:2496
+msgid "Abstain"
+msgstr ""
+
+#: ../../include/diaspora.php:2518 ../../include/diaspora.php:2529
+#: ../../include/network.php:1586 ../../include/enotify.php:59
+#: ../../mod/p.php:46
+msgid "$projectname"
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
+msgstr ""
+
+#: ../../include/bbcode.php:261
+msgid "post"
+msgstr ""
+
+#: ../../include/bbcode.php:511
+msgid "Different viewers will see this text differently"
+msgstr ""
+
+#: ../../include/bbcode.php:722
+msgid "$1 spoiler"
+msgstr ""
+
+#: ../../include/bbcode.php:749
+msgid "$1 wrote:"
+msgstr ""
+
+<<<<<<< HEAD
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr ""
+
+#: ../../include/notify.php:24
+#, php-format
+msgid "commented on %s's post"
+=======
#: ../../include/Import/import_diaspora.php:42 ../../mod/import.php:156
msgid "Unable to create a unique channel address. Import failed."
msgstr ""
-#: ../../include/Import/import_diaspora.php:140 ../../mod/import.php:562
+#: ../../include/Import/import_diaspora.php:140 ../../mod/import.php:504
msgid "Import completed."
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgstr ""
#: ../../include/group.php:26
@@ -138,7 +513,7 @@ msgstr ""
msgid "Default privacy group for new contacts"
msgstr ""
-#: ../../include/group.php:254 ../../mod/admin.php:831
+#: ../../include/group.php:254 ../../mod/admin.php:822
msgid "All Channels"
msgstr ""
@@ -251,7 +626,7 @@ msgstr ""
msgid "YYYY-MM-DD or MM-DD"
msgstr ""
-#: ../../include/datetime.php:235 ../../mod/events.php:649
+#: ../../include/datetime.php:235 ../../mod/events.php:635
#: ../../mod/appman.php:91 ../../mod/appman.php:92
msgid "Required"
msgstr ""
@@ -336,69 +711,41 @@ msgstr ""
msgid "Happy Birthday %1$s"
msgstr ""
-#: ../../include/dir_fns.php:126
-msgid "Directory Options"
-msgstr ""
-
-#: ../../include/dir_fns.php:128
-msgid "Safe Mode"
-msgstr ""
-
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:106
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:428
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../mod/connedit.php:647 ../../mod/connedit.php:675
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "No"
-msgstr ""
-
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:105
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:430
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "Yes"
-msgstr ""
-
-#: ../../include/dir_fns.php:129
-msgid "Public Forums Only"
-msgstr ""
-
-#: ../../include/dir_fns.php:130
-msgid "This Website Only"
-msgstr ""
-
#: ../../include/page_widgets.php:6
msgid "New Page"
msgstr ""
-#: ../../include/page_widgets.php:39 ../../mod/webpages.php:187
+#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../include/RedDAV/RedBrowser.php:269 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:103
+#: ../../mod/settings.php:649 ../../mod/webpages.php:180
+#: ../../mod/thing.php:227 ../../mod/connections.php:382
+#: ../../mod/connections.php:395 ../../mod/connections.php:414
+#: ../../mod/blocks.php:153 ../../mod/editlayout.php:139
+#: ../../mod/editwebpage.php:178 ../../mod/editpost.php:113
+#: ../../mod/menu.php:103 ../../mod/editblock.php:140
+#: ../../mod/layouts.php:183
+msgid "Edit"
+msgstr ""
+
+#: ../../include/page_widgets.php:39 ../../mod/webpages.php:186
#: ../../mod/blocks.php:159 ../../mod/layouts.php:188
msgid "View"
msgstr ""
#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
-#: ../../include/conversation.php:1166 ../../mod/webpages.php:188
-#: ../../mod/events.php:667 ../../mod/editpost.php:143
-#: ../../mod/photos.php:982 ../../mod/editwebpage.php:214
-#: ../../mod/editblock.php:170
+#: ../../include/conversation.php:1155 ../../mod/webpages.php:187
+#: ../../mod/events.php:653 ../../mod/photos.php:970
+#: ../../mod/editwebpage.php:214 ../../mod/editpost.php:150
+#: ../../mod/editblock.php:176
msgid "Preview"
msgstr ""
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:188
msgid "Actions"
msgstr ""
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:189
msgid "Page Link"
msgstr ""
@@ -406,31 +753,95 @@ msgstr ""
msgid "Title"
msgstr ""
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:192
-#: ../../mod/blocks.php:150 ../../mod/menu.php:105 ../../mod/layouts.php:181
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:191
+#: ../../mod/blocks.php:150 ../../mod/layouts.php:181
msgid "Created"
msgstr ""
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:193
-#: ../../mod/blocks.php:151 ../../mod/menu.php:106 ../../mod/layouts.php:182
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:192
+#: ../../mod/blocks.php:151 ../../mod/layouts.php:182
msgid "Edited"
msgstr ""
-#: ../../include/api.php:1234
+#: ../../include/api.php:1193
msgid "Public Timeline"
msgstr ""
-#: ../../include/comanche.php:34 ../../mod/admin.php:390
+#: ../../include/comanche.php:34 ../../mod/admin.php:386
#: ../../view/theme/apw/php/config.php:185
msgid "Default"
msgstr ""
+#: ../../include/dir_fns.php:143
+msgid "Directory Options"
+msgstr ""
+
+#: ../../include/dir_fns.php:144
+msgid "Alphabetic"
+msgstr ""
+
+#: ../../include/dir_fns.php:145
+msgid "Reverse Alphabetic"
+msgstr ""
+
+#: ../../include/dir_fns.php:146
+msgid "Newest to Oldest"
+msgstr ""
+
+#: ../../include/dir_fns.php:147
+msgid "Oldest to Newest"
+msgstr ""
+
+#: ../../include/dir_fns.php:148
+msgid "Sort"
+msgstr ""
+
+#: ../../include/dir_fns.php:152
+msgid "Safe Mode"
+msgstr ""
+
+#: ../../include/dir_fns.php:154
+msgid "Public Forums Only"
+msgstr ""
+
+#: ../../include/dir_fns.php:155
+msgid "This Website Only"
+msgstr ""
+
+#: ../../include/event.php:19 ../../include/bb2diaspora.php:451
+msgid "l F d, Y \\@ g:i A"
+msgstr ""
+
+#: ../../include/event.php:27 ../../include/bb2diaspora.php:457
+msgid "Starts:"
+msgstr ""
+
+#: ../../include/event.php:37 ../../include/bb2diaspora.php:465
+msgid "Finishes:"
+msgstr ""
+
+<<<<<<< HEAD
+#: ../../include/event.php:47 ../../include/bb2diaspora.php:473
+#: ../../include/identity.php:875 ../../mod/events.php:647
+#: ../../mod/directory.php:234
+=======
+#: ../../include/event.php:47 ../../include/bb2diaspora.php:481
+#: ../../include/identity.php:879 ../../mod/events.php:647
+#: ../../mod/directory.php:295
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
+msgid "Location:"
+msgstr ""
+
+#: ../../include/event.php:391
+msgid "This event has been added to your calendar."
+msgstr ""
+
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr ""
#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
-#: ../../mod/photos.php:980 ../../mod/photos.php:1098
+#: ../../mod/photos.php:968 ../../mod/photos.php:1086
msgid "Comment"
msgstr ""
@@ -458,7 +869,7 @@ msgstr ""
msgid "Passwords do not match"
msgstr ""
-#: ../../include/js_strings.php:13 ../../mod/photos.php:40
+#: ../../include/js_strings.php:13 ../../mod/photos.php:39
msgid "everybody"
msgstr ""
@@ -487,7 +898,6 @@ msgid "Rate This Channel (this is public)"
msgstr ""
#: ../../include/js_strings.php:20 ../../mod/rate.php:156
-#: ../../mod/connedit.php:683
msgid "Rating"
msgstr ""
@@ -496,26 +906,48 @@ msgid "Describe (optional)"
msgstr ""
#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
+<<<<<<< HEAD
+#: ../../mod/settings.php:587 ../../mod/settings.php:689
+#: ../../mod/settings.php:715 ../../mod/settings.php:743
+#: ../../mod/settings.php:766 ../../mod/settings.php:848
+#: ../../mod/settings.php:1044 ../../mod/xchan.php:11 ../../mod/connect.php:93
+#: ../../mod/thing.php:275 ../../mod/thing.php:318 ../../mod/events.php:656
+#: ../../mod/group.php:81 ../../mod/photos.php:565 ../../mod/photos.php:642
+#: ../../mod/photos.php:929 ../../mod/photos.php:969 ../../mod/photos.php:1087
+#: ../../mod/pdledit.php:58 ../../mod/import.php:504 ../../mod/chat.php:177
+#: ../../mod/chat.php:211 ../../mod/rate.php:167 ../../mod/invite.php:142
+#: ../../mod/locs.php:105 ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
+#: ../../mod/poke.php:166 ../../mod/profiles.php:667 ../../mod/setup.php:327
+#: ../../mod/setup.php:367 ../../mod/admin.php:446 ../../mod/admin.php:810
+#: ../../mod/admin.php:977 ../../mod/admin.php:1109 ../../mod/admin.php:1303
+#: ../../mod/admin.php:1388 ../../mod/mitem.php:237 ../../mod/mood.php:134
+#: ../../mod/connedit.php:679 ../../mod/mail.php:355 ../../mod/appman.php:99
+#: ../../mod/poll.php:68 ../../mod/bulksetclose.php:24
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:97
+=======
#: ../../mod/xchan.php:11 ../../mod/connect.php:93 ../../mod/thing.php:275
-#: ../../mod/thing.php:318 ../../mod/events.php:494 ../../mod/events.php:670
-#: ../../mod/group.php:81 ../../mod/photos.php:577 ../../mod/photos.php:654
-#: ../../mod/photos.php:941 ../../mod/photos.php:981 ../../mod/photos.php:1099
-#: ../../mod/pdledit.php:58 ../../mod/import.php:592 ../../mod/chat.php:177
-#: ../../mod/chat.php:211 ../../mod/mitem.php:232 ../../mod/rate.php:167
-#: ../../mod/invite.php:142 ../../mod/locs.php:105 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/filestorage.php:156
-#: ../../mod/fsuggest.php:108 ../../mod/poke.php:166
-#: ../../mod/profiles.php:667 ../../mod/setup.php:327 ../../mod/setup.php:367
-#: ../../mod/admin.php:453 ../../mod/admin.php:819 ../../mod/admin.php:986
-#: ../../mod/admin.php:1118 ../../mod/admin.php:1312 ../../mod/admin.php:1397
-#: ../../mod/settings.php:588 ../../mod/settings.php:692
-#: ../../mod/settings.php:718 ../../mod/settings.php:746
-#: ../../mod/settings.php:769 ../../mod/settings.php:854
-#: ../../mod/settings.php:1050 ../../mod/mood.php:134
-#: ../../mod/connedit.php:704 ../../mod/mail.php:355 ../../mod/appman.php:99
-#: ../../mod/pconfig.php:108 ../../mod/poll.php:68
-#: ../../mod/bulksetclose.php:24 ../../view/theme/apw/php/config.php:256
+#: ../../mod/thing.php:318 ../../mod/events.php:656 ../../mod/group.php:81
+#: ../../mod/photos.php:577 ../../mod/photos.php:654 ../../mod/photos.php:941
+#: ../../mod/photos.php:981 ../../mod/photos.php:1099 ../../mod/pdledit.php:58
+#: ../../mod/import.php:534 ../../mod/chat.php:177 ../../mod/chat.php:211
+#: ../../mod/rate.php:167 ../../mod/invite.php:142 ../../mod/locs.php:105
+#: ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
+#: ../../mod/poke.php:166 ../../mod/profiles.php:667 ../../mod/setup.php:327
+#: ../../mod/setup.php:367 ../../mod/admin.php:453 ../../mod/admin.php:819
+#: ../../mod/admin.php:986 ../../mod/admin.php:1118 ../../mod/admin.php:1312
+#: ../../mod/admin.php:1397 ../../mod/settings.php:588
+#: ../../mod/settings.php:692 ../../mod/settings.php:718
+#: ../../mod/settings.php:746 ../../mod/settings.php:769
+#: ../../mod/settings.php:854 ../../mod/settings.php:1050
+#: ../../mod/mitem.php:237 ../../mod/mood.php:134 ../../mod/connedit.php:688
+#: ../../mod/mail.php:355 ../../mod/appman.php:99 ../../mod/pconfig.php:108
+#: ../../mod/poll.php:68 ../../mod/bulksetclose.php:24
+#: ../../view/theme/apw/php/config.php:256
#: ../../view/theme/redbasic/php/config.php:99
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgid "Submit"
msgstr ""
@@ -600,363 +1032,8 @@ msgstr ""
msgid "timeago.numbers"
msgstr ""
-#: ../../include/text.php:395
-msgid "prev"
-msgstr ""
-
-#: ../../include/text.php:397
-msgid "first"
-msgstr ""
-
-#: ../../include/text.php:426
-msgid "last"
-msgstr ""
-
-#: ../../include/text.php:429
-msgid "next"
-msgstr ""
-
-#: ../../include/text.php:439
-msgid "older"
-msgstr ""
-
-#: ../../include/text.php:441
-msgid "newer"
-msgstr ""
-
-#: ../../include/text.php:834
-msgid "No connections"
-msgstr ""
-
-#: ../../include/text.php:848
-#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/text.php:861 ../../mod/viewconnections.php:104
-msgid "View Connections"
-msgstr ""
-
-#: ../../include/text.php:918 ../../include/text.php:930
-#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../mod/search.php:38
-msgid "Search"
-msgstr ""
-
-#: ../../include/text.php:919 ../../include/text.php:931
-#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1457
-#: ../../mod/admin.php:1477
-msgid "Save"
-msgstr ""
-
-#: ../../include/text.php:994
-msgid "poke"
-msgstr ""
-
-#: ../../include/text.php:994 ../../include/conversation.php:243
-msgid "poked"
-msgstr ""
-
-#: ../../include/text.php:995
-msgid "ping"
-msgstr ""
-
-#: ../../include/text.php:995
-msgid "pinged"
-msgstr ""
-
-#: ../../include/text.php:996
-msgid "prod"
-msgstr ""
-
-#: ../../include/text.php:996
-msgid "prodded"
-msgstr ""
-
-#: ../../include/text.php:997
-msgid "slap"
-msgstr ""
-
-#: ../../include/text.php:997
-msgid "slapped"
-msgstr ""
-
-#: ../../include/text.php:998
-msgid "finger"
-msgstr ""
-
-#: ../../include/text.php:998
-msgid "fingered"
-msgstr ""
-
-#: ../../include/text.php:999
-msgid "rebuff"
-msgstr ""
-
-#: ../../include/text.php:999
-msgid "rebuffed"
-msgstr ""
-
-#: ../../include/text.php:1009
-msgid "happy"
-msgstr ""
-
-#: ../../include/text.php:1010
-msgid "sad"
-msgstr ""
-
-#: ../../include/text.php:1011
-msgid "mellow"
-msgstr ""
-
-#: ../../include/text.php:1012
-msgid "tired"
-msgstr ""
-
-#: ../../include/text.php:1013
-msgid "perky"
-msgstr ""
-
-#: ../../include/text.php:1014
-msgid "angry"
-msgstr ""
-
-#: ../../include/text.php:1015
-msgid "stupified"
-msgstr ""
-
-#: ../../include/text.php:1016
-msgid "puzzled"
-msgstr ""
-
-#: ../../include/text.php:1017
-msgid "interested"
-msgstr ""
-
-#: ../../include/text.php:1018
-msgid "bitter"
-msgstr ""
-
-#: ../../include/text.php:1019
-msgid "cheerful"
-msgstr ""
-
-#: ../../include/text.php:1020
-msgid "alive"
-msgstr ""
-
-#: ../../include/text.php:1021
-msgid "annoyed"
-msgstr ""
-
-#: ../../include/text.php:1022
-msgid "anxious"
-msgstr ""
-
-#: ../../include/text.php:1023
-msgid "cranky"
-msgstr ""
-
-#: ../../include/text.php:1024
-msgid "disturbed"
-msgstr ""
-
-#: ../../include/text.php:1025
-msgid "frustrated"
-msgstr ""
-
-#: ../../include/text.php:1026
-msgid "depressed"
-msgstr ""
-
-#: ../../include/text.php:1027
-msgid "motivated"
-msgstr ""
-
-#: ../../include/text.php:1028
-msgid "relaxed"
-msgstr ""
-
-#: ../../include/text.php:1029
-msgid "surprised"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "Monday"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "Tuesday"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "Wednesday"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "Thursday"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "Friday"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "Saturday"
-msgstr ""
-
-#: ../../include/text.php:1201
-msgid "Sunday"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "January"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "February"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "March"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "April"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "May"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "June"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "July"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "August"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "September"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "October"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "November"
-msgstr ""
-
-#: ../../include/text.php:1205
-msgid "December"
-msgstr ""
-
-#: ../../include/text.php:1310
-msgid "unknown.???"
-msgstr ""
-
-#: ../../include/text.php:1311
-msgid "bytes"
-msgstr ""
-
-#: ../../include/text.php:1347
-msgid "remove category"
-msgstr ""
-
-#: ../../include/text.php:1422
-msgid "remove from file"
-msgstr ""
-
-#: ../../include/text.php:1498 ../../include/text.php:1509
-msgid "Click to open/close"
-msgstr ""
-
-#: ../../include/text.php:1665 ../../mod/events.php:457
-msgid "Link to Source"
-msgstr ""
-
-#: ../../include/text.php:1686 ../../include/text.php:1757
-msgid "default"
-msgstr ""
-
-#: ../../include/text.php:1694
-msgid "Page layout"
-msgstr ""
-
-#: ../../include/text.php:1694
-msgid "You can create your own with the layouts tool"
-msgstr ""
-
-#: ../../include/text.php:1735
-msgid "Page content type"
-msgstr ""
-
-#: ../../include/text.php:1769
-msgid "Select an alternate language"
-msgstr ""
-
-#: ../../include/text.php:1888 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:120 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:43
-msgid "photo"
-msgstr ""
-
-#: ../../include/text.php:1891 ../../include/conversation.php:123
-#: ../../mod/like.php:348 ../../mod/tagger.php:47
-msgid "event"
-msgstr ""
-
-#: ../../include/text.php:1894 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:148 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-msgid "status"
-msgstr ""
-
-#: ../../include/text.php:1896 ../../include/conversation.php:150
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr ""
-
-#: ../../include/text.php:1901
-msgid "activity"
-msgstr ""
-
-#: ../../include/text.php:2196
-msgid "Design Tools"
-msgstr ""
-
-#: ../../include/text.php:2199 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr ""
-
-#: ../../include/text.php:2200 ../../mod/menu.php:98
-msgid "Menus"
-msgstr ""
-
-#: ../../include/text.php:2201 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr ""
-
-#: ../../include/text.php:2202
-msgid "Pages"
-msgstr ""
-
-#: ../../include/text.php:2553 ../../include/RedDAV/RedBrowser.php:131
-msgid "Collection"
-msgstr ""
-
#: ../../include/RedDAV/RedBrowser.php:107
-#: ../../include/RedDAV/RedBrowser.php:265
+#: ../../include/RedDAV/RedBrowser.php:268
msgid "parent"
msgstr ""
@@ -980,9 +1057,9 @@ msgstr ""
msgid "Schedule Outbox"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1030
+#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1019
#: ../../include/apps.php:336 ../../include/apps.php:387
-#: ../../mod/photos.php:693 ../../mod/photos.php:1131
+#: ../../mod/photos.php:681 ../../mod/photos.php:1119
msgid "Unknown"
msgstr ""
@@ -997,7 +1074,7 @@ msgid "%1$s used of %2$s (%3$s&#37;)"
msgstr ""
#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
-#: ../../include/conversation.php:1620 ../../include/apps.php:135
+#: ../../include/conversation.php:1609 ../../include/apps.php:135
#: ../../mod/fbrowser.php:114
msgid "Files"
msgstr ""
@@ -1011,51 +1088,60 @@ msgid "Shared"
msgstr ""
#: ../../include/RedDAV/RedBrowser.php:256
-#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/webpages.php:180
-#: ../../mod/blocks.php:152 ../../mod/menu.php:109
-#: ../../mod/new_channel.php:121 ../../mod/layouts.php:175
+#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/webpages.php:179
+#: ../../mod/blocks.php:152 ../../mod/menu.php:107 ../../mod/layouts.php:175
+#: ../../mod/new_channel.php:121
msgid "Create"
msgstr ""
#: ../../include/RedDAV/RedBrowser.php:257
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362
-#: ../../mod/photos.php:718 ../../mod/photos.php:1248
+#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/profile_photo.php:362
+#: ../../mod/photos.php:706 ../../mod/photos.php:1236
msgid "Upload"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
-#: ../../mod/settings.php:590 ../../mod/settings.php:616
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/settings.php:589
+#: ../../mod/settings.php:615 ../../mod/admin.php:985
#: ../../mod/sharedwithme.php:95
msgid "Name"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:262
+#: ../../include/RedDAV/RedBrowser.php:265
msgid "Type"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
+#: ../../include/RedDAV/RedBrowser.php:266 ../../mod/sharedwithme.php:97
msgid "Size"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
+#: ../../include/RedDAV/RedBrowser.php:267 ../../mod/sharedwithme.php:98
msgid "Last Modified"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
-#: ../../include/conversation.php:671 ../../include/apps.php:255
+#: ../../include/RedDAV/RedBrowser.php:270 ../../include/ItemObject.php:120
+#: ../../include/conversation.php:660 ../../include/apps.php:255
+<<<<<<< HEAD
+#: ../../mod/settings.php:650 ../../mod/webpages.php:182
+#: ../../mod/thing.php:228 ../../mod/group.php:176 ../../mod/blocks.php:155
+#: ../../mod/photos.php:1050 ../../mod/editlayout.php:107
+#: ../../mod/editwebpage.php:225 ../../mod/admin.php:817
+#: ../../mod/admin.php:979 ../../mod/editblock.php:113
+#: ../../mod/connedit.php:543
+=======
#: ../../mod/webpages.php:183 ../../mod/thing.php:228 ../../mod/group.php:176
#: ../../mod/blocks.php:155 ../../mod/photos.php:1062
-#: ../../mod/editlayout.php:178 ../../mod/editwebpage.php:225
-#: ../../mod/editblock.php:180 ../../mod/admin.php:826 ../../mod/admin.php:988
-#: ../../mod/settings.php:651 ../../mod/connedit.php:563
+#: ../../mod/editlayout.php:107 ../../mod/editwebpage.php:225
+#: ../../mod/admin.php:826 ../../mod/admin.php:988 ../../mod/editblock.php:113
+#: ../../mod/settings.php:651 ../../mod/connedit.php:549
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgid "Delete"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:302
+#: ../../include/RedDAV/RedBrowser.php:305
msgid "Create new folder"
msgstr ""
-#: ../../include/RedDAV/RedBrowser.php:304
+#: ../../include/RedDAV/RedBrowser.php:307
msgid "Upload file"
msgstr ""
@@ -1072,12 +1158,6 @@ msgstr ""
msgid "$Projectname Notification"
msgstr ""
-#: ../../include/network.php:1586 ../../include/enotify.php:59
-#: ../../include/diaspora.php:2522 ../../include/diaspora.php:2533
-#: ../../mod/p.php:46
-msgid "$projectname"
-msgstr ""
-
#: ../../include/network.php:1588 ../../include/enotify.php:61
msgid "Thank You,"
msgstr ""
@@ -1199,7 +1279,7 @@ msgid ""
"(320px) photo thumbnails"
msgstr ""
-#: ../../include/features.php:59 ../../include/widgets.php:548
+#: ../../include/features.php:59 ../../include/widgets.php:546
#: ../../mod/sources.php:88
msgid "Channel Sources"
msgstr ""
@@ -1352,7 +1432,7 @@ msgid "Categories"
msgstr ""
#: ../../include/widgets.php:91 ../../include/nav.php:163
-#: ../../mod/apps.php:36
+#: ../../mod/apps.php:34
msgid "Apps"
msgstr ""
@@ -1360,7 +1440,7 @@ msgstr ""
msgid "System"
msgstr ""
-#: ../../include/widgets.php:94 ../../include/conversation.php:1515
+#: ../../include/widgets.php:94 ../../include/conversation.php:1504
msgid "Personal"
msgstr ""
@@ -1373,9 +1453,14 @@ msgid "Edit Personal App"
msgstr ""
#: ../../include/widgets.php:136 ../../include/widgets.php:175
-#: ../../include/Contact.php:107 ../../include/conversation.php:956
-#: ../../include/identity.php:880 ../../mod/directory.php:316
+#: ../../include/Contact.php:107 ../../include/conversation.php:945
+<<<<<<< HEAD
+#: ../../include/identity.php:824 ../../mod/match.php:64
+#: ../../mod/directory.php:302 ../../mod/suggest.php:52
+=======
+#: ../../include/identity.php:828 ../../mod/directory.php:309
#: ../../mod/match.php:64 ../../mod/suggest.php:52
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgid "Connect"
msgstr ""
@@ -1383,7 +1468,7 @@ msgstr ""
msgid "Ignore/Hide"
msgstr ""
-#: ../../include/widgets.php:143 ../../mod/connections.php:128
+#: ../../include/widgets.php:143 ../../mod/connections.php:268
msgid "Suggestions"
msgstr ""
@@ -1425,141 +1510,147 @@ msgstr ""
msgid "Archives"
msgstr ""
-#: ../../include/widgets.php:429 ../../mod/connedit.php:583
+#: ../../include/widgets.php:427 ../../mod/connedit.php:578
msgid "Me"
msgstr ""
-#: ../../include/widgets.php:430 ../../mod/connedit.php:584
+#: ../../include/widgets.php:428 ../../mod/connedit.php:579
msgid "Family"
msgstr ""
-#: ../../include/widgets.php:431 ../../include/identity.php:394
+#: ../../include/widgets.php:429 ../../include/identity.php:394
#: ../../include/identity.php:395 ../../include/identity.php:402
+<<<<<<< HEAD
+#: ../../include/profile_selectors.php:80 ../../mod/settings.php:344
+#: ../../mod/settings.php:348 ../../mod/settings.php:349
+#: ../../mod/settings.php:352 ../../mod/settings.php:363
+#: ../../mod/connedit.php:574
+=======
#: ../../include/profile_selectors.php:80 ../../mod/settings.php:345
#: ../../mod/settings.php:349 ../../mod/settings.php:350
#: ../../mod/settings.php:353 ../../mod/settings.php:364
-#: ../../mod/connedit.php:585
+#: ../../mod/connedit.php:580
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgid "Friends"
msgstr ""
-#: ../../include/widgets.php:432 ../../mod/connedit.php:586
+#: ../../include/widgets.php:430 ../../mod/connedit.php:581
msgid "Acquaintances"
msgstr ""
-#: ../../include/widgets.php:433 ../../mod/connections.php:91
-#: ../../mod/connections.php:106 ../../mod/connedit.php:587
+#: ../../include/widgets.php:431 ../../mod/connections.php:231
+#: ../../mod/connections.php:246 ../../mod/connedit.php:582
msgid "All"
msgstr ""
-#: ../../include/widgets.php:452
+#: ../../include/widgets.php:450
msgid "Refresh"
msgstr ""
-#: ../../include/widgets.php:487
+#: ../../include/widgets.php:485
msgid "Account settings"
msgstr ""
-#: ../../include/widgets.php:493
+#: ../../include/widgets.php:491
msgid "Channel settings"
msgstr ""
-#: ../../include/widgets.php:499
+#: ../../include/widgets.php:497
msgid "Additional features"
msgstr ""
-#: ../../include/widgets.php:505
+#: ../../include/widgets.php:503
msgid "Feature/Addon settings"
msgstr ""
-#: ../../include/widgets.php:511
+#: ../../include/widgets.php:509
msgid "Display settings"
msgstr ""
-#: ../../include/widgets.php:517
+#: ../../include/widgets.php:515
msgid "Connected apps"
msgstr ""
-#: ../../include/widgets.php:523
+#: ../../include/widgets.php:521
msgid "Export channel"
msgstr ""
-#: ../../include/widgets.php:532 ../../mod/connedit.php:674
+#: ../../include/widgets.php:530 ../../mod/connedit.php:659
msgid "Connection Default Permissions"
msgstr ""
-#: ../../include/widgets.php:540
+#: ../../include/widgets.php:538
msgid "Premium Channel Settings"
msgstr ""
-#: ../../include/widgets.php:556 ../../include/nav.php:208
-#: ../../include/apps.php:134 ../../mod/admin.php:1079
-#: ../../mod/admin.php:1279
+#: ../../include/widgets.php:554 ../../include/nav.php:208
+#: ../../include/apps.php:134 ../../mod/admin.php:1070
+#: ../../mod/admin.php:1270
msgid "Settings"
msgstr ""
-#: ../../include/widgets.php:569 ../../mod/message.php:31
+#: ../../include/widgets.php:567 ../../mod/message.php:31
#: ../../mod/mail.php:128
msgid "Messages"
msgstr ""
-#: ../../include/widgets.php:572
+#: ../../include/widgets.php:570
msgid "Check Mail"
msgstr ""
-#: ../../include/widgets.php:577 ../../include/nav.php:199
+#: ../../include/widgets.php:575 ../../include/nav.php:199
msgid "New Message"
msgstr ""
-#: ../../include/widgets.php:652
+#: ../../include/widgets.php:650
msgid "Chat Rooms"
msgstr ""
-#: ../../include/widgets.php:672
+#: ../../include/widgets.php:670
msgid "Bookmarked Chatrooms"
msgstr ""
-#: ../../include/widgets.php:692
+#: ../../include/widgets.php:690
msgid "Suggested Chatrooms"
msgstr ""
-#: ../../include/widgets.php:819 ../../include/widgets.php:877
+#: ../../include/widgets.php:817 ../../include/widgets.php:875
msgid "photo/image"
msgstr ""
-#: ../../include/widgets.php:972 ../../include/widgets.php:974
+#: ../../include/widgets.php:970 ../../include/widgets.php:972
msgid "Rate Me"
msgstr ""
-#: ../../include/widgets.php:978
+#: ../../include/widgets.php:976
msgid "View Ratings"
msgstr ""
-#: ../../include/widgets.php:989
+#: ../../include/widgets.php:987
msgid "Public Hubs"
msgstr ""
-#: ../../include/event.php:22 ../../include/bb2diaspora.php:459
-msgid "l F d, Y \\@ g:i A"
-msgstr ""
-
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:465
-msgid "Starts:"
+<<<<<<< HEAD
+#: ../../include/enotify.php:58
+msgid "$Projectname Notification"
msgstr ""
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:473
-msgid "Finishes:"
+#: ../../include/enotify.php:59 ../../include/diaspora.php:2467
+#: ../../include/diaspora.php:2478 ../../mod/p.php:46
+msgid "$projectname"
msgstr ""
-#: ../../include/event.php:50 ../../include/bb2diaspora.php:481
-#: ../../include/identity.php:931 ../../mod/directory.php:302
-#: ../../mod/events.php:661
-msgid "Location:"
+#: ../../include/enotify.php:61
+msgid "Thank You,"
msgstr ""
-#: ../../include/event.php:535
-msgid "This event has been added to your calendar."
+#: ../../include/enotify.php:63
+#, php-format
+msgid "%s Administrator"
msgstr ""
+=======
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
#: ../../include/enotify.php:96
#, php-format
msgid "%s <!item_type!>"
@@ -1738,42 +1829,86 @@ msgstr ""
msgid "[Red:Notify]"
msgstr ""
-#: ../../include/message.php:18
-msgid "No recipient provided."
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
msgstr ""
-#: ../../include/message.php:23
-msgid "[no subject]"
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
msgstr ""
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
msgstr ""
-#: ../../include/message.php:200
-msgid "Stored post could not be verified."
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
msgstr ""
-#: ../../include/diaspora.php:2148 ../../include/conversation.php:164
-#: ../../mod/like.php:394
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
msgstr ""
-#: ../../include/diaspora.php:2494
-msgid "Please choose"
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
msgstr ""
-#: ../../include/diaspora.php:2496
-msgid "Agree"
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
msgstr ""
-#: ../../include/diaspora.php:2498
-msgid "Disagree"
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
msgstr ""
-#: ../../include/diaspora.php:2500
-msgid "Abstain"
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr ""
+
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:813
+#: ../../mod/admin.php:822 ../../mod/id.php:15 ../../mod/id.php:16
+#: ../../boot.php:1552
+msgid "Email"
+msgstr ""
+
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr ""
+
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr ""
+
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr ""
+
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr ""
+
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr ""
+
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr ""
+
+#: ../../include/message.php:18
+msgid "No recipient provided."
+msgstr ""
+
+#: ../../include/message.php:23
+msgid "[no subject]"
+msgstr ""
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr ""
+
+#: ../../include/message.php:200
+msgid "Stored post could not be verified."
msgstr ""
#: ../../include/follow.php:28
@@ -1792,31 +1927,27 @@ msgstr ""
msgid "Channel was deleted and no longer exists."
msgstr ""
-#: ../../include/follow.php:135 ../../include/follow.php:206
+#: ../../include/follow.php:135 ../../include/follow.php:197
msgid "Protocol disabled."
msgstr ""
-#: ../../include/follow.php:144
-msgid "Protocol blocked for this channel."
-msgstr ""
-
-#: ../../include/follow.php:179
+#: ../../include/follow.php:170
msgid "Channel discovery failed."
msgstr ""
-#: ../../include/follow.php:195
+#: ../../include/follow.php:186
msgid "local account not found."
msgstr ""
-#: ../../include/follow.php:224
+#: ../../include/follow.php:215
msgid "Cannot connect to yourself."
msgstr ""
-#: ../../include/ItemObject.php:89 ../../include/conversation.php:678
+#: ../../include/ItemObject.php:89 ../../include/conversation.php:667
msgid "Private Message"
msgstr ""
-#: ../../include/ItemObject.php:126 ../../include/conversation.php:670
+#: ../../include/ItemObject.php:126 ../../include/conversation.php:659
msgid "Select"
msgstr ""
@@ -1849,22 +1980,22 @@ msgid "I abstain"
msgstr ""
#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1688 ../../mod/photos.php:1015
-#: ../../mod/photos.php:1027
+#: ../../include/conversation.php:1677 ../../mod/photos.php:1003
+#: ../../mod/photos.php:1015
msgid "View all"
msgstr ""
#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
-#: ../../include/conversation.php:1712 ../../include/identity.php:1190
-#: ../../mod/photos.php:1019
+#: ../../include/conversation.php:1701 ../../include/identity.php:1134
+#: ../../mod/photos.php:1007
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/ItemObject.php:184 ../../include/conversation.php:1715
-#: ../../mod/photos.php:1024
+#: ../../include/ItemObject.php:184 ../../include/conversation.php:1704
+#: ../../mod/photos.php:1012
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
@@ -1887,11 +2018,11 @@ msgstr ""
msgid "starred"
msgstr ""
-#: ../../include/ItemObject.php:227 ../../include/conversation.php:685
+#: ../../include/ItemObject.php:227 ../../include/conversation.php:674
msgid "Message signature validated"
msgstr ""
-#: ../../include/ItemObject.php:228 ../../include/conversation.php:686
+#: ../../include/ItemObject.php:228 ../../include/conversation.php:675
msgid "Message signature incorrect"
msgstr ""
@@ -1899,7 +2030,7 @@ msgstr ""
msgid "Add Tag"
msgstr ""
-#: ../../include/ItemObject.php:254 ../../mod/photos.php:959
+#: ../../include/ItemObject.php:254 ../../mod/photos.php:947
msgid "I like this (toggle)"
msgstr ""
@@ -1907,7 +2038,7 @@ msgstr ""
msgid "like"
msgstr ""
-#: ../../include/ItemObject.php:255 ../../mod/photos.php:960
+#: ../../include/ItemObject.php:255 ../../mod/photos.php:948
msgid "I don't like this (toggle)"
msgstr ""
@@ -1951,17 +2082,17 @@ msgstr ""
msgid "via Wall-To-Wall:"
msgstr ""
-#: ../../include/ItemObject.php:312 ../../include/conversation.php:727
+#: ../../include/ItemObject.php:312 ../../include/conversation.php:716
#, php-format
msgid "from %s"
msgstr ""
-#: ../../include/ItemObject.php:315 ../../include/conversation.php:730
+#: ../../include/ItemObject.php:315 ../../include/conversation.php:719
#, php-format
msgid "last edited: %s"
msgstr ""
-#: ../../include/ItemObject.php:316 ../../include/conversation.php:731
+#: ../../include/ItemObject.php:316 ../../include/conversation.php:720
#, php-format
msgid "Expires: %s"
msgstr ""
@@ -1978,61 +2109,61 @@ msgstr ""
msgid "Mark all seen"
msgstr ""
-#: ../../include/ItemObject.php:353 ../../mod/photos.php:1145
+#: ../../include/ItemObject.php:353 ../../mod/photos.php:1133
msgctxt "noun"
msgid "Likes"
msgstr ""
-#: ../../include/ItemObject.php:354 ../../mod/photos.php:1146
+#: ../../include/ItemObject.php:354 ../../mod/photos.php:1134
msgctxt "noun"
msgid "Dislikes"
msgstr ""
#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249
-#: ../../mod/photos.php:1151
+#: ../../mod/photos.php:1139
msgid "Close"
msgstr ""
-#: ../../include/ItemObject.php:364 ../../include/conversation.php:748
-#: ../../include/conversation.php:1220 ../../mod/editpost.php:123
-#: ../../mod/photos.php:962 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:192 ../../mod/editblock.php:149
+#: ../../include/ItemObject.php:364 ../../include/conversation.php:737
+#: ../../include/conversation.php:1209 ../../mod/photos.php:950
+#: ../../mod/editlayout.php:153 ../../mod/editwebpage.php:192
+#: ../../mod/editpost.php:130 ../../mod/editblock.php:155
#: ../../mod/mail.php:241 ../../mod/mail.php:356
msgid "Please wait"
msgstr ""
-#: ../../include/ItemObject.php:665 ../../mod/photos.php:978
-#: ../../mod/photos.php:1096
+#: ../../include/ItemObject.php:665 ../../mod/photos.php:966
+#: ../../mod/photos.php:1084
msgid "This is you"
msgstr ""
-#: ../../include/ItemObject.php:669 ../../include/conversation.php:1192
-#: ../../mod/editpost.php:107 ../../mod/editlayout.php:134
-#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:135
+#: ../../include/ItemObject.php:669 ../../include/conversation.php:1181
+#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:179
+#: ../../mod/editpost.php:114 ../../mod/editblock.php:141
msgid "Bold"
msgstr ""
-#: ../../include/ItemObject.php:670 ../../include/conversation.php:1193
-#: ../../mod/editpost.php:108 ../../mod/editlayout.php:135
-#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:136
+#: ../../include/ItemObject.php:670 ../../include/conversation.php:1182
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:180
+#: ../../mod/editpost.php:115 ../../mod/editblock.php:142
msgid "Italic"
msgstr ""
-#: ../../include/ItemObject.php:671 ../../include/conversation.php:1194
-#: ../../mod/editpost.php:109 ../../mod/editlayout.php:136
-#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:137
+#: ../../include/ItemObject.php:671 ../../include/conversation.php:1183
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:181
+#: ../../mod/editpost.php:116 ../../mod/editblock.php:143
msgid "Underline"
msgstr ""
-#: ../../include/ItemObject.php:672 ../../include/conversation.php:1195
-#: ../../mod/editpost.php:110 ../../mod/editlayout.php:137
-#: ../../mod/editwebpage.php:182 ../../mod/editblock.php:138
+#: ../../include/ItemObject.php:672 ../../include/conversation.php:1184
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:182
+#: ../../mod/editpost.php:117 ../../mod/editblock.php:144
msgid "Quote"
msgstr ""
-#: ../../include/ItemObject.php:673 ../../include/conversation.php:1196
-#: ../../mod/editpost.php:111 ../../mod/editlayout.php:138
-#: ../../mod/editwebpage.php:183 ../../mod/editblock.php:139
+#: ../../include/ItemObject.php:673 ../../include/conversation.php:1185
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:183
+#: ../../mod/editpost.php:118 ../../mod/editblock.php:145
msgid "Code"
msgstr ""
@@ -2048,8 +2179,8 @@ msgstr ""
msgid "Video"
msgstr ""
-#: ../../include/ItemObject.php:680 ../../include/conversation.php:1247
-#: ../../mod/editpost.php:151 ../../mod/mail.php:247 ../../mod/mail.php:361
+#: ../../include/ItemObject.php:680 ../../include/conversation.php:1236
+#: ../../mod/editpost.php:158 ../../mod/mail.php:247 ../../mod/mail.php:361
msgid "Encrypt text"
msgstr ""
@@ -2061,7 +2192,7 @@ msgstr ""
msgid "Open the selected location in a different window or browser tab"
msgstr ""
-#: ../../include/Contact.php:212
+#: ../../include/Contact.php:215 ../../mod/admin.php:730
#, php-format
msgid "User '%s' deleted"
msgstr ""
@@ -2070,11 +2201,11 @@ msgstr ""
msgid "Attachments:"
msgstr ""
-#: ../../include/bb2diaspora.php:461
+#: ../../include/bb2diaspora.php:453
msgid "$Projectname event notification:"
msgstr ""
-#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1550
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1549
msgid "Logout"
msgstr ""
@@ -2090,8 +2221,8 @@ msgstr ""
msgid "Your posts and conversations"
msgstr ""
-#: ../../include/nav.php:91 ../../include/conversation.php:953
-#: ../../mod/connedit.php:510
+#: ../../include/nav.php:91 ../../include/conversation.php:942
+#: ../../mod/connedit.php:500 ../../mod/connedit.php:666
msgid "View Profile"
msgstr ""
@@ -2107,7 +2238,7 @@ msgstr ""
msgid "Manage/Edit profiles"
msgstr ""
-#: ../../include/nav.php:95 ../../include/identity.php:903
+#: ../../include/nav.php:95 ../../include/identity.php:847
msgid "Edit Profile"
msgstr ""
@@ -2115,7 +2246,7 @@ msgstr ""
msgid "Edit your profile"
msgstr ""
-#: ../../include/nav.php:97 ../../include/conversation.php:1611
+#: ../../include/nav.php:97 ../../include/conversation.php:1600
#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
msgid "Photos"
msgstr ""
@@ -2136,7 +2267,7 @@ msgstr ""
msgid "Your chatrooms"
msgstr ""
-#: ../../include/nav.php:109 ../../include/conversation.php:1646
+#: ../../include/nav.php:109 ../../include/conversation.php:1635
#: ../../include/apps.php:129
msgid "Bookmarks"
msgstr ""
@@ -2145,8 +2276,8 @@ msgstr ""
msgid "Your bookmarks"
msgstr ""
-#: ../../include/nav.php:113 ../../include/conversation.php:1656
-#: ../../include/apps.php:136 ../../mod/webpages.php:178
+#: ../../include/nav.php:113 ../../include/conversation.php:1645
+#: ../../include/apps.php:136 ../../mod/webpages.php:177
msgid "Webpages"
msgstr ""
@@ -2154,7 +2285,7 @@ msgstr ""
msgid "Your webpages"
msgstr ""
-#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1551
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1550
msgid "Login"
msgstr ""
@@ -2179,7 +2310,7 @@ msgstr ""
msgid "Home Page"
msgstr ""
-#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1527
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1526
msgid "Register"
msgstr ""
@@ -2205,6 +2336,7 @@ msgid "Search site content"
msgstr ""
#: ../../include/nav.php:168 ../../include/apps.php:141
+#: ../../mod/directory.php:366
msgid "Directory"
msgstr ""
@@ -2236,7 +2368,7 @@ msgstr ""
msgid "Mark all channel notifications seen"
msgstr ""
-#: ../../include/nav.php:187 ../../mod/connections.php:267
+#: ../../include/nav.php:187 ../../mod/connections.php:407
msgid "Connections"
msgstr ""
@@ -2281,7 +2413,7 @@ msgid "Outbox"
msgstr ""
#: ../../include/nav.php:202 ../../include/apps.php:140
-#: ../../mod/events.php:486
+#: ../../mod/events.php:472
msgid "Events"
msgstr ""
@@ -2318,7 +2450,7 @@ msgstr ""
msgid "Site Setup and Configuration"
msgstr ""
-#: ../../include/nav.php:247 ../../include/conversation.php:861
+#: ../../include/nav.php:247 ../../include/conversation.php:850
msgid "Loading..."
msgstr ""
@@ -2532,6 +2664,12 @@ msgstr ""
msgid "channel"
msgstr ""
+#: ../../include/conversation.php:164 ../../include/diaspora.php:2111
+#: ../../mod/like.php:394
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr ""
+
#: ../../include/conversation.php:167 ../../mod/like.php:396
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
@@ -2553,528 +2691,590 @@ msgctxt "mood"
msgid "%1$s is %2$s"
msgstr ""
-#: ../../include/conversation.php:583 ../../mod/photos.php:996
+#: ../../include/conversation.php:572 ../../mod/photos.php:984
msgctxt "title"
msgid "Likes"
msgstr ""
-#: ../../include/conversation.php:583 ../../mod/photos.php:996
+#: ../../include/conversation.php:572 ../../mod/photos.php:984
msgctxt "title"
msgid "Dislikes"
msgstr ""
-#: ../../include/conversation.php:584 ../../mod/photos.php:997
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
msgctxt "title"
msgid "Agree"
msgstr ""
-#: ../../include/conversation.php:584 ../../mod/photos.php:997
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
msgctxt "title"
msgid "Disagree"
msgstr ""
-#: ../../include/conversation.php:584 ../../mod/photos.php:997
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
msgctxt "title"
msgid "Abstain"
msgstr ""
-#: ../../include/conversation.php:585 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Attending"
msgstr ""
-#: ../../include/conversation.php:585 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Not attending"
msgstr ""
-#: ../../include/conversation.php:585 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Might attend"
msgstr ""
-#: ../../include/conversation.php:703
+#: ../../include/conversation.php:692
#, php-format
msgid "View %s's profile @ %s"
msgstr ""
-#: ../../include/conversation.php:718
+#: ../../include/conversation.php:707
msgid "Categories:"
msgstr ""
-#: ../../include/conversation.php:719
+#: ../../include/conversation.php:708
msgid "Filed under:"
msgstr ""
-#: ../../include/conversation.php:746
+#: ../../include/conversation.php:735
msgid "View in context"
msgstr ""
-#: ../../include/conversation.php:857
+#: ../../include/conversation.php:846
msgid "remove"
msgstr ""
-#: ../../include/conversation.php:862
+#: ../../include/conversation.php:851
msgid "Delete Selected Items"
msgstr ""
-#: ../../include/conversation.php:950
+#: ../../include/conversation.php:939
msgid "View Source"
msgstr ""
-#: ../../include/conversation.php:951
+#: ../../include/conversation.php:940
msgid "Follow Thread"
msgstr ""
-#: ../../include/conversation.php:952
+#: ../../include/conversation.php:941
msgid "View Status"
msgstr ""
-#: ../../include/conversation.php:954
+#: ../../include/conversation.php:943
msgid "View Photos"
msgstr ""
-#: ../../include/conversation.php:955
+#: ../../include/conversation.php:944
msgid "Matrix Activity"
msgstr ""
-#: ../../include/conversation.php:957
+#: ../../include/conversation.php:946
msgid "Edit Contact"
msgstr ""
-#: ../../include/conversation.php:958
+#: ../../include/conversation.php:947
msgid "Send PM"
msgstr ""
-#: ../../include/conversation.php:959 ../../include/apps.php:145
+#: ../../include/conversation.php:948 ../../include/apps.php:145
msgid "Poke"
msgstr ""
-#: ../../include/conversation.php:1073
+#: ../../include/conversation.php:1062
#, php-format
msgid "%s likes this."
msgstr ""
-#: ../../include/conversation.php:1073
+#: ../../include/conversation.php:1062
#, php-format
msgid "%s doesn't like this."
msgstr ""
-#: ../../include/conversation.php:1077
+#: ../../include/conversation.php:1066
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgid_plural "<span %1$s>%2$d people</span> like this."
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1079
+#: ../../include/conversation.php:1068
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgid_plural "<span %1$s>%2$d people</span> don't like this."
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1085
+#: ../../include/conversation.php:1074
msgid "and"
msgstr ""
-#: ../../include/conversation.php:1088
+#: ../../include/conversation.php:1077
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1089
+#: ../../include/conversation.php:1078
#, php-format
msgid "%s like this."
msgstr ""
-#: ../../include/conversation.php:1089
+#: ../../include/conversation.php:1078
#, php-format
msgid "%s don't like this."
msgstr ""
-#: ../../include/conversation.php:1151
+#: ../../include/conversation.php:1140
msgid "Visible to <strong>everybody</strong>"
msgstr ""
-#: ../../include/conversation.php:1152 ../../mod/mail.php:174
+#: ../../include/conversation.php:1141 ../../mod/mail.php:174
#: ../../mod/mail.php:289
msgid "Please enter a link URL:"
msgstr ""
-#: ../../include/conversation.php:1153
+#: ../../include/conversation.php:1142
msgid "Please enter a video link/URL:"
msgstr ""
-#: ../../include/conversation.php:1154
+#: ../../include/conversation.php:1143
msgid "Please enter an audio link/URL:"
msgstr ""
-#: ../../include/conversation.php:1155
+#: ../../include/conversation.php:1144
msgid "Tag term:"
msgstr ""
-#: ../../include/conversation.php:1156 ../../mod/filer.php:49
+#: ../../include/conversation.php:1145 ../../mod/filer.php:49
msgid "Save to Folder:"
msgstr ""
-#: ../../include/conversation.php:1157
+#: ../../include/conversation.php:1146
msgid "Where are you right now?"
msgstr ""
-#: ../../include/conversation.php:1158 ../../mod/editpost.php:47
+#: ../../include/conversation.php:1147 ../../mod/editpost.php:52
#: ../../mod/mail.php:175 ../../mod/mail.php:290
msgid "Expires YYYY-MM-DD HH:MM"
msgstr ""
-#: ../../include/conversation.php:1185 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154 ../../mod/photos.php:961 ../../mod/layouts.php:184
+#: ../../include/conversation.php:1174 ../../mod/webpages.php:181
+#: ../../mod/blocks.php:154 ../../mod/photos.php:949 ../../mod/layouts.php:184
msgid "Share"
msgstr ""
-#: ../../include/conversation.php:1187
+#: ../../include/conversation.php:1176
msgid "Page link name"
msgstr ""
-#: ../../include/conversation.php:1190
+#: ../../include/conversation.php:1179
msgid "Post as"
msgstr ""
-#: ../../include/conversation.php:1197 ../../mod/editpost.php:112
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:184
-#: ../../mod/editblock.php:141 ../../mod/mail.php:238 ../../mod/mail.php:352
+#: ../../include/conversation.php:1186 ../../mod/editlayout.php:145
+#: ../../mod/editwebpage.php:184 ../../mod/editpost.php:119
+#: ../../mod/editblock.php:147 ../../mod/mail.php:238 ../../mod/mail.php:352
msgid "Upload photo"
msgstr ""
-#: ../../include/conversation.php:1198
+#: ../../include/conversation.php:1187
msgid "upload photo"
msgstr ""
-#: ../../include/conversation.php:1199 ../../mod/editpost.php:113
-#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:185
-#: ../../mod/editblock.php:142 ../../mod/mail.php:239 ../../mod/mail.php:353
+#: ../../include/conversation.php:1188 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:185 ../../mod/editpost.php:120
+#: ../../mod/editblock.php:148 ../../mod/mail.php:239 ../../mod/mail.php:353
msgid "Attach file"
msgstr ""
-#: ../../include/conversation.php:1200
+#: ../../include/conversation.php:1189
msgid "attach file"
msgstr ""
-#: ../../include/conversation.php:1201 ../../mod/editpost.php:114
-#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:186
-#: ../../mod/editblock.php:143 ../../mod/mail.php:240 ../../mod/mail.php:354
+#: ../../include/conversation.php:1190 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:186 ../../mod/editpost.php:121
+#: ../../mod/editblock.php:149 ../../mod/mail.php:240 ../../mod/mail.php:354
msgid "Insert web link"
msgstr ""
-#: ../../include/conversation.php:1202
+#: ../../include/conversation.php:1191
msgid "web link"
msgstr ""
-#: ../../include/conversation.php:1203
+#: ../../include/conversation.php:1192
msgid "Insert video link"
msgstr ""
-#: ../../include/conversation.php:1204
+#: ../../include/conversation.php:1193
msgid "video link"
msgstr ""
-#: ../../include/conversation.php:1205
+#: ../../include/conversation.php:1194
msgid "Insert audio link"
msgstr ""
-#: ../../include/conversation.php:1206
+#: ../../include/conversation.php:1195
msgid "audio link"
msgstr ""
-#: ../../include/conversation.php:1207 ../../mod/editpost.php:118
-#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:190
-#: ../../mod/editblock.php:147
+#: ../../include/conversation.php:1196 ../../mod/editlayout.php:151
+#: ../../mod/editwebpage.php:190 ../../mod/editpost.php:125
+#: ../../mod/editblock.php:153
msgid "Set your location"
msgstr ""
-#: ../../include/conversation.php:1208
+#: ../../include/conversation.php:1197
msgid "set location"
msgstr ""
-#: ../../include/conversation.php:1209 ../../mod/editpost.php:120
+#: ../../include/conversation.php:1198 ../../mod/editpost.php:127
msgid "Toggle voting"
msgstr ""
-#: ../../include/conversation.php:1212 ../../mod/editpost.php:119
-#: ../../mod/editlayout.php:146 ../../mod/editwebpage.php:191
-#: ../../mod/editblock.php:148
+#: ../../include/conversation.php:1201 ../../mod/editlayout.php:152
+#: ../../mod/editwebpage.php:191 ../../mod/editpost.php:126
+#: ../../mod/editblock.php:154
msgid "Clear browser location"
msgstr ""
-#: ../../include/conversation.php:1213
+#: ../../include/conversation.php:1202
msgid "clear location"
msgstr ""
-#: ../../include/conversation.php:1215 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:207 ../../mod/editblock.php:161
+#: ../../include/conversation.php:1204 ../../mod/editwebpage.php:207
+#: ../../mod/editpost.php:142 ../../mod/editblock.php:167
msgid "Title (optional)"
msgstr ""
-#: ../../include/conversation.php:1219 ../../mod/editpost.php:137
-#: ../../mod/editlayout.php:162 ../../mod/editwebpage.php:209
-#: ../../mod/editblock.php:164
+#: ../../include/conversation.php:1208 ../../mod/editlayout.php:168
+#: ../../mod/editwebpage.php:209 ../../mod/editpost.php:144
+#: ../../mod/editblock.php:170
msgid "Categories (optional, comma-separated list)"
msgstr ""
-#: ../../include/conversation.php:1221 ../../mod/editpost.php:124
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:193
-#: ../../mod/editblock.php:150
+#: ../../include/conversation.php:1210 ../../mod/editlayout.php:154
+#: ../../mod/editwebpage.php:193 ../../mod/editpost.php:131
+#: ../../mod/editblock.php:156
msgid "Permission settings"
msgstr ""
-#: ../../include/conversation.php:1222
+#: ../../include/conversation.php:1211
msgid "permissions"
msgstr ""
-#: ../../include/conversation.php:1230 ../../mod/editpost.php:132
-#: ../../mod/editlayout.php:155 ../../mod/editwebpage.php:202
-#: ../../mod/editblock.php:158
+#: ../../include/conversation.php:1219 ../../mod/editlayout.php:161
+#: ../../mod/editwebpage.php:202 ../../mod/editpost.php:139
+#: ../../mod/editblock.php:164
msgid "Public post"
msgstr ""
-#: ../../include/conversation.php:1232 ../../mod/editpost.php:138
-#: ../../mod/editlayout.php:163 ../../mod/editwebpage.php:210
-#: ../../mod/editblock.php:165
+#: ../../include/conversation.php:1221 ../../mod/editlayout.php:169
+#: ../../mod/editwebpage.php:210 ../../mod/editpost.php:145
+#: ../../mod/editblock.php:171
msgid "Example: bob@example.com, mary@example.com"
msgstr ""
-#: ../../include/conversation.php:1245 ../../mod/editpost.php:149
-#: ../../mod/editlayout.php:172 ../../mod/editwebpage.php:219
-#: ../../mod/editblock.php:175 ../../mod/mail.php:245 ../../mod/mail.php:359
+#: ../../include/conversation.php:1234 ../../mod/editlayout.php:178
+#: ../../mod/editwebpage.php:219 ../../mod/editpost.php:156
+#: ../../mod/editblock.php:181 ../../mod/mail.php:245 ../../mod/mail.php:359
msgid "Set expiration date"
msgstr ""
-#: ../../include/conversation.php:1249 ../../mod/events.php:651
-#: ../../mod/editpost.php:153
+#: ../../include/conversation.php:1238 ../../mod/events.php:637
+#: ../../mod/editpost.php:160
msgid "OK"
msgstr ""
-#: ../../include/conversation.php:1250 ../../mod/tagrm.php:11
-#: ../../mod/tagrm.php:134 ../../mod/events.php:650 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:154
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../include/conversation.php:1239 ../../mod/settings.php:588
+#: ../../mod/settings.php:614 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+#: ../../mod/events.php:636 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:161
msgid "Cancel"
msgstr ""
-#: ../../include/conversation.php:1492
+#: ../../include/conversation.php:1481
msgid "Discover"
msgstr ""
-#: ../../include/conversation.php:1495
+#: ../../include/conversation.php:1484
msgid "Imported public streams"
msgstr ""
-#: ../../include/conversation.php:1500
+#: ../../include/conversation.php:1489
msgid "Commented Order"
msgstr ""
-#: ../../include/conversation.php:1503
+#: ../../include/conversation.php:1492
msgid "Sort by Comment Date"
msgstr ""
-#: ../../include/conversation.php:1507
+#: ../../include/conversation.php:1496
msgid "Posted Order"
msgstr ""
-#: ../../include/conversation.php:1510
+#: ../../include/conversation.php:1499
msgid "Sort by Post Date"
msgstr ""
-#: ../../include/conversation.php:1518
+#: ../../include/conversation.php:1507
msgid "Posts that mention or involve you"
msgstr ""
-#: ../../include/conversation.php:1524 ../../mod/connections.php:72
-#: ../../mod/connections.php:85 ../../mod/menu.php:107
+#: ../../include/conversation.php:1513 ../../mod/connections.php:212
+#: ../../mod/connections.php:225 ../../mod/menu.php:105
msgid "New"
msgstr ""
-#: ../../include/conversation.php:1527
+#: ../../include/conversation.php:1516
msgid "Activity Stream - by date"
msgstr ""
-#: ../../include/conversation.php:1533
+#: ../../include/conversation.php:1522
msgid "Starred"
msgstr ""
-#: ../../include/conversation.php:1536
+#: ../../include/conversation.php:1525
msgid "Favourite Posts"
msgstr ""
-#: ../../include/conversation.php:1543
+#: ../../include/conversation.php:1532
msgid "Spam"
msgstr ""
-#: ../../include/conversation.php:1546
+#: ../../include/conversation.php:1535
msgid "Posts flagged as SPAM"
msgstr ""
-#: ../../include/conversation.php:1590 ../../mod/admin.php:993
+#: ../../include/conversation.php:1579 ../../mod/admin.php:984
msgid "Channel"
msgstr ""
-#: ../../include/conversation.php:1593
+#: ../../include/conversation.php:1582
msgid "Status Messages and Posts"
msgstr ""
-#: ../../include/conversation.php:1602
+#: ../../include/conversation.php:1591
msgid "About"
msgstr ""
-#: ../../include/conversation.php:1605
+#: ../../include/conversation.php:1594
msgid "Profile Details"
msgstr ""
-#: ../../include/conversation.php:1614 ../../include/photos.php:359
+#: ../../include/conversation.php:1603 ../../include/photos.php:359
msgid "Photo Albums"
msgstr ""
-#: ../../include/conversation.php:1623
+#: ../../include/conversation.php:1612
msgid "Files and Storage"
msgstr ""
-#: ../../include/conversation.php:1633 ../../include/conversation.php:1636
+#: ../../include/conversation.php:1622 ../../include/conversation.php:1625
msgid "Chatrooms"
msgstr ""
-#: ../../include/conversation.php:1649
+#: ../../include/conversation.php:1638
msgid "Saved Bookmarks"
msgstr ""
-#: ../../include/conversation.php:1659
+#: ../../include/conversation.php:1648
msgid "Manage Webpages"
msgstr ""
-#: ../../include/conversation.php:1718
+#: ../../include/conversation.php:1707
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1721
+#: ../../include/conversation.php:1710
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1724
+#: ../../include/conversation.php:1713
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1727
+#: ../../include/conversation.php:1716
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1730
+#: ../../include/conversation.php:1719
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1733
+#: ../../include/conversation.php:1722
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/items.php:413 ../../mod/like.php:270
+#: ../../include/items.php:399 ../../mod/like.php:270
#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
-#: ../../mod/bulksetclose.php:11 ../../index.php:392
+#: ../../mod/bulksetclose.php:11 ../../index.php:381
msgid "Permission denied"
msgstr ""
-#: ../../include/items.php:1038 ../../include/items.php:1084
+#: ../../include/items.php:1020 ../../include/items.php:1066
msgid "(Unknown)"
msgstr ""
-#: ../../include/items.php:1310
+<<<<<<< HEAD
+#: ../../include/items.php:1234
msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../include/items.php:1312
+#: ../../include/items.php:1236
msgid "Visible to you only."
msgstr ""
-#: ../../include/items.php:1314
+#: ../../include/items.php:1238
msgid "Visible to anybody in this network."
msgstr ""
-#: ../../include/items.php:1316
+#: ../../include/items.php:1240
msgid "Visible to anybody authenticated."
msgstr ""
-#: ../../include/items.php:1318
+#: ../../include/items.php:1242
+=======
+#: ../../include/items.php:1304
+msgid "Visible to anybody on the internet."
+msgstr ""
+
+#: ../../include/items.php:1306
+msgid "Visible to you only."
+msgstr ""
+
+#: ../../include/items.php:1308
+msgid "Visible to anybody in this network."
+msgstr ""
+
+#: ../../include/items.php:1310
+msgid "Visible to anybody authenticated."
+msgstr ""
+
+#: ../../include/items.php:1312
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
#, php-format
msgid "Visible to anybody on %s."
msgstr ""
-#: ../../include/items.php:1320
+<<<<<<< HEAD
+#: ../../include/items.php:1244
+msgid "Visible to all connections."
+msgstr ""
+
+#: ../../include/items.php:1246
+msgid "Visible to approved connections."
+msgstr ""
+
+#: ../../include/items.php:1248
+msgid "Visible to specific connections."
+msgstr ""
+
+#: ../../include/items.php:4060 ../../mod/thing.php:74
+=======
+#: ../../include/items.php:1314
msgid "Visible to all connections."
msgstr ""
-#: ../../include/items.php:1322
+#: ../../include/items.php:1316
msgid "Visible to approved connections."
msgstr ""
-#: ../../include/items.php:1324
+#: ../../include/items.php:1318
msgid "Visible to specific connections."
msgstr ""
-#: ../../include/items.php:4218 ../../mod/thing.php:74
-#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
-#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
-#: ../../mod/display.php:36
+#: ../../include/items.php:4195 ../../mod/thing.php:74
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
+#: ../../mod/display.php:36 ../../mod/filestorage.php:27
+#: ../../mod/viewsrc.php:20 ../../mod/admin.php:167 ../../mod/admin.php:1016
+#: ../../mod/admin.php:1216
msgid "Item not found."
msgstr ""
-#: ../../include/items.php:4291 ../../include/attach.php:137
+<<<<<<< HEAD
+#: ../../include/items.php:4133 ../../include/photos.php:26
+#: ../../include/attach.php:137 ../../include/attach.php:184
+#: ../../include/attach.php:247 ../../include/attach.php:261
+#: ../../include/attach.php:305 ../../include/attach.php:319
+#: ../../include/attach.php:350 ../../include/attach.php:546
+#: ../../include/attach.php:618 ../../include/chat.php:131
+=======
+#: ../../include/items.php:4268 ../../include/attach.php:137
#: ../../include/attach.php:184 ../../include/attach.php:247
#: ../../include/attach.php:261 ../../include/attach.php:305
#: ../../include/attach.php:319 ../../include/attach.php:350
#: ../../include/attach.php:546 ../../include/attach.php:618
#: ../../include/chat.php:131 ../../include/photos.php:26
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/achievements.php:30 ../../mod/manage.php:6 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/webpages.php:69 ../../mod/thing.php:241
-#: ../../mod/thing.php:256 ../../mod/thing.php:290
-#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
-#: ../../mod/events.php:232 ../../mod/group.php:9 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:978 ../../mod/network.php:12
-#: ../../mod/common.php:35 ../../mod/connections.php:29
-#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/editpost.php:13
-#: ../../mod/photos.php:69 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
+#: ../../mod/achievements.php:30 ../../mod/manage.php:6
+#: ../../mod/settings.php:569 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/webpages.php:69 ../../mod/thing.php:241 ../../mod/thing.php:256
+#: ../../mod/thing.php:290 ../../mod/profile_photo.php:264
+#: ../../mod/profile_photo.php:277 ../../mod/block.php:22
+#: ../../mod/block.php:72 ../../mod/like.php:178 ../../mod/events.php:219
+#: ../../mod/group.php:9 ../../mod/common.php:35 ../../mod/connections.php:169
+#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/photos.php:68
+#: ../../mod/pdledit.php:21 ../../mod/authtest.php:13
#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/mitem.php:109
-#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
-#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
-#: ../../mod/rate.php:110 ../../mod/editblock.php:65 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
-#: ../../mod/menu.php:69 ../../mod/filestorage.php:18
-#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
-#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
-#: ../../mod/poke.php:128 ../../mod/profiles.php:188
+#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/editwebpage.php:64
+#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101
+#: ../../mod/editwebpage.php:125 ../../mod/rate.php:110
+#: ../../mod/editpost.php:13 ../../mod/invite.php:13 ../../mod/invite.php:104
+#: ../../mod/locs.php:77 ../../mod/sources.php:66 ../../mod/menu.php:69
+#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
+#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
+#: ../../mod/fsuggest.php:78 ../../mod/poke.php:128 ../../mod/profiles.php:188
#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14 ../../mod/setup.php:223
#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/register.php:72 ../../mod/settings.php:570 ../../mod/id.php:71
-#: ../../mod/message.php:16 ../../mod/mood.php:111 ../../mod/connedit.php:348
+<<<<<<< HEAD
+#: ../../mod/editblock.php:65 ../../mod/register.php:72 ../../mod/item.php:206
+#: ../../mod/item.php:214 ../../mod/item.php:974 ../../mod/layouts.php:69
+#: ../../mod/layouts.php:76 ../../mod/layouts.php:87 ../../mod/id.php:71
+#: ../../mod/message.php:16 ../../mod/mitem.php:115 ../../mod/mood.php:111
+#: ../../mod/connedit.php:331 ../../mod/mail.php:114
+#: ../../mod/notifications.php:66 ../../mod/regmod.php:17
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/appman.php:66 ../../mod/network.php:12 ../../mod/page.php:28
+#: ../../mod/page.php:82 ../../mod/bookmarks.php:46 ../../mod/channel.php:100
+#: ../../mod/channel.php:219 ../../mod/channel.php:262
+#: ../../mod/suggest.php:26 ../../mod/service_limits.php:7
+#: ../../mod/sharedwithme.php:7 ../../index.php:182 ../../index.php:382
+msgid "Permission denied."
+msgstr ""
+
+#: ../../include/items.php:4535 ../../mod/group.php:38 ../../mod/group.php:140
+=======
+#: ../../mod/editblock.php:65 ../../mod/register.php:72
+#: ../../mod/settings.php:570 ../../mod/id.php:71 ../../mod/message.php:16
+#: ../../mod/mitem.php:115 ../../mod/mood.php:111 ../../mod/connedit.php:337
#: ../../mod/mail.php:114 ../../mod/notifications.php:66
#: ../../mod/regmod.php:17 ../../mod/new_channel.php:68
#: ../../mod/new_channel.php:99 ../../mod/appman.php:66
@@ -3083,33 +3283,71 @@ msgstr ""
#: ../../mod/channel.php:100 ../../mod/channel.php:219
#: ../../mod/channel.php:262 ../../mod/suggest.php:26
#: ../../mod/service_limits.php:7 ../../mod/sharedwithme.php:7
-#: ../../index.php:182 ../../index.php:393
+#: ../../index.php:182 ../../index.php:382
msgid "Permission denied."
msgstr ""
-#: ../../include/items.php:4693 ../../mod/group.php:38 ../../mod/group.php:140
+#: ../../include/items.php:4670 ../../mod/group.php:38 ../../mod/group.php:140
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
#: ../../mod/bulksetclose.php:51
msgid "Collection not found."
msgstr ""
-#: ../../include/items.php:4709
+<<<<<<< HEAD
+#: ../../include/items.php:4551
+msgid "Collection is empty."
+msgstr ""
+
+#: ../../include/items.php:4558
+=======
+#: ../../include/items.php:4686
msgid "Collection is empty."
msgstr ""
-#: ../../include/items.php:4716
+#: ../../include/items.php:4693
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
#, php-format
msgid "Collection: %s"
msgstr ""
-#: ../../include/items.php:4726 ../../mod/connedit.php:674
+<<<<<<< HEAD
+#: ../../include/items.php:4568
+=======
+#: ../../include/items.php:4703
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
#, php-format
msgid "Connection: %s"
msgstr ""
-#: ../../include/items.php:4728
+<<<<<<< HEAD
+#: ../../include/items.php:4570
+=======
+#: ../../include/items.php:4705
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgid "Connection not found."
msgstr ""
+#: ../../include/photos.php:94
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr ""
+
+#: ../../include/photos.php:101
+msgid "Image file is empty."
+msgstr ""
+
+#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
+msgid "Unable to process image"
+msgstr ""
+
+#: ../../include/photos.php:199
+msgid "Photo storage failed."
+msgstr ""
+
+#: ../../include/photos.php:363
+msgid "Upload New Photos"
+msgstr ""
+
#: ../../include/zot.php:666
msgid "Invalid data packet"
msgstr ""
@@ -3118,7 +3356,7 @@ msgstr ""
msgid "Unable to verify channel signature"
msgstr ""
-#: ../../include/zot.php:2133
+#: ../../include/zot.php:2126
#, php-format
msgid "Unable to verify site signature for %s"
msgstr ""
@@ -3150,7 +3388,7 @@ msgid_plural "%d invitations available"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:450
msgid "Advanced"
msgstr ""
@@ -3170,12 +3408,20 @@ msgstr ""
msgid "Examples: Robert Morgenstein, Fishing"
msgstr ""
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379
-#: ../../mod/directory.php:384 ../../mod/connections.php:273
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:413
+<<<<<<< HEAD
+#: ../../mod/directory.php:362 ../../mod/directory.php:367
msgid "Find"
msgstr ""
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:366
+=======
+#: ../../mod/directory.php:372 ../../mod/directory.php:377
+msgid "Find"
+msgstr ""
+
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:376
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
#: ../../mod/suggest.php:60
msgid "Channel Suggestions"
msgstr ""
@@ -3215,8 +3461,8 @@ msgstr ""
msgid "Don't show"
msgstr ""
-#: ../../include/acl_selectors.php:248 ../../mod/events.php:668
-#: ../../mod/photos.php:571 ../../mod/photos.php:934 ../../mod/chat.php:209
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:654
+#: ../../mod/photos.php:559 ../../mod/photos.php:922 ../../mod/chat.php:209
#: ../../mod/filestorage.php:147
msgid "Permissions"
msgstr ""
@@ -3316,206 +3562,218 @@ msgstr ""
msgid "Default Profile"
msgstr ""
-#: ../../include/identity.php:683
+#: ../../include/identity.php:631
msgid "Requested channel is not available."
msgstr ""
-#: ../../include/identity.php:730 ../../mod/profile.php:16
+#: ../../include/identity.php:678 ../../mod/profile.php:16
#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/editblock.php:29 ../../mod/filestorage.php:54
+#: ../../mod/filestorage.php:54 ../../mod/editblock.php:29
#: ../../mod/layouts.php:29
msgid "Requested profile is not available."
msgstr ""
-#: ../../include/identity.php:893 ../../mod/profiles.php:774
+#: ../../include/identity.php:837 ../../mod/profiles.php:774
msgid "Change profile photo"
msgstr ""
-#: ../../include/identity.php:899
+#: ../../include/identity.php:843
msgid "Profiles"
msgstr ""
-#: ../../include/identity.php:899
+#: ../../include/identity.php:843
msgid "Manage/edit profiles"
msgstr ""
-#: ../../include/identity.php:900 ../../mod/profiles.php:775
+#: ../../include/identity.php:844 ../../mod/profiles.php:775
msgid "Create New Profile"
msgstr ""
-#: ../../include/identity.php:915 ../../mod/profiles.php:786
+#: ../../include/identity.php:859 ../../mod/profiles.php:786
msgid "Profile Image"
msgstr ""
-#: ../../include/identity.php:918
+#: ../../include/identity.php:862
msgid "visible to everybody"
msgstr ""
-#: ../../include/identity.php:919 ../../mod/profiles.php:669
+#: ../../include/identity.php:863 ../../mod/profiles.php:669
#: ../../mod/profiles.php:790
msgid "Edit visibility"
msgstr ""
-#: ../../include/identity.php:935 ../../include/identity.php:1174
+#: ../../include/identity.php:879 ../../include/identity.php:1118
msgid "Gender:"
msgstr ""
-#: ../../include/identity.php:936 ../../include/identity.php:1218
+#: ../../include/identity.php:880 ../../include/identity.php:1162
msgid "Status:"
msgstr ""
-#: ../../include/identity.php:937 ../../include/identity.php:1229
+#: ../../include/identity.php:881 ../../include/identity.php:1173
msgid "Homepage:"
msgstr ""
-#: ../../include/identity.php:938
+#: ../../include/identity.php:882
msgid "Online Now"
msgstr ""
-#: ../../include/identity.php:1021 ../../include/identity.php:1099
+#: ../../include/identity.php:965 ../../include/identity.php:1043
#: ../../mod/ping.php:324
msgid "g A l F d"
msgstr ""
-#: ../../include/identity.php:1022 ../../include/identity.php:1100
+#: ../../include/identity.php:966 ../../include/identity.php:1044
msgid "F d"
msgstr ""
-#: ../../include/identity.php:1067 ../../include/identity.php:1139
+#: ../../include/identity.php:1011 ../../include/identity.php:1083
#: ../../mod/ping.php:346
msgid "[today]"
msgstr ""
-#: ../../include/identity.php:1078
+#: ../../include/identity.php:1022
msgid "Birthday Reminders"
msgstr ""
-#: ../../include/identity.php:1079
+#: ../../include/identity.php:1023
msgid "Birthdays this week:"
msgstr ""
-#: ../../include/identity.php:1132
+#: ../../include/identity.php:1076
msgid "[No description]"
msgstr ""
-#: ../../include/identity.php:1150
+#: ../../include/identity.php:1094
msgid "Event Reminders"
msgstr ""
-#: ../../include/identity.php:1151
+#: ../../include/identity.php:1095
msgid "Events this week:"
msgstr ""
-#: ../../include/identity.php:1164 ../../include/identity.php:1281
+#: ../../include/identity.php:1108 ../../include/identity.php:1225
#: ../../include/apps.php:138 ../../mod/profperm.php:112
msgid "Profile"
msgstr ""
-#: ../../include/identity.php:1172 ../../mod/settings.php:1056
+#: ../../include/identity.php:1116 ../../mod/settings.php:1050
msgid "Full Name:"
msgstr ""
-#: ../../include/identity.php:1179
+#: ../../include/identity.php:1123
msgid "Like this channel"
msgstr ""
-#: ../../include/identity.php:1203
+#: ../../include/identity.php:1147
msgid "j F, Y"
msgstr ""
-#: ../../include/identity.php:1204
+#: ../../include/identity.php:1148
msgid "j F"
msgstr ""
-#: ../../include/identity.php:1211
+#: ../../include/identity.php:1155
msgid "Birthday:"
msgstr ""
-#: ../../include/identity.php:1215 ../../mod/directory.php:297
+<<<<<<< HEAD
+#: ../../include/identity.php:1159
+=======
+#: ../../include/identity.php:1163 ../../mod/directory.php:290
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgid "Age:"
msgstr ""
-#: ../../include/identity.php:1224
+#: ../../include/identity.php:1168
#, php-format
msgid "for %1$d %2$s"
msgstr ""
-#: ../../include/identity.php:1227 ../../mod/profiles.php:691
+#: ../../include/identity.php:1171 ../../mod/profiles.php:691
msgid "Sexual Preference:"
msgstr ""
-#: ../../include/identity.php:1231 ../../mod/directory.php:313
+<<<<<<< HEAD
+#: ../../include/identity.php:1175 ../../mod/profiles.php:693
+=======
+#: ../../include/identity.php:1179 ../../mod/directory.php:306
#: ../../mod/profiles.php:693
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgid "Hometown:"
msgstr ""
-#: ../../include/identity.php:1233
+#: ../../include/identity.php:1177
msgid "Tags:"
msgstr ""
-#: ../../include/identity.php:1235 ../../mod/profiles.php:694
+#: ../../include/identity.php:1179 ../../mod/profiles.php:694
msgid "Political Views:"
msgstr ""
-#: ../../include/identity.php:1237
+#: ../../include/identity.php:1181
msgid "Religion:"
msgstr ""
-#: ../../include/identity.php:1239 ../../mod/directory.php:315
+<<<<<<< HEAD
+#: ../../include/identity.php:1183
+=======
+#: ../../include/identity.php:1187 ../../mod/directory.php:308
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgid "About:"
msgstr ""
-#: ../../include/identity.php:1241
+#: ../../include/identity.php:1185
msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/identity.php:1243 ../../mod/profiles.php:697
+#: ../../include/identity.php:1187 ../../mod/profiles.php:697
msgid "Likes:"
msgstr ""
-#: ../../include/identity.php:1245 ../../mod/profiles.php:698
+#: ../../include/identity.php:1189 ../../mod/profiles.php:698
msgid "Dislikes:"
msgstr ""
-#: ../../include/identity.php:1247
+#: ../../include/identity.php:1191
msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/identity.php:1249
+#: ../../include/identity.php:1193
msgid "My other channels:"
msgstr ""
-#: ../../include/identity.php:1251
+#: ../../include/identity.php:1195
msgid "Musical interests:"
msgstr ""
-#: ../../include/identity.php:1253
+#: ../../include/identity.php:1197
msgid "Books, literature:"
msgstr ""
-#: ../../include/identity.php:1255
+#: ../../include/identity.php:1199
msgid "Television:"
msgstr ""
-#: ../../include/identity.php:1257
+#: ../../include/identity.php:1201
msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/identity.php:1259
+#: ../../include/identity.php:1203
msgid "Love/Romance:"
msgstr ""
-#: ../../include/identity.php:1261
+#: ../../include/identity.php:1205
msgid "Work/employment:"
msgstr ""
-#: ../../include/identity.php:1263
+#: ../../include/identity.php:1207
msgid "School/education:"
msgstr ""
-#: ../../include/identity.php:1283
+#: ../../include/identity.php:1227
msgid "Like this thing"
msgstr ""
@@ -3801,7 +4059,7 @@ msgid "Profile Photo"
msgstr ""
#: ../../include/apps.php:247 ../../mod/settings.php:84
-#: ../../mod/settings.php:614
+#: ../../mod/settings.php:613
msgid "Update"
msgstr ""
@@ -3813,17 +4071,19 @@ msgstr ""
msgid "Purchase"
msgstr ""
-#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
-#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
-#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
-#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
-#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
-#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
-#: ../../include/bbcode.php:807
+<<<<<<< HEAD
+=======
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:764
+#: ../../include/bbcode.php:767 ../../include/bbcode.php:772
+#: ../../include/bbcode.php:775 ../../include/bbcode.php:778
+#: ../../include/bbcode.php:781 ../../include/bbcode.php:786
+#: ../../include/bbcode.php:789 ../../include/bbcode.php:794
+#: ../../include/bbcode.php:797 ../../include/bbcode.php:800
+#: ../../include/bbcode.php:803
msgid "Image/photo"
msgstr ""
-#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:814
msgid "Encrypted content"
msgstr ""
@@ -3832,54 +4092,48 @@ msgstr ""
msgid "Install %s element: "
msgstr ""
-#: ../../include/bbcode.php:182
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr ""
-
-#: ../../include/bbcode.php:192 ../../mod/impel.php:37
+#: ../../include/bbcode.php:188 ../../mod/impel.php:37
msgid "webpage"
msgstr ""
-#: ../../include/bbcode.php:195 ../../mod/impel.php:47
+#: ../../include/bbcode.php:191 ../../mod/impel.php:47
msgid "layout"
msgstr ""
-#: ../../include/bbcode.php:198 ../../mod/impel.php:42
+#: ../../include/bbcode.php:194 ../../mod/impel.php:42
msgid "block"
msgstr ""
-#: ../../include/bbcode.php:201 ../../mod/impel.php:54
+#: ../../include/bbcode.php:197 ../../mod/impel.php:54
msgid "menu"
msgstr ""
-#: ../../include/bbcode.php:215
+#: ../../include/bbcode.php:211
msgid "QR code"
msgstr ""
-#: ../../include/bbcode.php:266
+#: ../../include/bbcode.php:262
#, php-format
msgid "%1$s wrote the following %2$s %3$s"
msgstr ""
-#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
+#: ../../include/bbcode.php:264 ../../mod/tagger.php:51
msgid "post"
msgstr ""
-#: ../../include/bbcode.php:518
+#: ../../include/bbcode.php:514
msgid "Different viewers will see this text differently"
msgstr ""
-#: ../../include/bbcode.php:729
+#: ../../include/bbcode.php:725
msgid "$1 spoiler"
msgstr ""
-#: ../../include/bbcode.php:756
+#: ../../include/bbcode.php:752
msgid "$1 wrote:"
msgstr ""
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
#: ../../include/chat.php:23
msgid "Missing room name"
msgstr ""
@@ -3900,25 +4154,20 @@ msgstr ""
msgid "Room is full"
msgstr ""
-#: ../../include/photos.php:94
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr ""
-
-#: ../../include/photos.php:101
-msgid "Image file is empty."
+#: ../../include/diaspora.php:2439
+msgid "Please choose"
msgstr ""
-#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
-msgid "Unable to process image"
+#: ../../include/diaspora.php:2441
+msgid "Agree"
msgstr ""
-#: ../../include/photos.php:199
-msgid "Photo storage failed."
+#: ../../include/diaspora.php:2443
+msgid "Disagree"
msgstr ""
-#: ../../include/photos.php:363
-msgid "Upload New Photos"
+#: ../../include/diaspora.php:2445
+msgid "Abstain"
msgstr ""
#: ../../mod/achievements.php:34
@@ -3964,93 +4213,611 @@ msgstr ""
msgid "Delegated Channels"
msgstr ""
-#: ../../mod/directory.php:59 ../../mod/photos.php:441 ../../mod/search.php:13
-#: ../../mod/ratings.php:82 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:13
-msgid "Public access denied."
+<<<<<<< HEAD
+#: ../../mod/settings.php:76
+msgid "Name is required"
msgstr ""
-#: ../../mod/directory.php:234
+#: ../../mod/settings.php:80
+msgid "Key and Secret are required"
+msgstr ""
+
+#: ../../mod/settings.php:129
+msgid "Diaspora Policy Settings updated."
+msgstr ""
+
+#: ../../mod/settings.php:237
+msgid "Passwords do not match. Password unchanged."
+msgstr ""
+
+#: ../../mod/settings.php:241
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr ""
+
+#: ../../mod/settings.php:255
+msgid "Password changed."
+msgstr ""
+
+#: ../../mod/settings.php:257
+msgid "Password update failed. Please try again."
+msgstr ""
+
+#: ../../mod/settings.php:271
+msgid "Not valid email."
+msgstr ""
+
+#: ../../mod/settings.php:274
+msgid "Protected email address. Cannot change to that email."
+msgstr ""
+
+#: ../../mod/settings.php:283
+msgid "System failure storing new email. Please try again."
+msgstr ""
+
+#: ../../mod/settings.php:522
+msgid "Settings updated."
+msgstr ""
+
+#: ../../mod/settings.php:578 ../../mod/api.php:106 ../../mod/photos.php:556
+#: ../../mod/menu.php:91 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:424
+#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1554
+msgid "No"
+msgstr ""
+
+#: ../../mod/settings.php:578 ../../mod/api.php:105 ../../mod/photos.php:556
+#: ../../mod/menu.php:91 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:426
+#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1554
+msgid "Yes"
+msgstr ""
+
+#: ../../mod/settings.php:586 ../../mod/settings.php:612
+#: ../../mod/settings.php:648
+msgid "Add application"
+msgstr ""
+
+#: ../../mod/settings.php:589
+msgid "Name of application"
+msgstr ""
+
+#: ../../mod/settings.php:590 ../../mod/settings.php:616
+msgid "Consumer Key"
+msgstr ""
+
+#: ../../mod/settings.php:590 ../../mod/settings.php:591
+msgid "Automatically generated - change if desired. Max length 20"
+=======
+#: ../../mod/xchan.php:6
+msgid "Xchan Lookup"
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
+msgstr ""
+
+#: ../../mod/settings.php:591 ../../mod/settings.php:617
+msgid "Consumer Secret"
+msgstr ""
+
+#: ../../mod/settings.php:592 ../../mod/settings.php:618
+msgid "Redirect"
+msgstr ""
+
+#: ../../mod/settings.php:592
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires this"
+msgstr ""
+
+#: ../../mod/settings.php:593 ../../mod/settings.php:619
+msgid "Icon url"
+msgstr ""
+
+#: ../../mod/settings.php:593
+msgid "Optional"
+msgstr ""
+
+#: ../../mod/settings.php:604
+msgid "You can't edit this application."
+msgstr ""
+
+#: ../../mod/settings.php:647
+msgid "Connected Apps"
+msgstr ""
+
+#: ../../mod/settings.php:651
+msgid "Client key starts with"
+msgstr ""
+
+#: ../../mod/settings.php:652
+msgid "No name"
+msgstr ""
+
+#: ../../mod/settings.php:653
+msgid "Remove authorization"
+msgstr ""
+
+#: ../../mod/settings.php:667
+msgid "No feature settings configured"
+msgstr ""
+
+#: ../../mod/settings.php:683
+msgid "Feature/Addon Settings"
+msgstr ""
+
+#: ../../mod/settings.php:685
+msgid "Settings for the built-in Diaspora emulator"
+msgstr ""
+
+#: ../../mod/settings.php:686
+msgid "Allow any Diaspora member to comment on your public posts"
+msgstr ""
+
+#: ../../mod/settings.php:687
+msgid "Diaspora Policy Settings"
+msgstr ""
+
+#: ../../mod/settings.php:688
+msgid "Prevent your hashtags from being redirected to other sites"
+msgstr ""
+
+#: ../../mod/settings.php:712
+msgid "Account Settings"
+msgstr ""
+
+#: ../../mod/settings.php:713
+msgid "Enter New Password:"
+msgstr ""
+
+#: ../../mod/settings.php:714
+msgid "Confirm New Password:"
+msgstr ""
+
+#: ../../mod/settings.php:714
+msgid "Leave password fields blank unless changing"
+msgstr ""
+
+#: ../../mod/settings.php:716 ../../mod/settings.php:1051
+msgid "Email Address:"
+msgstr ""
+
+#: ../../mod/settings.php:717 ../../mod/removeaccount.php:61
+msgid "Remove Account"
+msgstr ""
+
+#: ../../mod/settings.php:718
+msgid "Remove this account including all its channels"
+msgstr ""
+
+#: ../../mod/settings.php:734
+msgid "Off"
+msgstr ""
+
+#: ../../mod/settings.php:734
+msgid "On"
+msgstr ""
+
+#: ../../mod/settings.php:741
+msgid "Additional Features"
+msgstr ""
+
+#: ../../mod/settings.php:765
+msgid "Connector Settings"
+msgstr ""
+
+#: ../../mod/settings.php:804
+msgid "No special theme for mobile devices"
+msgstr ""
+
+#: ../../mod/settings.php:807
#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] ""
-msgstr[1] ""
+msgid "%s - (Experimental)"
+msgstr ""
-#: ../../mod/directory.php:245
-msgid "Gender: "
+#: ../../mod/settings.php:810 ../../mod/admin.php:396
+msgid "mobile"
msgstr ""
-#: ../../mod/directory.php:247
-msgid "Status: "
+#: ../../mod/settings.php:846
+msgid "Display Settings"
msgstr ""
-#: ../../mod/directory.php:249
-msgid "Homepage: "
+#: ../../mod/settings.php:852
+msgid "Display Theme:"
+msgstr ""
+
+#: ../../mod/settings.php:853
+msgid "Mobile Theme:"
+msgstr ""
+
+#: ../../mod/settings.php:854
+msgid "Enable user zoom on mobile devices"
+msgstr ""
+
+#: ../../mod/settings.php:855
+msgid "Update browser every xx seconds"
+msgstr ""
+
+#: ../../mod/settings.php:855
+msgid "Minimum of 10 seconds, no maximum"
+msgstr ""
+
+#: ../../mod/settings.php:856
+msgid "Maximum number of conversations to load at any time:"
+msgstr ""
+
+#: ../../mod/settings.php:856
+msgid "Maximum of 100 items"
+msgstr ""
+
+#: ../../mod/settings.php:857
+msgid "Show emoticons (smilies) as images"
+msgstr ""
+
+#: ../../mod/settings.php:858
+msgid "Link post titles to source"
+msgstr ""
+
+#: ../../mod/settings.php:859
+msgid "System Page Layout Editor - (advanced)"
+msgstr ""
+
+#: ../../mod/settings.php:862
+msgid "Use blog/list mode on channel page"
+msgstr ""
+
+#: ../../mod/settings.php:862 ../../mod/settings.php:863
+msgid "(comments displayed separately)"
+msgstr ""
+
+#: ../../mod/settings.php:863
+msgid "Use blog/list mode on matrix page"
+msgstr ""
+
+#: ../../mod/settings.php:864
+msgid "Channel page max height of content (in pixels)"
+msgstr ""
+
+#: ../../mod/settings.php:864 ../../mod/settings.php:865
+msgid "click to expand content exceeding this height"
+msgstr ""
+
+#: ../../mod/settings.php:865
+msgid "Matrix page max height of content (in pixels)"
+msgstr ""
+
+#: ../../mod/settings.php:899
+msgid "Nobody except yourself"
+msgstr ""
+
+#: ../../mod/settings.php:900
+msgid "Only those you specifically allow"
+msgstr ""
+
+#: ../../mod/settings.php:901
+msgid "Approved connections"
+msgstr ""
+
+#: ../../mod/settings.php:902
+msgid "Any connections"
+msgstr ""
+
+#: ../../mod/settings.php:903
+msgid "Anybody on this website"
+msgstr ""
+
+#: ../../mod/settings.php:904
+msgid "Anybody in this network"
+msgstr ""
+
+#: ../../mod/settings.php:905
+msgid "Anybody authenticated"
+msgstr ""
+
+#: ../../mod/settings.php:906
+msgid "Anybody on the internet"
+msgstr ""
+
+#: ../../mod/settings.php:980
+msgid "Publish your default profile in the network directory"
+msgstr ""
+
+#: ../../mod/settings.php:985
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr ""
+
+#: ../../mod/settings.php:989 ../../mod/profile_photo.php:366
+msgid "or"
+msgstr ""
+
+#: ../../mod/settings.php:994
+msgid "Your channel address is"
+msgstr ""
+
+#: ../../mod/settings.php:1042
+msgid "Channel Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1049
+msgid "Basic Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1052
+msgid "Your Timezone:"
+msgstr ""
+
+#: ../../mod/settings.php:1053
+msgid "Default Post Location:"
+msgstr ""
+
+#: ../../mod/settings.php:1053
+msgid "Geographical location to display on your posts"
+msgstr ""
+
+#: ../../mod/settings.php:1054
+msgid "Use Browser Location:"
+msgstr ""
+
+#: ../../mod/settings.php:1056
+msgid "Adult Content"
+msgstr ""
+
+#: ../../mod/settings.php:1056
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr ""
+
+#: ../../mod/settings.php:1058
+msgid "Security and Privacy Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1060
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr ""
+
+#: ../../mod/settings.php:1062
+msgid "Hide my online presence"
+msgstr ""
+
+#: ../../mod/settings.php:1062
+msgid "Prevents displaying in your profile that you are online"
+msgstr ""
+
+#: ../../mod/settings.php:1064
+msgid "Simple Privacy Settings:"
+msgstr ""
+
+#: ../../mod/settings.php:1065
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr ""
+
+#: ../../mod/settings.php:1066
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr ""
+
+#: ../../mod/settings.php:1067
+msgid "Private - <em>default private, never open or public</em>"
msgstr ""
-#: ../../mod/directory.php:308 ../../mod/events.php:659
+#: ../../mod/settings.php:1068
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr ""
+
+#: ../../mod/settings.php:1070
+msgid "Allow others to tag your posts"
+msgstr ""
+
+#: ../../mod/settings.php:1070
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr ""
+
+#: ../../mod/settings.php:1072
+msgid "Advanced Privacy Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1074
+msgid "Expire other channel content after this many days"
+msgstr ""
+
+#: ../../mod/settings.php:1074
+msgid "0 or blank prevents expiration"
+msgstr ""
+
+#: ../../mod/settings.php:1075
+msgid "Maximum Friend Requests/Day:"
+msgstr ""
+
+#: ../../mod/settings.php:1075
+msgid "May reduce spam activity"
+msgstr ""
+
+#: ../../mod/settings.php:1076
+msgid "Default Post Permissions"
+msgstr ""
+
+#: ../../mod/settings.php:1077 ../../mod/mitem.php:159 ../../mod/mitem.php:229
+msgid "(click to open/close)"
+msgstr ""
+
+#: ../../mod/settings.php:1081
+msgid "Channel permissions category:"
+msgstr ""
+
+#: ../../mod/settings.php:1087
+msgid "Maximum private messages per day from unknown people:"
+msgstr ""
+
+#: ../../mod/settings.php:1087
+msgid "Useful to reduce spamming"
+msgstr ""
+
+#: ../../mod/settings.php:1090
+msgid "Notification Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1091
+msgid "By default post a status message when:"
+msgstr ""
+
+#: ../../mod/settings.php:1092
+msgid "accepting a friend request"
+msgstr ""
+
+#: ../../mod/settings.php:1093
+msgid "joining a forum/community"
+msgstr ""
+
+#: ../../mod/settings.php:1094
+msgid "making an <em>interesting</em> profile change"
+msgstr ""
+
+#: ../../mod/settings.php:1095
+msgid "Send a notification email when:"
+msgstr ""
+
+#: ../../mod/settings.php:1096
+msgid "You receive a connection request"
+msgstr ""
+
+#: ../../mod/settings.php:1097
+msgid "Your connections are confirmed"
+msgstr ""
+
+<<<<<<< HEAD
+#: ../../mod/settings.php:1098
+msgid "Someone writes on your profile wall"
+=======
+#: ../../mod/events.php:645 ../../mod/directory.php:301
msgid "Description:"
msgstr ""
-#: ../../mod/directory.php:317
-msgid "Public Forum:"
+#: ../../mod/events.php:649
+msgid "Title:"
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgstr ""
-#: ../../mod/directory.php:320
-msgid "Keywords: "
+#: ../../mod/settings.php:1099
+msgid "Someone writes a followup comment"
msgstr ""
-#: ../../mod/directory.php:323
-msgid "Don't suggest"
+#: ../../mod/settings.php:1100
+msgid "You receive a private message"
msgstr ""
-#: ../../mod/directory.php:325
-msgid "Common connections:"
+#: ../../mod/settings.php:1101
+msgid "You receive a friend suggestion"
msgstr ""
-#: ../../mod/directory.php:374
-msgid "Global Directory"
+#: ../../mod/settings.php:1102
+msgid "You are tagged in a post"
msgstr ""
-#: ../../mod/directory.php:374
-msgid "Local Directory"
+#: ../../mod/settings.php:1103
+msgid "You are poked/prodded/etc. in a post"
msgstr ""
-#: ../../mod/directory.php:380
-msgid "Finding:"
+#: ../../mod/settings.php:1106
+msgid "Show visual notifications including:"
msgstr ""
-#: ../../mod/directory.php:385
-msgid "next page"
+#: ../../mod/settings.php:1108
+msgid "Unseen matrix activity"
msgstr ""
-#: ../../mod/directory.php:385
-msgid "previous page"
+#: ../../mod/settings.php:1109
+msgid "Unseen channel activity"
msgstr ""
-#: ../../mod/directory.php:386
-msgid "Sort options"
+#: ../../mod/settings.php:1110
+msgid "Unseen private messages"
msgstr ""
-#: ../../mod/directory.php:387
-msgid "Alphabetic"
+#: ../../mod/settings.php:1110 ../../mod/settings.php:1115
+#: ../../mod/settings.php:1116 ../../mod/settings.php:1117
+msgid "Recommended"
msgstr ""
-#: ../../mod/directory.php:388
-msgid "Reverse Alphabetic"
+#: ../../mod/settings.php:1111
+msgid "Upcoming events"
msgstr ""
-#: ../../mod/directory.php:389
-msgid "Newest to Oldest"
+#: ../../mod/settings.php:1112
+msgid "Events today"
msgstr ""
-#: ../../mod/directory.php:390
-msgid "Oldest to Newest"
+#: ../../mod/settings.php:1113
+msgid "Upcoming birthdays"
msgstr ""
-#: ../../mod/directory.php:407
-msgid "No entries (some entries may be hidden)."
+#: ../../mod/settings.php:1113
+msgid "Not available in all themes"
+msgstr ""
+
+#: ../../mod/settings.php:1114
+msgid "System (personal) notifications"
+msgstr ""
+
+#: ../../mod/settings.php:1115
+msgid "System info messages"
+msgstr ""
+
+#: ../../mod/settings.php:1116
+msgid "System critical alerts"
+msgstr ""
+
+#: ../../mod/settings.php:1117
+msgid "New connections"
+msgstr ""
+
+#: ../../mod/settings.php:1118
+msgid "System Registrations"
+msgstr ""
+
+#: ../../mod/settings.php:1119
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr ""
+
+#: ../../mod/settings.php:1121
+msgid "Notify me of events this many days in advance"
+msgstr ""
+
+#: ../../mod/settings.php:1121
+msgid "Must be greater than 0"
+msgstr ""
+
+#: ../../mod/settings.php:1123
+msgid "Advanced Account/Page Type Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1124
+msgid "Change the behaviour of this account for special situations"
+msgstr ""
+
+#: ../../mod/settings.php:1127
+msgid ""
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr ""
+
+#: ../../mod/settings.php:1128
+msgid "Miscellaneous Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1130
+msgid "Personal menu to display in your channel pages"
+msgstr ""
+
+#: ../../mod/settings.php:1131 ../../mod/removeme.php:61
+msgid "Remove Channel"
+msgstr ""
+
+#: ../../mod/settings.php:1132
+msgid "Remove this channel."
msgstr ""
#: ../../mod/xchan.php:6
@@ -4061,7 +4828,7 @@ msgstr ""
msgid "Lookup xchan beginning with (or webbie): "
msgstr ""
-#: ../../mod/xchan.php:37 ../../mod/mitem.php:114 ../../mod/menu.php:156
+#: ../../mod/xchan.php:37 ../../mod/menu.php:152 ../../mod/mitem.php:120
msgid "Not found."
msgstr ""
@@ -4083,7 +4850,7 @@ msgid ""
"and/or create new posts for you?"
msgstr ""
-#: ../../mod/webpages.php:191
+#: ../../mod/webpages.php:190
msgid "Page Title"
msgstr ""
@@ -4103,7 +4870,7 @@ msgstr ""
msgid "Select a tag to remove: "
msgstr ""
-#: ../../mod/tagrm.php:133 ../../mod/photos.php:887
+#: ../../mod/tagrm.php:133 ../../mod/photos.php:875
msgid "Remove"
msgstr ""
@@ -4187,12 +4954,21 @@ msgstr ""
msgid "Post an activity"
msgstr ""
+<<<<<<< HEAD
#: ../../mod/thing.php:267 ../../mod/thing.php:313
msgid "Only sends to viewers of the applicable profile"
msgstr ""
#: ../../mod/thing.php:269 ../../mod/thing.php:315
msgid "Name of thing e.g. something"
+=======
+#: ../../mod/connections.php:94 ../../mod/connedit.php:220
+msgid "Connection updated."
+msgstr ""
+
+#: ../../mod/connections.php:96 ../../mod/connedit.php:222
+msgid "Failed to update connection record."
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgstr ""
#: ../../mod/thing.php:271 ../../mod/thing.php:316
@@ -4216,6 +4992,15 @@ msgstr ""
msgid "Fetching URL returns error: %1$s"
msgstr ""
+#: ../../mod/home.php:53 ../../mod/siteinfo.php:155
+msgid "$Projectname"
+msgstr ""
+
+#: ../../mod/home.php:124
+#, php-format
+msgid "Welcome to %s"
+msgstr ""
+
#: ../../mod/profile_photo.php:108
msgid "Image uploaded but image cropping failed."
msgstr ""
@@ -4255,10 +5040,6 @@ msgstr ""
msgid "Upload Profile Photo"
msgstr ""
-#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
-msgid "or"
-msgstr ""
-
#: ../../mod/profile_photo.php:366
msgid "skip this step"
msgstr ""
@@ -4279,8 +5060,74 @@ msgstr ""
msgid "Done Editing"
msgstr ""
+<<<<<<< HEAD
#: ../../mod/profile_photo.php:428
msgid "Image uploaded successfully."
+=======
+#: ../../mod/directory.php:48 ../../mod/photos.php:441 ../../mod/search.php:13
+#: ../../mod/display.php:13 ../../mod/ratings.php:82
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr ""
+
+#: ../../mod/directory.php:227
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../mod/directory.php:238
+msgid "Gender: "
+msgstr ""
+
+#: ../../mod/directory.php:240
+msgid "Status: "
+msgstr ""
+
+#: ../../mod/directory.php:242
+msgid "Homepage: "
+msgstr ""
+
+#: ../../mod/directory.php:310
+msgid "Public Forum:"
+msgstr ""
+
+#: ../../mod/directory.php:313
+msgid "Keywords: "
+msgstr ""
+
+#: ../../mod/directory.php:316
+msgid "Don't suggest"
+msgstr ""
+
+#: ../../mod/directory.php:318
+msgid "Common connections:"
+msgstr ""
+
+#: ../../mod/directory.php:367
+msgid "Global Directory"
+msgstr ""
+
+#: ../../mod/directory.php:367
+msgid "Local Directory"
+msgstr ""
+
+#: ../../mod/directory.php:373
+msgid "Finding:"
+msgstr ""
+
+#: ../../mod/directory.php:378
+msgid "next page"
+msgstr ""
+
+#: ../../mod/directory.php:378
+msgid "previous page"
+msgstr ""
+
+#: ../../mod/directory.php:394
+msgid "No entries (some entries may be hidden)."
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgstr ""
#: ../../mod/profile_photo.php:430
@@ -4292,16 +5139,16 @@ msgstr ""
msgid "Image size reduction [%s] failed."
msgstr ""
-#: ../../mod/block.php:27 ../../mod/page.php:36
+#: ../../mod/block.php:27 ../../mod/page.php:33
msgid "Invalid item."
msgstr ""
-#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:52
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:49
msgid "Channel not found."
msgstr ""
-#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:79
-#: ../../mod/page.php:89 ../../index.php:241
+#: ../../mod/block.php:75 ../../mod/help.php:79 ../../mod/display.php:106
+#: ../../mod/page.php:85 ../../index.php:230
msgid "Page not found."
msgstr ""
@@ -4373,113 +5220,101 @@ msgstr ""
msgid "Thank you."
msgstr ""
-#: ../../mod/events.php:21
-msgid "Calendar entries imported."
-msgstr ""
-
-#: ../../mod/events.php:23
-msgid "No calendar entries found."
-msgstr ""
-
-#: ../../mod/events.php:101
+#: ../../mod/events.php:87
msgid "Event can not end before it has started."
msgstr ""
-#: ../../mod/events.php:103 ../../mod/events.php:112 ../../mod/events.php:130
+#: ../../mod/events.php:89 ../../mod/events.php:98 ../../mod/events.php:116
msgid "Unable to generate preview."
msgstr ""
-#: ../../mod/events.php:110
+#: ../../mod/events.php:96
msgid "Event title and start time are required."
msgstr ""
-#: ../../mod/events.php:128
+#: ../../mod/events.php:114
msgid "Event not found."
msgstr ""
-#: ../../mod/events.php:409
+#: ../../mod/events.php:396
msgid "l, F j"
msgstr ""
-#: ../../mod/events.php:431
+#: ../../mod/events.php:418
msgid "Edit event"
msgstr ""
-#: ../../mod/events.php:432
+#: ../../mod/events.php:419
msgid "Delete event"
msgstr ""
-#: ../../mod/events.php:466
-msgid "calendar"
-msgstr ""
-
-#: ../../mod/events.php:487
+#: ../../mod/events.php:473
msgid "Create New Event"
msgstr ""
-#: ../../mod/events.php:488 ../../mod/photos.php:839
+#: ../../mod/events.php:474 ../../mod/photos.php:827
msgid "Previous"
msgstr ""
-#: ../../mod/events.php:489 ../../mod/photos.php:848 ../../mod/setup.php:281
+#: ../../mod/events.php:475 ../../mod/photos.php:836 ../../mod/setup.php:281
msgid "Next"
msgstr ""
-#: ../../mod/events.php:490
+#: ../../mod/events.php:476
msgid "Export"
msgstr ""
-#: ../../mod/events.php:493
-msgid "Import"
-msgstr ""
-
-#: ../../mod/events.php:518
+#: ../../mod/events.php:504
msgid "Event removed"
msgstr ""
-#: ../../mod/events.php:521
+#: ../../mod/events.php:507
msgid "Failed to remove event"
msgstr ""
-#: ../../mod/events.php:641
+#: ../../mod/events.php:627
msgid "Event details"
msgstr ""
-#: ../../mod/events.php:642
+#: ../../mod/events.php:628
msgid "Starting date and Title are required."
msgstr ""
-#: ../../mod/events.php:644
+#: ../../mod/events.php:630
msgid "Categories (comma-separated list)"
msgstr ""
-#: ../../mod/events.php:646
+#: ../../mod/events.php:632
msgid "Event Starts:"
msgstr ""
-#: ../../mod/events.php:653
+#: ../../mod/events.php:639
msgid "Finish date/time is not known or not relevant"
msgstr ""
-#: ../../mod/events.php:655
+#: ../../mod/events.php:641
msgid "Event Finishes:"
msgstr ""
-#: ../../mod/events.php:657 ../../mod/events.php:658
+#: ../../mod/events.php:643 ../../mod/events.php:644
msgid "Adjust for viewer timezone"
msgstr ""
-#: ../../mod/events.php:657
+#: ../../mod/events.php:643
msgid ""
"Important for events that happen in a particular place. Not practical for "
"global holidays."
msgstr ""
-#: ../../mod/events.php:663
+#: ../../mod/events.php:645
+msgid "Description:"
+msgstr ""
+
+#: ../../mod/events.php:649
msgid "Title:"
msgstr ""
-#: ../../mod/events.php:665
+#: ../../mod/events.php:651
msgid "Share this event"
msgstr ""
@@ -4533,7 +5368,7 @@ msgstr ""
msgid "View ratings"
msgstr ""
-#: ../../mod/rpost.php:131 ../../mod/editpost.php:158
+#: ../../mod/rpost.php:131 ../../mod/editpost.php:42
msgid "Edit post"
msgstr ""
@@ -4561,6 +5396,7 @@ msgstr ""
msgid "Collection Name: "
msgstr ""
+<<<<<<< HEAD
#: ../../mod/group.php:89 ../../mod/group.php:186
msgid "Members are visible to other channels"
msgstr ""
@@ -4602,10 +5438,6 @@ msgstr ""
msgid "No installed plugins/addons/apps"
msgstr ""
-#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:64
-msgid "$Projectname"
-msgstr ""
-
#: ../../mod/siteinfo.php:156
msgid ""
"This is a hub of $Projectname - a global cooperative network of "
@@ -4625,84 +5457,107 @@ msgid "Running at web location"
msgstr ""
#: ../../mod/siteinfo.php:164
+=======
+#: ../../mod/import.php:110
+msgid "The data provided is not compatible with this project."
+msgstr ""
+
+#: ../../mod/import.php:115
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr ""
+
+#: ../../mod/import.php:135
msgid ""
-"Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more "
-"about $Projectname."
+"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../mod/siteinfo.php:165
-msgid "Bug reports and issues: please visit"
+#: ../../mod/import.php:176
+msgid "Channel clone failed. Import failed."
msgstr ""
-#: ../../mod/siteinfo.php:167
-msgid "$projectname issues"
+#: ../../mod/import.php:186
+msgid "Cloned channel not found. Import failed."
msgstr ""
-#: ../../mod/siteinfo.php:168
-msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"
+#: ../../mod/import.php:516
+msgid "You must be logged in to use this feature."
msgstr ""
-#: ../../mod/siteinfo.php:170
-msgid "Site Administrators"
+#: ../../mod/import.php:521
+msgid "Import Channel"
msgstr ""
-#: ../../mod/item.php:174
-msgid "Unable to locate original post."
+#: ../../mod/import.php:522
+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/item.php:440
-msgid "Empty post discarded."
+#: ../../mod/import.php:523
+msgid "File to Upload"
msgstr ""
-#: ../../mod/item.php:480
-msgid "Executable content type not permitted to this channel."
+#: ../../mod/import.php:524
+msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../mod/item.php:901
-msgid "System error. Post not saved."
+#: ../../mod/import.php:525
+msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../mod/item.php:1119
-msgid "Unable to obtain post information from database."
+#: ../../mod/import.php:526
+msgid "Your old login email address"
msgstr ""
-#: ../../mod/item.php:1126
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
+#: ../../mod/import.php:527
+msgid "Your old login password"
msgstr ""
-#: ../../mod/item.php:1133
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
+#: ../../mod/import.php:528
+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 "
+"able to post from either location, but only one can be marked as the primary "
+"location for files, photos, and media."
msgstr ""
-#: ../../mod/network.php:91
-msgid "No such group"
+#: ../../mod/import.php:529
+msgid "Make this hub my primary location"
msgstr ""
-#: ../../mod/network.php:129
-msgid "No such channel"
+#: ../../mod/import.php:530
+msgid ""
+"Import existing posts if possible (experimental - limited by available memory"
msgstr ""
-#: ../../mod/network.php:143
-msgid "Search Results For:"
+#: ../../mod/import.php:531
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
+msgid ""
+"Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more "
+"about $Projectname."
msgstr ""
-#: ../../mod/network.php:198
-msgid "Collection is empty"
+#: ../../mod/siteinfo.php:165
+msgid "Bug reports and issues: please visit"
msgstr ""
-#: ../../mod/network.php:207
-msgid "Collection: "
+#: ../../mod/siteinfo.php:168
+msgid ""
+"Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot com"
msgstr ""
-#: ../../mod/network.php:226
-msgid "Connection: "
+#: ../../mod/siteinfo.php:170
+msgid "Site Administrators"
msgstr ""
-#: ../../mod/network.php:233
-msgid "Invalid connection."
+#: ../../mod/help.php:49 ../../mod/help.php:55 ../../mod/help.php:61
+msgid "Help:"
+msgstr ""
+
+#: ../../mod/help.php:76 ../../index.php:227
+msgid "Not Found"
msgstr ""
#: ../../mod/common.php:10
@@ -4721,80 +5576,96 @@ msgstr ""
msgid "This site is not a directory server"
msgstr ""
-#: ../../mod/connections.php:52 ../../mod/connections.php:153
+#: ../../mod/connections.php:37 ../../mod/connedit.php:75
+msgid "Could not access contact record."
+msgstr ""
+
+#: ../../mod/connections.php:51 ../../mod/connedit.php:99
+msgid "Could not locate selected profile."
+msgstr ""
+
+#: ../../mod/connections.php:94 ../../mod/connedit.php:214
+msgid "Connection updated."
+msgstr ""
+
+#: ../../mod/connections.php:96 ../../mod/connedit.php:216
+msgid "Failed to update connection record."
+msgstr ""
+
+#: ../../mod/connections.php:192 ../../mod/connections.php:293
msgid "Blocked"
msgstr ""
-#: ../../mod/connections.php:57 ../../mod/connections.php:160
+#: ../../mod/connections.php:197 ../../mod/connections.php:300
msgid "Ignored"
msgstr ""
-#: ../../mod/connections.php:62 ../../mod/connections.php:174
+#: ../../mod/connections.php:202 ../../mod/connections.php:314
msgid "Hidden"
msgstr ""
-#: ../../mod/connections.php:67 ../../mod/connections.php:167
+#: ../../mod/connections.php:207 ../../mod/connections.php:307
msgid "Archived"
msgstr ""
-#: ../../mod/connections.php:131
+#: ../../mod/connections.php:271
msgid "Suggest new connections"
msgstr ""
-#: ../../mod/connections.php:134
+#: ../../mod/connections.php:274
msgid "New Connections"
msgstr ""
-#: ../../mod/connections.php:137
+#: ../../mod/connections.php:277
msgid "Show pending (new) connections"
msgstr ""
-#: ../../mod/connections.php:140 ../../mod/profperm.php:139
+#: ../../mod/connections.php:280 ../../mod/profperm.php:139
msgid "All Connections"
msgstr ""
-#: ../../mod/connections.php:143
+#: ../../mod/connections.php:283
msgid "Show all connections"
msgstr ""
-#: ../../mod/connections.php:146
+#: ../../mod/connections.php:286
msgid "Unblocked"
msgstr ""
-#: ../../mod/connections.php:149
+#: ../../mod/connections.php:289
msgid "Only show unblocked connections"
msgstr ""
-#: ../../mod/connections.php:156
+#: ../../mod/connections.php:296
msgid "Only show blocked connections"
msgstr ""
-#: ../../mod/connections.php:163
+#: ../../mod/connections.php:303
msgid "Only show ignored connections"
msgstr ""
-#: ../../mod/connections.php:170
+#: ../../mod/connections.php:310
msgid "Only show archived connections"
msgstr ""
-#: ../../mod/connections.php:177
+#: ../../mod/connections.php:317
msgid "Only show hidden connections"
msgstr ""
-#: ../../mod/connections.php:232
+#: ../../mod/connections.php:372
#, php-format
msgid "%1$s [%2$s]"
msgstr ""
-#: ../../mod/connections.php:233
+#: ../../mod/connections.php:373
msgid "Edit connection"
msgstr ""
-#: ../../mod/connections.php:271
+#: ../../mod/connections.php:411
msgid "Search your connections"
msgstr ""
-#: ../../mod/connections.php:272
+#: ../../mod/connections.php:412
msgid "Finding: "
msgstr ""
@@ -4806,175 +5677,167 @@ msgstr ""
msgid "Block Title"
msgstr ""
-#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76
-#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78
-#: ../../mod/editblock.php:94
-msgid "Item not found"
-msgstr ""
-
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr ""
-
-#: ../../mod/editpost.php:48
-msgid "Delete item?"
-msgstr ""
-
-#: ../../mod/editpost.php:115 ../../mod/editlayout.php:142
-#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:144
-msgid "Insert YouTube video"
-msgstr ""
-
-#: ../../mod/editpost.php:116 ../../mod/editlayout.php:143
-#: ../../mod/editwebpage.php:188 ../../mod/editblock.php:145
-msgid "Insert Vorbis [.ogg] video"
-msgstr ""
-
-#: ../../mod/editpost.php:117 ../../mod/editlayout.php:144
-#: ../../mod/editwebpage.php:189 ../../mod/editblock.php:146
-msgid "Insert Vorbis [.ogg] audio"
+#: ../../mod/tagger.php:96
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr ""
#: ../../mod/cloud.php:120
msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
msgstr ""
-#: ../../mod/photos.php:78
+#: ../../mod/photos.php:77
msgid "Page owner information could not be retrieved."
msgstr ""
-#: ../../mod/photos.php:98
+#: ../../mod/photos.php:97
msgid "Album not found."
msgstr ""
-#: ../../mod/photos.php:120 ../../mod/photos.php:655
+#: ../../mod/photos.php:119 ../../mod/photos.php:643
msgid "Delete Album"
msgstr ""
-#: ../../mod/photos.php:160 ../../mod/photos.php:942
+<<<<<<< HEAD
+#: ../../mod/photos.php:159 ../../mod/photos.php:930
msgid "Delete Photo"
msgstr ""
-#: ../../mod/photos.php:452
+#: ../../mod/photos.php:429 ../../mod/search.php:13 ../../mod/display.php:13
+#: ../../mod/ratings.php:82 ../../mod/directory.php:47
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+=======
+#: ../../mod/rate.php:161 ../../mod/connedit.php:669
+msgid "Rating (this information is public)"
+msgstr ""
+
+#: ../../mod/rate.php:162 ../../mod/connedit.php:670
+#: ../../mod/connedit.php:674
+msgid "Optionally explain your rating (this information is public)"
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
+msgstr ""
+
+#: ../../mod/photos.php:440
msgid "No photos selected"
msgstr ""
-#: ../../mod/photos.php:496
+#: ../../mod/photos.php:484
msgid "Access to this item is restricted."
msgstr ""
-#: ../../mod/photos.php:535
+#: ../../mod/photos.php:523
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr ""
-#: ../../mod/photos.php:538
+#: ../../mod/photos.php:526
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr ""
-#: ../../mod/photos.php:562
+#: ../../mod/photos.php:550
msgid "Upload Photos"
msgstr ""
-#: ../../mod/photos.php:566 ../../mod/photos.php:648 ../../mod/photos.php:927
+#: ../../mod/photos.php:554 ../../mod/photos.php:636 ../../mod/photos.php:915
msgid "Enter a new album name"
msgstr ""
-#: ../../mod/photos.php:567 ../../mod/photos.php:649 ../../mod/photos.php:928
+#: ../../mod/photos.php:555 ../../mod/photos.php:637 ../../mod/photos.php:916
msgid "or select an existing one (doubleclick)"
msgstr ""
-#: ../../mod/photos.php:568
+#: ../../mod/photos.php:556
msgid "Create a status post for this upload"
msgstr ""
-#: ../../mod/photos.php:596
+#: ../../mod/photos.php:584
msgid "Album name could not be decoded"
msgstr ""
-#: ../../mod/photos.php:637 ../../mod/photos.php:1169
-#: ../../mod/photos.php:1185
+#: ../../mod/photos.php:625 ../../mod/photos.php:1157
+#: ../../mod/photos.php:1173
msgid "Contact Photos"
msgstr ""
-#: ../../mod/photos.php:661
+#: ../../mod/photos.php:649
msgid "Show Newest First"
msgstr ""
-#: ../../mod/photos.php:663
+#: ../../mod/photos.php:651
msgid "Show Oldest First"
msgstr ""
-#: ../../mod/photos.php:687 ../../mod/photos.php:1217
+#: ../../mod/photos.php:675 ../../mod/photos.php:1205
msgid "View Photo"
msgstr ""
-#: ../../mod/photos.php:716
+#: ../../mod/photos.php:704
msgid "Edit Album"
msgstr ""
-#: ../../mod/photos.php:761
+#: ../../mod/photos.php:749
msgid "Permission denied. Access to this item may be restricted."
msgstr ""
-#: ../../mod/photos.php:763
+#: ../../mod/photos.php:751
msgid "Photo not available"
msgstr ""
-#: ../../mod/photos.php:821
+#: ../../mod/photos.php:809
msgid "Use as profile photo"
msgstr ""
-#: ../../mod/photos.php:828
+#: ../../mod/photos.php:816
msgid "Private Photo"
msgstr ""
-#: ../../mod/photos.php:843
+#: ../../mod/photos.php:831
msgid "View Full Size"
msgstr ""
-#: ../../mod/photos.php:921
+#: ../../mod/photos.php:909
msgid "Edit photo"
msgstr ""
-#: ../../mod/photos.php:923
+#: ../../mod/photos.php:911
msgid "Rotate CW (right)"
msgstr ""
-#: ../../mod/photos.php:924
+#: ../../mod/photos.php:912
msgid "Rotate CCW (left)"
msgstr ""
-#: ../../mod/photos.php:931
+#: ../../mod/photos.php:919
msgid "Caption"
msgstr ""
-#: ../../mod/photos.php:933
+#: ../../mod/photos.php:921
msgid "Add a Tag"
msgstr ""
-#: ../../mod/photos.php:937
+#: ../../mod/photos.php:925
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr ""
-#: ../../mod/photos.php:940
+#: ../../mod/photos.php:928
msgid "Flag as adult in album view"
msgstr ""
-#: ../../mod/photos.php:1132
+#: ../../mod/photos.php:1120
msgid "In This Photo:"
msgstr ""
-#: ../../mod/photos.php:1137
+#: ../../mod/photos.php:1125
msgid "Map"
msgstr ""
-#: ../../mod/photos.php:1223
+#: ../../mod/photos.php:1211
msgid "View Album"
msgstr ""
-#: ../../mod/photos.php:1246
+#: ../../mod/photos.php:1234
msgid "Recent Photos"
msgstr ""
@@ -5077,76 +5940,76 @@ msgstr ""
msgid "Your service plan only allows %d channels."
msgstr ""
-#: ../../mod/import.php:60
+#: ../../mod/import.php:51
msgid "Nothing to import."
msgstr ""
-#: ../../mod/import.php:84
+#: ../../mod/import.php:75
msgid "Unable to download data from old server"
msgstr ""
-#: ../../mod/import.php:90
+#: ../../mod/import.php:81
msgid "Imported file is empty."
msgstr ""
-#: ../../mod/import.php:110
-msgid "The data provided is not compatible with this project."
-msgstr ""
-
-#: ../../mod/import.php:115
-#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr ""
-
-#: ../../mod/import.php:135
+#: ../../mod/import.php:106
msgid ""
"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../mod/import.php:176
+#: ../../mod/import.php:127
+msgid "Unable to create a unique channel address. Import failed."
+msgstr ""
+
+#: ../../mod/import.php:147
msgid "Channel clone failed. Import failed."
msgstr ""
-#: ../../mod/import.php:186
+#: ../../mod/import.php:157
msgid "Cloned channel not found. Import failed."
msgstr ""
-#: ../../mod/import.php:574
+#: ../../mod/import.php:475
+msgid "Import completed."
+msgstr ""
+
+#: ../../mod/import.php:487
msgid "You must be logged in to use this feature."
msgstr ""
-#: ../../mod/import.php:579
+#: ../../mod/import.php:492
msgid "Import Channel"
msgstr ""
-#: ../../mod/import.php:580
+#: ../../mod/import.php:493
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."
+"provide an export file. Only identity and connections/relationships will be "
+"imported. Importation of content is not yet available."
msgstr ""
-#: ../../mod/import.php:581
+#: ../../mod/import.php:494
msgid "File to Upload"
msgstr ""
-#: ../../mod/import.php:582
+#: ../../mod/import.php:495
msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../mod/import.php:583
+#: ../../mod/import.php:496
msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../mod/import.php:584
+#: ../../mod/import.php:497
msgid "Your old login email address"
msgstr ""
-#: ../../mod/import.php:585
+#: ../../mod/import.php:498
msgid "Your old login password"
msgstr ""
-#: ../../mod/import.php:586
+#: ../../mod/import.php:499
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 "
@@ -5154,38 +6017,52 @@ msgid ""
"location for files, photos, and media."
msgstr ""
-#: ../../mod/import.php:587
+#: ../../mod/import.php:500
msgid "Make this hub my primary location"
msgstr ""
-#: ../../mod/import.php:588
-msgid ""
-"Import existing posts if possible (experimental - limited by available memory"
+#: ../../mod/import.php:501
+msgid "Import existing posts if possible"
msgstr ""
-#: ../../mod/import.php:589
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
+#: ../../mod/editlayout.php:76 ../../mod/editwebpage.php:77
+#: ../../mod/editpost.php:20 ../../mod/editblock.php:78
+#: ../../mod/editblock.php:94
+msgid "Item not found"
+msgstr ""
+
+#: ../../mod/editlayout.php:106
+msgid "Edit Layout"
msgstr ""
-#: ../../mod/editlayout.php:111
+#: ../../mod/editlayout.php:117
msgid "Delete layout?"
msgstr ""
-#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
+#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:187
+#: ../../mod/editpost.php:122 ../../mod/editblock.php:150
+msgid "Insert YouTube video"
+msgstr ""
+
+#: ../../mod/editlayout.php:149 ../../mod/editwebpage.php:188
+#: ../../mod/editpost.php:123 ../../mod/editblock.php:151
+msgid "Insert Vorbis [.ogg] video"
+msgstr ""
+
+#: ../../mod/editlayout.php:150 ../../mod/editwebpage.php:189
+#: ../../mod/editpost.php:124 ../../mod/editblock.php:152
+msgid "Insert Vorbis [.ogg] audio"
+msgstr ""
+
+#: ../../mod/editlayout.php:164 ../../mod/layouts.php:124
msgid "Layout Description (Optional)"
msgstr ""
-#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
+#: ../../mod/editlayout.php:166 ../../mod/layouts.php:121
#: ../../mod/layouts.php:179
msgid "Layout Name"
msgstr ""
-#: ../../mod/editlayout.php:177
-msgid "Edit Layout"
-msgstr ""
-
#: ../../mod/chat.php:19 ../../mod/channel.php:25
msgid "You must be logged in to see this page."
msgstr ""
@@ -5227,126 +6104,6 @@ msgstr ""
msgid "%1$s's Chatrooms"
msgstr ""
-#: ../../mod/mitem.php:24 ../../mod/menu.php:134
-msgid "Menu not found."
-msgstr ""
-
-#: ../../mod/mitem.php:48
-msgid "Unable to create element."
-msgstr ""
-
-#: ../../mod/mitem.php:71
-msgid "Unable to update menu element."
-msgstr ""
-
-#: ../../mod/mitem.php:86
-msgid "Unable to add menu element."
-msgstr ""
-
-#: ../../mod/mitem.php:152 ../../mod/mitem.php:223
-msgid "Menu Item Permissions"
-msgstr ""
-
-#: ../../mod/mitem.php:153 ../../mod/mitem.php:224 ../../mod/settings.php:1083
-msgid "(click to open/close)"
-msgstr ""
-
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:171
-msgid "Link Name"
-msgstr ""
-
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:228
-msgid "Link or Submenu Target"
-msgstr ""
-
-#: ../../mod/mitem.php:156
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr ""
-
-#: ../../mod/mitem.php:157 ../../mod/mitem.php:229
-msgid "Use magic-auth if available"
-msgstr ""
-
-#: ../../mod/mitem.php:158 ../../mod/mitem.php:230
-msgid "Open link in new window"
-msgstr ""
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
-msgid "Order in list"
-msgstr ""
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
-msgid "Higher numbers will sink to bottom of listing"
-msgstr ""
-
-#: ../../mod/mitem.php:160
-msgid "Submit and finish"
-msgstr ""
-
-#: ../../mod/mitem.php:161
-msgid "Submit and continue"
-msgstr ""
-
-#: ../../mod/mitem.php:169
-msgid "Menu:"
-msgstr ""
-
-#: ../../mod/mitem.php:172
-msgid "Link Target"
-msgstr ""
-
-#: ../../mod/mitem.php:175
-msgid "Edit menu"
-msgstr ""
-
-#: ../../mod/mitem.php:178
-msgid "Edit element"
-msgstr ""
-
-#: ../../mod/mitem.php:179
-msgid "Drop element"
-msgstr ""
-
-#: ../../mod/mitem.php:180
-msgid "New element"
-msgstr ""
-
-#: ../../mod/mitem.php:181
-msgid "Edit this menu container"
-msgstr ""
-
-#: ../../mod/mitem.php:182
-msgid "Add menu element"
-msgstr ""
-
-#: ../../mod/mitem.php:183
-msgid "Delete this menu item"
-msgstr ""
-
-#: ../../mod/mitem.php:184
-msgid "Edit this menu item"
-msgstr ""
-
-#: ../../mod/mitem.php:201
-msgid "Menu item not found."
-msgstr ""
-
-#: ../../mod/mitem.php:212
-msgid "Menu item deleted."
-msgstr ""
-
-#: ../../mod/mitem.php:214
-msgid "Menu item could not be deleted."
-msgstr ""
-
-#: ../../mod/mitem.php:221
-msgid "Edit Menu Element"
-msgstr ""
-
-#: ../../mod/mitem.php:227
-msgid "Link text"
-msgstr ""
-
#: ../../mod/editwebpage.php:152
msgid "Delete webpage?"
msgstr ""
@@ -5371,7 +6128,7 @@ msgstr ""
msgid "Password reset request issued. Check your email."
msgstr ""
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
#, php-format
msgid "Site Member (%s)"
msgstr ""
@@ -5387,52 +6144,52 @@ msgid ""
"Password reset failed."
msgstr ""
-#: ../../mod/lostpass.php:86 ../../boot.php:1559
+#: ../../mod/lostpass.php:85 ../../boot.php:1558
msgid "Password Reset"
msgstr ""
-#: ../../mod/lostpass.php:87
+#: ../../mod/lostpass.php:86
msgid "Your password has been reset as requested."
msgstr ""
-#: ../../mod/lostpass.php:88
+#: ../../mod/lostpass.php:87
msgid "Your new password is"
msgstr ""
-#: ../../mod/lostpass.php:89
+#: ../../mod/lostpass.php:88
msgid "Save or copy your new password - and then"
msgstr ""
-#: ../../mod/lostpass.php:90
+#: ../../mod/lostpass.php:89
msgid "click here to login"
msgstr ""
-#: ../../mod/lostpass.php:91
+#: ../../mod/lostpass.php:90
msgid ""
"Your password may be changed from the <em>Settings</em> page after "
"successful login."
msgstr ""
-#: ../../mod/lostpass.php:108
+#: ../../mod/lostpass.php:107
#, php-format
msgid "Your password has changed at %s"
msgstr ""
-#: ../../mod/lostpass.php:123
+#: ../../mod/lostpass.php:122
msgid "Forgot your Password?"
msgstr ""
-#: ../../mod/lostpass.php:124
+#: ../../mod/lostpass.php:123
msgid ""
"Enter your email address and submit to have your password reset. Then check "
"your email for further instructions."
msgstr ""
-#: ../../mod/lostpass.php:125
+#: ../../mod/lostpass.php:124
msgid "Email Address"
msgstr ""
-#: ../../mod/lostpass.php:126
+#: ../../mod/lostpass.php:125
msgid "Reset"
msgstr ""
@@ -5445,20 +6202,20 @@ msgstr ""
msgid "Remote Channel [%s] (not yet known on this site)"
msgstr ""
-#: ../../mod/rate.php:161
+#: ../../mod/rate.php:161 ../../mod/connedit.php:663
msgid "Rating (this information is public)"
msgstr ""
-#: ../../mod/rate.php:162
+#: ../../mod/rate.php:162 ../../mod/connedit.php:664
msgid "Optionally explain your rating (this information is public)"
msgstr ""
-#: ../../mod/editblock.php:117
-msgid "Delete block?"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
msgstr ""
-#: ../../mod/editblock.php:179
-msgid "Edit Block"
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
msgstr ""
#: ../../mod/invite.php:25
@@ -5649,11 +6406,11 @@ msgstr ""
msgid "Allow Bookmarks"
msgstr ""
-#: ../../mod/menu.php:91 ../../mod/menu.php:147
+#: ../../mod/menu.php:91 ../../mod/menu.php:143
msgid "Menu may be used to store saved bookmarks"
msgstr ""
-#: ../../mod/menu.php:92 ../../mod/menu.php:149
+#: ../../mod/menu.php:92
msgid "Submit and proceed"
msgstr ""
@@ -5661,54 +6418,62 @@ msgstr ""
msgid "Drop"
msgstr ""
-#: ../../mod/menu.php:108
+#: ../../mod/menu.php:106
msgid "Bookmarks allowed"
msgstr ""
-#: ../../mod/menu.php:110
+#: ../../mod/menu.php:108
msgid "Delete this menu"
msgstr ""
-#: ../../mod/menu.php:111 ../../mod/menu.php:144
+#: ../../mod/menu.php:109 ../../mod/menu.php:140
msgid "Edit menu contents"
msgstr ""
-#: ../../mod/menu.php:112
+#: ../../mod/menu.php:110
msgid "Edit this menu"
msgstr ""
-#: ../../mod/menu.php:126
+#: ../../mod/menu.php:124
msgid "Menu could not be deleted."
msgstr ""
-#: ../../mod/menu.php:139
+#: ../../mod/menu.php:132 ../../mod/mitem.php:24
+msgid "Menu not found."
+msgstr ""
+
+#: ../../mod/menu.php:137
msgid "Edit Menu"
msgstr ""
-#: ../../mod/menu.php:143
+#: ../../mod/menu.php:139
msgid "Add or remove entries to this menu"
msgstr ""
-#: ../../mod/menu.php:145
+#: ../../mod/menu.php:141
msgid "Menu name"
msgstr ""
-#: ../../mod/menu.php:145
+#: ../../mod/menu.php:141
msgid "Must be unique, only seen by you"
msgstr ""
-#: ../../mod/menu.php:146
+#: ../../mod/menu.php:142
msgid "Menu title"
msgstr ""
-#: ../../mod/menu.php:146
+#: ../../mod/menu.php:142
msgid "Menu title as seen by others"
msgstr ""
-#: ../../mod/menu.php:147
+#: ../../mod/menu.php:143
msgid "Allow bookmarks"
msgstr ""
+#: ../../mod/menu.php:145
+msgid "Modify"
+msgstr ""
+
#: ../../mod/filestorage.php:82
msgid "Permission Denied."
msgstr ""
@@ -5810,12 +6575,16 @@ msgstr ""
msgid "Visible To"
msgstr ""
-#: ../../mod/impel.php:191
+#: ../../mod/impel.php:54
+msgid "menu"
+msgstr ""
+
+#: ../../mod/impel.php:186
#, php-format
msgid "%s element installed"
msgstr ""
-#: ../../mod/impel.php:194
+#: ../../mod/impel.php:189
#, php-format
msgid "%s element installation failed"
msgstr ""
@@ -5893,7 +6662,7 @@ msgstr ""
msgid "Interests"
msgstr ""
-#: ../../mod/profiles.php:447 ../../mod/admin.php:994
+#: ../../mod/profiles.php:447 ../../mod/admin.php:985
msgid "Address"
msgstr ""
@@ -5949,8 +6718,18 @@ msgstr ""
msgid "Title/Description:"
msgstr ""
+<<<<<<< HEAD
#: ../../mod/profiles.php:680
msgid "Your Gender:"
+=======
+#: ../../mod/tagger.php:96
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr ""
+
+#: ../../mod/uexport.php:33 ../../mod/uexport.php:34
+msgid "Export Channel"
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
msgstr ""
#: ../../mod/profiles.php:681
@@ -6061,7 +6840,7 @@ msgstr ""
msgid "This is your default profile."
msgstr ""
-#: ../../mod/profiles.php:728
+#: ../../mod/profiles.php:728 ../../mod/directory.php:218
msgid "Age: "
msgstr ""
@@ -6516,27 +7295,89 @@ msgstr ""
msgid "Welcome %s. Remote authentication successful."
msgstr ""
-#: ../../mod/tagger.php:96
+#: ../../mod/directory.php:224
#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../mod/directory.php:236
+msgid "Gender: "
msgstr ""
-#: ../../mod/uexport.php:45 ../../mod/uexport.php:46
+#: ../../mod/directory.php:238
+msgid "Status: "
+msgstr ""
+
+#: ../../mod/directory.php:240
+msgid "Homepage: "
+msgstr ""
+
+#: ../../mod/directory.php:243
+msgid "Hometown: "
+msgstr ""
+
+#: ../../mod/directory.php:245
+msgid "About: "
+msgstr ""
+
+#: ../../mod/directory.php:303
+msgid "Public Forum:"
+msgstr ""
+
+<<<<<<< HEAD
+#: ../../mod/directory.php:306
+msgid "Keywords: "
+msgstr ""
+
+#: ../../mod/directory.php:311
+#, php-format
+msgid "Common connections: %s"
+=======
+#: ../../mod/admin.php:827 ../../mod/connedit.php:523
+#: ../../mod/connedit.php:729
+msgid "Block"
+msgstr ""
+
+#: ../../mod/admin.php:828 ../../mod/connedit.php:523
+#: ../../mod/connedit.php:729
+msgid "Unblock"
+>>>>>>> cbfb94c55cc422359f1cef3c6fe89d86f131a104
+msgstr ""
+
+#: ../../mod/directory.php:363
+msgid "Finding:"
+msgstr ""
+
+#: ../../mod/directory.php:368
+msgid "next page"
+msgstr ""
+
+#: ../../mod/directory.php:368
+msgid "previous page"
+msgstr ""
+
+#: ../../mod/directory.php:385
+msgid "No entries (some entries may be hidden)."
+msgstr ""
+
+#: ../../mod/uexport.php:33 ../../mod/uexport.php:34
msgid "Export Channel"
msgstr ""
-#: ../../mod/uexport.php:47
+#: ../../mod/uexport.php:35
msgid ""
"Export your basic channel information to a small file. This acts as a "
"backup of your connections, permissions, profile and basic data, which can "
"be used to import your data to a new hub, but\tdoes not contain your content."
msgstr ""
-#: ../../mod/uexport.php:48
+#: ../../mod/uexport.php:36
msgid "Export Content"
msgstr ""
-#: ../../mod/uexport.php:49
+#: ../../mod/uexport.php:37
msgid ""
"Export your channel information and all the content to a JSON backup. This "
"backs up all of your connections, permissions, profile data and all of your "
@@ -6562,7 +7403,7 @@ msgstr ""
msgid "Theme settings updated."
msgstr ""
-#: ../../mod/admin.php:93 ../../mod/admin.php:452
+#: ../../mod/admin.php:93 ../../mod/admin.php:445
msgid "Site"
msgstr ""
@@ -6570,15 +7411,15 @@ msgstr ""
msgid "Accounts"
msgstr ""
-#: ../../mod/admin.php:95 ../../mod/admin.php:985
+#: ../../mod/admin.php:95 ../../mod/admin.php:976
msgid "Channels"
msgstr ""
-#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
+#: ../../mod/admin.php:96 ../../mod/admin.php:1068 ../../mod/admin.php:1108
msgid "Plugins"
msgstr ""
-#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
+#: ../../mod/admin.php:97 ../../mod/admin.php:1268 ../../mod/admin.php:1302
msgid "Themes"
msgstr ""
@@ -6594,7 +7435,7 @@ msgstr ""
msgid "DB updates"
msgstr ""
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
+#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1387
msgid "Logs"
msgstr ""
@@ -6638,10 +7479,10 @@ msgstr ""
msgid "Message queues"
msgstr ""
-#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
-#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
-#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
-#: ../../mod/admin.php:1395
+#: ../../mod/admin.php:240 ../../mod/admin.php:444 ../../mod/admin.php:539
+#: ../../mod/admin.php:808 ../../mod/admin.php:975 ../../mod/admin.php:1067
+#: ../../mod/admin.php:1107 ../../mod/admin.php:1267 ../../mod/admin.php:1301
+#: ../../mod/admin.php:1386
msgid "Administration"
msgstr ""
@@ -6653,7 +7494,7 @@ msgstr ""
msgid "Registered accounts"
msgstr ""
-#: ../../mod/admin.php:245 ../../mod/admin.php:552
+#: ../../mod/admin.php:245 ../../mod/admin.php:543
msgid "Pending registrations"
msgstr ""
@@ -6661,7 +7502,7 @@ msgstr ""
msgid "Registered channels"
msgstr ""
-#: ../../mod/admin.php:247 ../../mod/admin.php:553
+#: ../../mod/admin.php:247 ../../mod/admin.php:544
msgid "Active plugins"
msgstr ""
@@ -6669,680 +7510,654 @@ msgstr ""
msgid "Version"
msgstr ""
-#: ../../mod/admin.php:363
+#: ../../mod/admin.php:359
msgid "Site settings updated."
msgstr ""
-#: ../../mod/admin.php:400 ../../mod/settings.php:813
-msgid "mobile"
-msgstr ""
-
-#: ../../mod/admin.php:402
+#: ../../mod/admin.php:398
msgid "experimental"
msgstr ""
-#: ../../mod/admin.php:404
+#: ../../mod/admin.php:400
msgid "unsupported"
msgstr ""
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:425
msgid "Yes - with approval"
msgstr ""
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:431
msgid "My site is not a public server"
msgstr ""
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:432
msgid "My site has paid access only"
msgstr ""
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:433
msgid "My site has free access only"
msgstr ""
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:434
msgid "My site offers free accounts with optional paid upgrades"
msgstr ""
-#: ../../mod/admin.php:454 ../../mod/register.php:207
+#: ../../mod/admin.php:447 ../../mod/register.php:207
msgid "Registration"
msgstr ""
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:448
msgid "File upload"
msgstr ""
-#: ../../mod/admin.php:456
+#: ../../mod/admin.php:449
msgid "Policies"
msgstr ""
-#: ../../mod/admin.php:461
+#: ../../mod/admin.php:454
msgid "Site name"
msgstr ""
-#: ../../mod/admin.php:462
+#: ../../mod/admin.php:455
msgid "Banner/Logo"
msgstr ""
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:456
msgid "Administrator Information"
msgstr ""
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:456
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr ""
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:457
msgid "System language"
msgstr ""
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:458
msgid "System theme"
msgstr ""
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:458
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr ""
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:459
msgid "Mobile system theme"
msgstr ""
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:459
msgid "Theme for mobile devices"
msgstr ""
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:461
msgid "Enable Diaspora Protocol"
msgstr ""
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:461
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr ""
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:462
msgid "Allow Feeds as Connections"
msgstr ""
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:462
msgid "(Heavy system resource usage)"
msgstr ""
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:463
msgid "Maximum image size"
msgstr ""
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:463
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr ""
-#: ../../mod/admin.php:471
+#: ../../mod/admin.php:464
msgid "Does this site allow new member registration?"
msgstr ""
-#: ../../mod/admin.php:472
+#: ../../mod/admin.php:465
msgid "Which best describes the types of account offered by this hub?"
msgstr ""
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:466
msgid "Register text"
msgstr ""
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:466
msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: ../../mod/admin.php:474
-msgid "Site homepage to show visitors (default: login box)"
-msgstr ""
-
-#: ../../mod/admin.php:474
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr ""
-
-#: ../../mod/admin.php:475
-msgid "Preserve site homepage URL"
-msgstr ""
-
-#: ../../mod/admin.php:475
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr ""
-
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:467
msgid "Accounts abandoned after x days"
msgstr ""
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:467
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr ""
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:468
msgid "Allowed friend domains"
msgstr ""
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:468
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr ""
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:469
msgid "Allowed email domains"
msgstr ""
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:469
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr ""
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:470
msgid "Not allowed email domains"
msgstr ""
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:470
msgid ""
"Comma separated list of domains which are not allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr ""
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:471
msgid "Block public"
msgstr ""
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:471
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr ""
-#: ../../mod/admin.php:481
+#: ../../mod/admin.php:472
msgid "Verify Email Addresses"
msgstr ""
-#: ../../mod/admin.php:481
+#: ../../mod/admin.php:472
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr ""
-#: ../../mod/admin.php:482
+#: ../../mod/admin.php:473
msgid "Force publish"
msgstr ""
-#: ../../mod/admin.php:482
+#: ../../mod/admin.php:473
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:474
msgid "Disable discovery tab"
msgstr ""
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:474
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr ""
-#: ../../mod/admin.php:484
-msgid "login on Homepage"
+#: ../../mod/admin.php:475
+msgid "No login on Homepage"
msgstr ""
-#: ../../mod/admin.php:484
+#: ../../mod/admin.php:475
msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
+"Check to hide the login form from your sites homepage when visitors arrive "
+"who are not logged in (e.g. when you put the content of the homepage in via "
+"the site channel)."
msgstr ""
-#: ../../mod/admin.php:486
+#: ../../mod/admin.php:477
msgid "Proxy user"
msgstr ""
-#: ../../mod/admin.php:487
+#: ../../mod/admin.php:478
msgid "Proxy URL"
msgstr ""
-#: ../../mod/admin.php:488
+#: ../../mod/admin.php:479
msgid "Network timeout"
msgstr ""
-#: ../../mod/admin.php:488
+#: ../../mod/admin.php:479
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../mod/admin.php:489
+#: ../../mod/admin.php:480
msgid "Delivery interval"
msgstr ""
-#: ../../mod/admin.php:489
+#: ../../mod/admin.php:480
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr ""
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:481
msgid "Poll interval"
msgstr ""
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:481
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr ""
-#: ../../mod/admin.php:491
+#: ../../mod/admin.php:482
msgid "Maximum Load Average"
msgstr ""
-#: ../../mod/admin.php:491
+#: ../../mod/admin.php:482
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr ""
-#: ../../mod/admin.php:492
+#: ../../mod/admin.php:483
msgid "Expiration period in days for imported (matrix/network) content"
msgstr ""
-#: ../../mod/admin.php:492
+#: ../../mod/admin.php:483
msgid "0 for no expiration of imported content"
msgstr ""
-#: ../../mod/admin.php:540
+#: ../../mod/admin.php:531
msgid "No server found"
msgstr ""
-#: ../../mod/admin.php:547 ../../mod/admin.php:831
+#: ../../mod/admin.php:538 ../../mod/admin.php:822
msgid "ID"
msgstr ""
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:538
msgid "for channel"
msgstr ""
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:538
msgid "on server"
msgstr ""
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:538
msgid "Status"
msgstr ""
-#: ../../mod/admin.php:549
+#: ../../mod/admin.php:540
msgid "Server"
msgstr ""
-#: ../../mod/admin.php:566
+#: ../../mod/admin.php:557
msgid "Update has been marked successful"
msgstr ""
-#: ../../mod/admin.php:576
+#: ../../mod/admin.php:567
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr ""
-#: ../../mod/admin.php:579
+#: ../../mod/admin.php:570
#, php-format
msgid "Update %s was successfully applied."
msgstr ""
-#: ../../mod/admin.php:583
+#: ../../mod/admin.php:574
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: ../../mod/admin.php:586
+#: ../../mod/admin.php:577
#, php-format
msgid "Update function %s could not be found."
msgstr ""
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:593
msgid "No failed updates."
msgstr ""
-#: ../../mod/admin.php:606
+#: ../../mod/admin.php:597
msgid "Failed Updates"
msgstr ""
-#: ../../mod/admin.php:608
+#: ../../mod/admin.php:599
msgid "Mark success (if update was manually applied)"
msgstr ""
-#: ../../mod/admin.php:609
+#: ../../mod/admin.php:600
msgid "Attempt to execute this update step automatically"
msgstr ""
-#: ../../mod/admin.php:641
+#: ../../mod/admin.php:632
msgid "Queue Statistics"
msgstr ""
-#: ../../mod/admin.php:642
+#: ../../mod/admin.php:633
msgid "Total Entries"
msgstr ""
-#: ../../mod/admin.php:643
+#: ../../mod/admin.php:634
msgid "Priority"
msgstr ""
-#: ../../mod/admin.php:644
+#: ../../mod/admin.php:635
msgid "Destination URL"
msgstr ""
-#: ../../mod/admin.php:645
+#: ../../mod/admin.php:636
msgid "Mark hub permanently offline"
msgstr ""
-#: ../../mod/admin.php:646
+#: ../../mod/admin.php:637
msgid "Empty queue for this hub"
msgstr ""
-#: ../../mod/admin.php:647
+#: ../../mod/admin.php:638
msgid "Last known contact"
msgstr ""
-#: ../../mod/admin.php:683
+#: ../../mod/admin.php:674
#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
+msgid "%s user blocked/unblocked"
+msgid_plural "%s users blocked/unblocked"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:691
+#: ../../mod/admin.php:682
#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
+msgid "%s user deleted"
+msgid_plural "%s users deleted"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:727
+#: ../../mod/admin.php:718
msgid "Account not found"
msgstr ""
-#: ../../mod/admin.php:739
+#: ../../mod/admin.php:738
#, php-format
-msgid "Account '%s' deleted"
+msgid "User '%s' blocked"
msgstr ""
-#: ../../mod/admin.php:747
+#: ../../mod/admin.php:746
#, php-format
-msgid "Account '%s' blocked"
+msgid "User '%s' unblocked"
msgstr ""
-#: ../../mod/admin.php:755
-#, php-format
-msgid "Account '%s' unblocked"
-msgstr ""
-
-#: ../../mod/admin.php:818 ../../mod/admin.php:830
+#: ../../mod/admin.php:809 ../../mod/admin.php:821
msgid "Users"
msgstr ""
-#: ../../mod/admin.php:820 ../../mod/admin.php:987
+#: ../../mod/admin.php:811 ../../mod/admin.php:978
msgid "select all"
msgstr ""
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:812
msgid "User registrations waiting for confirm"
msgstr ""
-#: ../../mod/admin.php:822
+#: ../../mod/admin.php:813
msgid "Request date"
msgstr ""
-#: ../../mod/admin.php:823
+#: ../../mod/admin.php:814
msgid "No registrations."
msgstr ""
-#: ../../mod/admin.php:824 ../../mod/connedit.php:699
+#: ../../mod/admin.php:815
msgid "Approve"
msgstr ""
-#: ../../mod/admin.php:825
+#: ../../mod/admin.php:816
msgid "Deny"
msgstr ""
-#: ../../mod/admin.php:827 ../../mod/connedit.php:531
+#: ../../mod/admin.php:818 ../../mod/connedit.php:517
+#: ../../mod/connedit.php:720
msgid "Block"
msgstr ""
-#: ../../mod/admin.php:828 ../../mod/connedit.php:531
+#: ../../mod/admin.php:819 ../../mod/connedit.php:517
+#: ../../mod/connedit.php:720
msgid "Unblock"
msgstr ""
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Register date"
msgstr ""
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Last login"
msgstr ""
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Expires"
msgstr ""
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Service Class"
msgstr ""
-#: ../../mod/admin.php:833
+#: ../../mod/admin.php:824
msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted "
-"on this site will be permanently deleted!\\n\\nAre you sure?"
+"Selected users will be deleted!\\n\\nEverything these users had posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:834
+#: ../../mod/admin.php:825
msgid ""
-"The account {0} will be deleted!\\n\\nEverything this account has posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
+"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
+"site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:870
+#: ../../mod/admin.php:861
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:879
+#: ../../mod/admin.php:870
#, php-format
msgid "%s channel code allowed/disallowed"
msgid_plural "%s channels code allowed/disallowed"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:877
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/admin.php:906
+#: ../../mod/admin.php:897
msgid "Channel not found"
msgstr ""
-#: ../../mod/admin.php:917
+#: ../../mod/admin.php:908
#, php-format
msgid "Channel '%s' deleted"
msgstr ""
-#: ../../mod/admin.php:929
+#: ../../mod/admin.php:920
#, php-format
msgid "Channel '%s' censored"
msgstr ""
-#: ../../mod/admin.php:929
+#: ../../mod/admin.php:920
#, php-format
msgid "Channel '%s' uncensored"
msgstr ""
-#: ../../mod/admin.php:940
+#: ../../mod/admin.php:931
#, php-format
msgid "Channel '%s' code allowed"
msgstr ""
-#: ../../mod/admin.php:940
+#: ../../mod/admin.php:931
#, php-format
msgid "Channel '%s' code disallowed"
msgstr ""
-#: ../../mod/admin.php:989
+#: ../../mod/admin.php:980
msgid "Censor"
msgstr ""
-#: ../../mod/admin.php:990
+#: ../../mod/admin.php:981
msgid "Uncensor"
msgstr ""
-#: ../../mod/admin.php:991
+#: ../../mod/admin.php:982
msgid "Allow Code"
msgstr ""
-#: ../../mod/admin.php:992
+#: ../../mod/admin.php:983
msgid "Disallow Code"
msgstr ""
-#: ../../mod/admin.php:994
+#: ../../mod/admin.php:985
msgid "UID"
msgstr ""
-#: ../../mod/admin.php:996
+#: ../../mod/admin.php:987
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:997
+#: ../../mod/admin.php:988
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../mod/admin.php:1037
+#: ../../mod/admin.php:1028
#, php-format
msgid "Plugin %s disabled."
msgstr ""
-#: ../../mod/admin.php:1041
+#: ../../mod/admin.php:1032
#, php-format
msgid "Plugin %s enabled."
msgstr ""
-#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
+#: ../../mod/admin.php:1042 ../../mod/admin.php:1240
msgid "Disable"
msgstr ""
-#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
+#: ../../mod/admin.php:1045 ../../mod/admin.php:1242
msgid "Enable"
msgstr ""
-#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
+#: ../../mod/admin.php:1069 ../../mod/admin.php:1269
msgid "Toggle"
msgstr ""
-#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
+#: ../../mod/admin.php:1077 ../../mod/admin.php:1279
msgid "Author: "
msgstr ""
-#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
+#: ../../mod/admin.php:1078 ../../mod/admin.php:1280
msgid "Maintainer: "
msgstr ""
-#: ../../mod/admin.php:1214
+#: ../../mod/admin.php:1205
msgid "No themes found."
msgstr ""
-#: ../../mod/admin.php:1270
+#: ../../mod/admin.php:1261
msgid "Screenshot"
msgstr ""
-#: ../../mod/admin.php:1316
+#: ../../mod/admin.php:1307
msgid "[Experimental]"
msgstr ""
-#: ../../mod/admin.php:1317
+#: ../../mod/admin.php:1308
msgid "[Unsupported]"
msgstr ""
-#: ../../mod/admin.php:1341
+#: ../../mod/admin.php:1332
msgid "Log settings updated."
msgstr ""
-#: ../../mod/admin.php:1398
+#: ../../mod/admin.php:1389
msgid "Clear"
msgstr ""
-#: ../../mod/admin.php:1404
+#: ../../mod/admin.php:1395
msgid "Debugging"
msgstr ""
-#: ../../mod/admin.php:1405
+#: ../../mod/admin.php:1396
msgid "Log file"
msgstr ""
-#: ../../mod/admin.php:1405
+#: ../../mod/admin.php:1396
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr ""
-#: ../../mod/admin.php:1406
+#: ../../mod/admin.php:1397
msgid "Log level"
msgstr ""
-#: ../../mod/admin.php:1452
+#: ../../mod/admin.php:1443
msgid "New Profile Field"
msgstr ""
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../mod/admin.php:1444 ../../mod/admin.php:1464
msgid "Field nickname"
msgstr ""
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../mod/admin.php:1444 ../../mod/admin.php:1464
msgid "System name of field"
msgstr ""
-#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
+#: ../../mod/admin.php:1445 ../../mod/admin.php:1465
msgid "Input type"
msgstr ""
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../mod/admin.php:1446 ../../mod/admin.php:1466
msgid "Field Name"
msgstr ""
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../mod/admin.php:1446 ../../mod/admin.php:1466
msgid "Label on profile pages"
msgstr ""
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../mod/admin.php:1447 ../../mod/admin.php:1467
msgid "Help text"
msgstr ""
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../mod/admin.php:1447 ../../mod/admin.php:1467
msgid "Additional info (optional)"
msgstr ""
-#: ../../mod/admin.php:1466
+#: ../../mod/admin.php:1457
msgid "Field definition not found"
msgstr ""
-#: ../../mod/admin.php:1472
+#: ../../mod/admin.php:1463
msgid "Edit Profile Field"
msgstr ""
@@ -7354,6 +8169,14 @@ msgstr ""
msgid "Post successful."
msgstr ""
+#: ../../mod/editblock.php:112
+msgid "Edit Block"
+msgstr ""
+
+#: ../../mod/editblock.php:123
+msgid "Delete block?"
+msgstr ""
+
#: ../../mod/register.php:44
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr ""
@@ -7468,691 +8291,252 @@ msgid ""
"removed from the network"
msgstr ""
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:720
-msgid "Remove Account"
-msgstr ""
-
-#: ../../mod/help.php:49 ../../mod/help.php:55 ../../mod/help.php:61
-msgid "Help:"
-msgstr ""
-
-#: ../../mod/help.php:76 ../../index.php:238
-msgid "Not Found"
-msgstr ""
-
-#: ../../mod/help.php:100
-msgid "$Projectname Documentation"
-msgstr ""
-
-#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
-#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-#: ../../mod/update_home.php:21 ../../mod/update_public.php:21
-msgid "[Embedded content - reload page to view]"
-msgstr ""
-
-#: ../../mod/lockview.php:37
-msgid "Remote privacy information not available."
-msgstr ""
-
-#: ../../mod/lockview.php:58
-msgid "Visible to:"
-msgstr ""
-
-#: ../../mod/settings.php:76
-msgid "Name is required"
-msgstr ""
-
-#: ../../mod/settings.php:80
-msgid "Key and Secret are required"
-msgstr ""
-
-#: ../../mod/settings.php:130
-msgid "Diaspora Policy Settings updated."
-msgstr ""
-
-#: ../../mod/settings.php:238
-msgid "Passwords do not match. Password unchanged."
-msgstr ""
-
-#: ../../mod/settings.php:242
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr ""
-
-#: ../../mod/settings.php:256
-msgid "Password changed."
-msgstr ""
-
-#: ../../mod/settings.php:258
-msgid "Password update failed. Please try again."
-msgstr ""
-
-#: ../../mod/settings.php:272
-msgid "Not valid email."
-msgstr ""
-
-#: ../../mod/settings.php:275
-msgid "Protected email address. Cannot change to that email."
-msgstr ""
-
-#: ../../mod/settings.php:284
-msgid "System failure storing new email. Please try again."
-msgstr ""
-
-#: ../../mod/settings.php:523
-msgid "Settings updated."
-msgstr ""
-
-#: ../../mod/settings.php:587 ../../mod/settings.php:613
-#: ../../mod/settings.php:649
-msgid "Add application"
-msgstr ""
-
-#: ../../mod/settings.php:590
-msgid "Name of application"
-msgstr ""
-
-#: ../../mod/settings.php:591 ../../mod/settings.php:617
-msgid "Consumer Key"
-msgstr ""
-
-#: ../../mod/settings.php:591 ../../mod/settings.php:592
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr ""
-
-#: ../../mod/settings.php:592 ../../mod/settings.php:618
-msgid "Consumer Secret"
-msgstr ""
-
-#: ../../mod/settings.php:593 ../../mod/settings.php:619
-msgid "Redirect"
-msgstr ""
-
-#: ../../mod/settings.php:593
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires this"
-msgstr ""
-
-#: ../../mod/settings.php:594 ../../mod/settings.php:620
-msgid "Icon url"
-msgstr ""
-
-#: ../../mod/settings.php:594
-msgid "Optional"
-msgstr ""
-
-#: ../../mod/settings.php:605
-msgid "You can't edit this application."
-msgstr ""
-
-#: ../../mod/settings.php:648
-msgid "Connected Apps"
-msgstr ""
-
-#: ../../mod/settings.php:652
-msgid "Client key starts with"
-msgstr ""
-
-#: ../../mod/settings.php:653
-msgid "No name"
-msgstr ""
-
-#: ../../mod/settings.php:654
-msgid "Remove authorization"
-msgstr ""
-
-#: ../../mod/settings.php:668
-msgid "No feature settings configured"
-msgstr ""
-
-#: ../../mod/settings.php:685
-msgid "Feature/Addon Settings"
-msgstr ""
-
-#: ../../mod/settings.php:687
-msgid "Settings for the built-in Diaspora emulator"
-msgstr ""
-
-#: ../../mod/settings.php:688
-msgid "Allow any Diaspora member to comment on your public posts"
-msgstr ""
-
-#: ../../mod/settings.php:689
-msgid "Enable the Diaspora protocol for this channel"
-msgstr ""
-
-#: ../../mod/settings.php:690
-msgid "Diaspora Policy Settings"
-msgstr ""
-
-#: ../../mod/settings.php:691
-msgid "Prevent your hashtags from being redirected to other sites"
-msgstr ""
-
-#: ../../mod/settings.php:715
-msgid "Account Settings"
-msgstr ""
-
-#: ../../mod/settings.php:716
-msgid "Enter New Password:"
-msgstr ""
-
-#: ../../mod/settings.php:717
-msgid "Confirm New Password:"
-msgstr ""
-
-#: ../../mod/settings.php:717
-msgid "Leave password fields blank unless changing"
-msgstr ""
-
-#: ../../mod/settings.php:719 ../../mod/settings.php:1057
-msgid "Email Address:"
-msgstr ""
-
-#: ../../mod/settings.php:721
-msgid "Remove this account including all its channels"
-msgstr ""
-
-#: ../../mod/settings.php:737
-msgid "Off"
+#: ../../mod/item.php:174
+msgid "Unable to locate original post."
msgstr ""
-#: ../../mod/settings.php:737
-msgid "On"
+#: ../../mod/item.php:440
+msgid "Empty post discarded."
msgstr ""
-#: ../../mod/settings.php:744
-msgid "Additional Features"
+#: ../../mod/item.php:480
+msgid "Executable content type not permitted to this channel."
msgstr ""
-#: ../../mod/settings.php:768
-msgid "Connector Settings"
+#: ../../mod/item.php:897
+msgid "System error. Post not saved."
msgstr ""
-#: ../../mod/settings.php:807
-msgid "No special theme for mobile devices"
+#: ../../mod/item.php:1115
+msgid "Unable to obtain post information from database."
msgstr ""
-#: ../../mod/settings.php:810
+#: ../../mod/item.php:1122
#, php-format
-msgid "%s - (Experimental)"
-msgstr ""
-
-#: ../../mod/settings.php:849
-msgid "Display Settings"
-msgstr ""
-
-#: ../../mod/settings.php:850
-msgid "Theme Settings"
-msgstr ""
-
-#: ../../mod/settings.php:851
-msgid "Custom Theme Settings"
-msgstr ""
-
-#: ../../mod/settings.php:852
-msgid "Content Settings"
-msgstr ""
-
-#: ../../mod/settings.php:858
-msgid "Display Theme:"
-msgstr ""
-
-#: ../../mod/settings.php:859
-msgid "Mobile Theme:"
-msgstr ""
-
-#: ../../mod/settings.php:860
-msgid "Enable user zoom on mobile devices"
-msgstr ""
-
-#: ../../mod/settings.php:861
-msgid "Update browser every xx seconds"
-msgstr ""
-
-#: ../../mod/settings.php:861
-msgid "Minimum of 10 seconds, no maximum"
-msgstr ""
-
-#: ../../mod/settings.php:862
-msgid "Maximum number of conversations to load at any time:"
-msgstr ""
-
-#: ../../mod/settings.php:862
-msgid "Maximum of 100 items"
-msgstr ""
-
-#: ../../mod/settings.php:863
-msgid "Show emoticons (smilies) as images"
-msgstr ""
-
-#: ../../mod/settings.php:864
-msgid "Link post titles to source"
-msgstr ""
-
-#: ../../mod/settings.php:865
-msgid "System Page Layout Editor - (advanced)"
-msgstr ""
-
-#: ../../mod/settings.php:868
-msgid "Use blog/list mode on channel page"
-msgstr ""
-
-#: ../../mod/settings.php:868 ../../mod/settings.php:869
-msgid "(comments displayed separately)"
-msgstr ""
-
-#: ../../mod/settings.php:869
-msgid "Use blog/list mode on matrix page"
-msgstr ""
-
-#: ../../mod/settings.php:870
-msgid "Channel page max height of content (in pixels)"
-msgstr ""
-
-#: ../../mod/settings.php:870 ../../mod/settings.php:871
-msgid "click to expand content exceeding this height"
-msgstr ""
-
-#: ../../mod/settings.php:871
-msgid "Matrix page max height of content (in pixels)"
-msgstr ""
-
-#: ../../mod/settings.php:905
-msgid "Nobody except yourself"
-msgstr ""
-
-#: ../../mod/settings.php:906
-msgid "Only those you specifically allow"
-msgstr ""
-
-#: ../../mod/settings.php:907
-msgid "Approved connections"
-msgstr ""
-
-#: ../../mod/settings.php:908
-msgid "Any connections"
-msgstr ""
-
-#: ../../mod/settings.php:909
-msgid "Anybody on this website"
-msgstr ""
-
-#: ../../mod/settings.php:910
-msgid "Anybody in this network"
-msgstr ""
-
-#: ../../mod/settings.php:911
-msgid "Anybody authenticated"
-msgstr ""
-
-#: ../../mod/settings.php:912
-msgid "Anybody on the internet"
-msgstr ""
-
-#: ../../mod/settings.php:986
-msgid "Publish your default profile in the network directory"
-msgstr ""
-
-#: ../../mod/settings.php:991
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr ""
-
-#: ../../mod/settings.php:1000
-msgid "Your channel address is"
-msgstr ""
-
-#: ../../mod/settings.php:1048
-msgid "Channel Settings"
-msgstr ""
-
-#: ../../mod/settings.php:1055
-msgid "Basic Settings"
-msgstr ""
-
-#: ../../mod/settings.php:1058
-msgid "Your Timezone:"
-msgstr ""
-
-#: ../../mod/settings.php:1059
-msgid "Default Post Location:"
-msgstr ""
-
-#: ../../mod/settings.php:1059
-msgid "Geographical location to display on your posts"
-msgstr ""
-
-#: ../../mod/settings.php:1060
-msgid "Use Browser Location:"
-msgstr ""
-
-#: ../../mod/settings.php:1062
-msgid "Adult Content"
-msgstr ""
-
-#: ../../mod/settings.php:1062
-msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr ""
-
-#: ../../mod/settings.php:1064
-msgid "Security and Privacy Settings"
-msgstr ""
-
-#: ../../mod/settings.php:1066
-msgid "Your permissions are already configured. Click to view/adjust"
-msgstr ""
-
-#: ../../mod/settings.php:1068
-msgid "Hide my online presence"
-msgstr ""
-
-#: ../../mod/settings.php:1068
-msgid "Prevents displaying in your profile that you are online"
-msgstr ""
-
-#: ../../mod/settings.php:1070
-msgid "Simple Privacy Settings:"
-msgstr ""
-
-#: ../../mod/settings.php:1071
-msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr ""
-
-#: ../../mod/settings.php:1072
-msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr ""
-
-#: ../../mod/settings.php:1073
-msgid "Private - <em>default private, never open or public</em>"
-msgstr ""
-
-#: ../../mod/settings.php:1074
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr ""
-
-#: ../../mod/settings.php:1076
-msgid "Allow others to tag your posts"
-msgstr ""
-
-#: ../../mod/settings.php:1076
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr ""
-
-#: ../../mod/settings.php:1078
-msgid "Advanced Privacy Settings"
-msgstr ""
-
-#: ../../mod/settings.php:1080
-msgid "Expire other channel content after this many days"
-msgstr ""
-
-#: ../../mod/settings.php:1080
-msgid "0 or blank prevents expiration"
-msgstr ""
-
-#: ../../mod/settings.php:1081
-msgid "Maximum Friend Requests/Day:"
-msgstr ""
-
-#: ../../mod/settings.php:1081
-msgid "May reduce spam activity"
-msgstr ""
-
-#: ../../mod/settings.php:1082
-msgid "Default Post Permissions"
-msgstr ""
-
-#: ../../mod/settings.php:1087
-msgid "Channel permissions category:"
-msgstr ""
-
-#: ../../mod/settings.php:1093
-msgid "Maximum private messages per day from unknown people:"
-msgstr ""
-
-#: ../../mod/settings.php:1093
-msgid "Useful to reduce spamming"
-msgstr ""
-
-#: ../../mod/settings.php:1096
-msgid "Notification Settings"
-msgstr ""
-
-#: ../../mod/settings.php:1097
-msgid "By default post a status message when:"
-msgstr ""
-
-#: ../../mod/settings.php:1098
-msgid "accepting a friend request"
+msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../mod/settings.php:1099
-msgid "joining a forum/community"
+#: ../../mod/item.php:1129
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
-#: ../../mod/settings.php:1100
-msgid "making an <em>interesting</em> profile change"
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
+#: ../../mod/update_home.php:21
+msgid "[Embedded content - reload page to view]"
msgstr ""
-#: ../../mod/settings.php:1101
-msgid "Send a notification email when:"
+#: ../../mod/lockview.php:37
+msgid "Remote privacy information not available."
msgstr ""
-#: ../../mod/settings.php:1102
-msgid "You receive a connection request"
+#: ../../mod/lockview.php:58
+msgid "Visible to:"
msgstr ""
-#: ../../mod/settings.php:1103
-msgid "Your connections are confirmed"
+#: ../../mod/layouts.php:176
+msgid "Comanche page description language help"
msgstr ""
-#: ../../mod/settings.php:1104
-msgid "Someone writes on your profile wall"
+#: ../../mod/layouts.php:180
+msgid "Layout Description"
msgstr ""
-#: ../../mod/settings.php:1105
-msgid "Someone writes a followup comment"
+#: ../../mod/layouts.php:185
+msgid "Download PDL file"
msgstr ""
-#: ../../mod/settings.php:1106
-msgid "You receive a private message"
+#: ../../mod/id.php:11
+msgid "First Name"
msgstr ""
-#: ../../mod/settings.php:1107
-msgid "You receive a friend suggestion"
+#: ../../mod/id.php:12
+msgid "Last Name"
msgstr ""
-#: ../../mod/settings.php:1108
-msgid "You are tagged in a post"
+#: ../../mod/id.php:13
+msgid "Nickname"
msgstr ""
-#: ../../mod/settings.php:1109
-msgid "You are poked/prodded/etc. in a post"
+#: ../../mod/id.php:14
+msgid "Full Name"
msgstr ""
-#: ../../mod/settings.php:1112
-msgid "Show visual notifications including:"
+#: ../../mod/id.php:20
+msgid "Profile Photo 16px"
msgstr ""
-#: ../../mod/settings.php:1114
-msgid "Unseen matrix activity"
+#: ../../mod/id.php:21
+msgid "Profile Photo 32px"
msgstr ""
-#: ../../mod/settings.php:1115
-msgid "Unseen channel activity"
+#: ../../mod/id.php:22
+msgid "Profile Photo 48px"
msgstr ""
-#: ../../mod/settings.php:1116
-msgid "Unseen private messages"
+#: ../../mod/id.php:23
+msgid "Profile Photo 64px"
msgstr ""
-#: ../../mod/settings.php:1116 ../../mod/settings.php:1121
-#: ../../mod/settings.php:1122 ../../mod/settings.php:1123
-msgid "Recommended"
+#: ../../mod/id.php:24
+msgid "Profile Photo 80px"
msgstr ""
-#: ../../mod/settings.php:1117
-msgid "Upcoming events"
+#: ../../mod/id.php:25
+msgid "Profile Photo 128px"
msgstr ""
-#: ../../mod/settings.php:1118
-msgid "Events today"
+#: ../../mod/id.php:26
+msgid "Timezone"
msgstr ""
-#: ../../mod/settings.php:1119
-msgid "Upcoming birthdays"
+#: ../../mod/id.php:27
+msgid "Homepage URL"
msgstr ""
-#: ../../mod/settings.php:1119
-msgid "Not available in all themes"
+#: ../../mod/id.php:29
+msgid "Birth Year"
msgstr ""
-#: ../../mod/settings.php:1120
-msgid "System (personal) notifications"
+#: ../../mod/id.php:30
+msgid "Birth Month"
msgstr ""
-#: ../../mod/settings.php:1121
-msgid "System info messages"
+#: ../../mod/id.php:31
+msgid "Birth Day"
msgstr ""
-#: ../../mod/settings.php:1122
-msgid "System critical alerts"
+#: ../../mod/id.php:32
+msgid "Birthdate"
msgstr ""
-#: ../../mod/settings.php:1123
-msgid "New connections"
+#: ../../mod/message.php:41
+msgid "Conversation removed."
msgstr ""
-#: ../../mod/settings.php:1124
-msgid "System Registrations"
+#: ../../mod/message.php:56
+msgid "No messages."
msgstr ""
-#: ../../mod/settings.php:1125
-msgid ""
-"Also show new wall posts, private messages and connections under Notices"
+#: ../../mod/message.php:72 ../../mod/mail.php:336
+msgid "Delete conversation"
msgstr ""
-#: ../../mod/settings.php:1127
-msgid "Notify me of events this many days in advance"
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
msgstr ""
-#: ../../mod/settings.php:1127
-msgid "Must be greater than 0"
+#: ../../mod/mitem.php:51
+msgid "Unable to create element."
msgstr ""
-#: ../../mod/settings.php:1129
-msgid "Advanced Account/Page Type Settings"
+#: ../../mod/mitem.php:74
+msgid "Unable to update menu element."
msgstr ""
-#: ../../mod/settings.php:1130
-msgid "Change the behaviour of this account for special situations"
+#: ../../mod/mitem.php:89
+msgid "Unable to add menu element."
msgstr ""
-#: ../../mod/settings.php:1133
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
+msgid "Menu Item Permissions"
msgstr ""
-#: ../../mod/settings.php:1134
-msgid "Miscellaneous Settings"
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:176
+msgid "Link Name"
msgstr ""
-#: ../../mod/settings.php:1136
-msgid "Personal menu to display in your channel pages"
+#: ../../mod/mitem.php:162 ../../mod/mitem.php:233
+msgid "Link or Submenu Target"
msgstr ""
-#: ../../mod/settings.php:1137 ../../mod/removeme.php:61
-msgid "Remove Channel"
+#: ../../mod/mitem.php:162
+msgid "Enter URL of the link or select a menu name to create a submenu"
msgstr ""
-#: ../../mod/settings.php:1138
-msgid "Remove this channel."
+#: ../../mod/mitem.php:163 ../../mod/mitem.php:234
+msgid "Use magic-auth if available"
msgstr ""
-#: ../../mod/id.php:11
-msgid "First Name"
+#: ../../mod/mitem.php:164 ../../mod/mitem.php:235
+msgid "Open link in new window"
msgstr ""
-#: ../../mod/id.php:12
-msgid "Last Name"
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:236
+msgid "Order in list"
msgstr ""
-#: ../../mod/id.php:13
-msgid "Nickname"
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:236
+msgid "Higher numbers will sink to bottom of listing"
msgstr ""
-#: ../../mod/id.php:14
-msgid "Full Name"
+#: ../../mod/mitem.php:166
+msgid "Submit and finish"
msgstr ""
-#: ../../mod/id.php:20
-msgid "Profile Photo 16px"
+#: ../../mod/mitem.php:167
+msgid "Submit and continue"
msgstr ""
-#: ../../mod/id.php:21
-msgid "Profile Photo 32px"
+#: ../../mod/mitem.php:174
+msgid "Menu:"
msgstr ""
-#: ../../mod/id.php:22
-msgid "Profile Photo 48px"
+#: ../../mod/mitem.php:177
+msgid "Link Target"
msgstr ""
-#: ../../mod/id.php:23
-msgid "Profile Photo 64px"
+#: ../../mod/mitem.php:180
+msgid "Edit menu"
msgstr ""
-#: ../../mod/id.php:24
-msgid "Profile Photo 80px"
+#: ../../mod/mitem.php:183
+msgid "Edit element"
msgstr ""
-#: ../../mod/id.php:25
-msgid "Profile Photo 128px"
+#: ../../mod/mitem.php:184
+msgid "Drop element"
msgstr ""
-#: ../../mod/id.php:26
-msgid "Timezone"
+#: ../../mod/mitem.php:185
+msgid "New element"
msgstr ""
-#: ../../mod/id.php:27
-msgid "Homepage URL"
+#: ../../mod/mitem.php:186
+msgid "Edit this menu container"
msgstr ""
-#: ../../mod/id.php:29
-msgid "Birth Year"
+#: ../../mod/mitem.php:187
+msgid "Add menu element"
msgstr ""
-#: ../../mod/id.php:30
-msgid "Birth Month"
+#: ../../mod/mitem.php:188
+msgid "Delete this menu item"
msgstr ""
-#: ../../mod/id.php:31
-msgid "Birth Day"
+#: ../../mod/mitem.php:189
+msgid "Edit this menu item"
msgstr ""
-#: ../../mod/id.php:32
-msgid "Birthdate"
+#: ../../mod/mitem.php:206
+msgid "Menu item not found."
msgstr ""
-#: ../../mod/message.php:41
-msgid "Conversation removed."
+#: ../../mod/mitem.php:217
+msgid "Menu item deleted."
msgstr ""
-#: ../../mod/message.php:56
-msgid "No messages."
+#: ../../mod/mitem.php:219
+msgid "Menu item could not be deleted."
msgstr ""
-#: ../../mod/message.php:72 ../../mod/mail.php:336
-msgid "Delete conversation"
+#: ../../mod/mitem.php:226
+msgid "Edit Menu Element"
msgstr ""
-#: ../../mod/message.php:74
-msgid "D, d M Y - g:i A"
+#: ../../mod/mitem.php:232
+msgid "Link text"
msgstr ""
#: ../../mod/mood.php:131
@@ -8191,254 +8575,327 @@ msgid ""
"removed from the network"
msgstr ""
-#: ../../mod/connedit.php:75
-msgid "Could not access contact record."
+#: ../../mod/connedit.php:268
+msgid "is now connected to"
msgstr ""
-#: ../../mod/connedit.php:99
-msgid "Could not locate selected profile."
+#: ../../mod/connedit.php:381
+msgid "Could not access address book record."
msgstr ""
-#: ../../mod/connedit.php:219
-msgid "Connection updated."
+#: ../../mod/connedit.php:395
+msgid "Refresh failed - channel is currently unavailable."
msgstr ""
-#: ../../mod/connedit.php:221
-msgid "Failed to update connection record."
+#: ../../mod/connedit.php:402
+msgid "Channel has been unblocked"
msgstr ""
-#: ../../mod/connedit.php:267
-msgid "is now connected to"
+#: ../../mod/connedit.php:403
+msgid "Channel has been blocked"
msgstr ""
-#: ../../mod/connedit.php:392
-msgid "Could not access address book record."
+#: ../../mod/connedit.php:407 ../../mod/connedit.php:419
+#: ../../mod/connedit.php:431 ../../mod/connedit.php:443
+#: ../../mod/connedit.php:459
+msgid "Unable to set address book parameters."
msgstr ""
-#: ../../mod/connedit.php:406
-msgid "Refresh failed - channel is currently unavailable."
+#: ../../mod/connedit.php:414
+msgid "Channel has been unignored"
msgstr ""
-#: ../../mod/connedit.php:418 ../../mod/connedit.php:430
-#: ../../mod/connedit.php:442 ../../mod/connedit.php:454
-#: ../../mod/connedit.php:470
-msgid "Unable to set address book parameters."
+#: ../../mod/connedit.php:415
+msgid "Channel has been ignored"
+msgstr ""
+
+#: ../../mod/connedit.php:426
+msgid "Channel has been unarchived"
+msgstr ""
+
+#: ../../mod/connedit.php:427
+msgid "Channel has been archived"
+msgstr ""
+
+#: ../../mod/connedit.php:438
+msgid "Channel has been unhidden"
+msgstr ""
+
+#: ../../mod/connedit.php:439
+msgid "Channel has been hidden"
+msgstr ""
+
+#: ../../mod/connedit.php:454
+msgid "Channel has been approved"
+msgstr ""
+
+#: ../../mod/connedit.php:455
+msgid "Channel has been unapproved"
msgstr ""
-#: ../../mod/connedit.php:494
+#: ../../mod/connedit.php:483
msgid "Connection has been removed."
msgstr ""
-#: ../../mod/connedit.php:513
+#: ../../mod/connedit.php:503
#, php-format
msgid "View %s's profile"
msgstr ""
-#: ../../mod/connedit.php:517
+#: ../../mod/connedit.php:507
msgid "Refresh Permissions"
msgstr ""
-#: ../../mod/connedit.php:520
+#: ../../mod/connedit.php:510
msgid "Fetch updated permissions"
msgstr ""
-#: ../../mod/connedit.php:524
+#: ../../mod/connedit.php:514
msgid "Recent Activity"
msgstr ""
-#: ../../mod/connedit.php:527
+#: ../../mod/connedit.php:517
msgid "View recent posts and comments"
msgstr ""
-#: ../../mod/connedit.php:534
+#: ../../mod/connedit.php:526
msgid "Block (or Unblock) all communications with this connection"
msgstr ""
-#: ../../mod/connedit.php:535
-msgid "This connection is blocked!"
-msgstr ""
-
-#: ../../mod/connedit.php:539
+#: ../../mod/connedit.php:530 ../../mod/connedit.php:730
msgid "Unignore"
msgstr ""
-#: ../../mod/connedit.php:539 ../../mod/notifications.php:51
+#: ../../mod/connedit.php:530 ../../mod/connedit.php:730
+#: ../../mod/notifications.php:51
msgid "Ignore"
msgstr ""
-#: ../../mod/connedit.php:542
+#: ../../mod/connedit.php:533
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr ""
-#: ../../mod/connedit.php:543
-msgid "This connection is ignored!"
-msgstr ""
-
-#: ../../mod/connedit.php:547
+#: ../../mod/connedit.php:536
msgid "Unarchive"
msgstr ""
-#: ../../mod/connedit.php:547
+#: ../../mod/connedit.php:536
msgid "Archive"
msgstr ""
-#: ../../mod/connedit.php:550
+#: ../../mod/connedit.php:539
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr ""
-#: ../../mod/connedit.php:551
-msgid "This connection is archived!"
-msgstr ""
-
-#: ../../mod/connedit.php:555
+#: ../../mod/connedit.php:542
msgid "Unhide"
msgstr ""
-#: ../../mod/connedit.php:555
+#: ../../mod/connedit.php:542
msgid "Hide"
msgstr ""
-#: ../../mod/connedit.php:558
+#: ../../mod/connedit.php:545
msgid "Hide or Unhide this connection from your other connections"
msgstr ""
-#: ../../mod/connedit.php:559
-msgid "This connection is hidden!"
-msgstr ""
-
-#: ../../mod/connedit.php:566
+#: ../../mod/connedit.php:552
msgid "Delete this connection"
msgstr ""
-#: ../../mod/connedit.php:647
+#: ../../mod/connedit.php:643 ../../mod/connedit.php:684
msgid "Approve this connection"
msgstr ""
-#: ../../mod/connedit.php:647
+#: ../../mod/connedit.php:643
msgid "Accept connection to allow communication"
msgstr ""
-#: ../../mod/connedit.php:652
-msgid "Set Affinity"
+#: ../../mod/connedit.php:659
+#, php-format
+msgid "Connections: settings for %s"
msgstr ""
-#: ../../mod/connedit.php:655
-msgid "Set Profile"
+#: ../../mod/connedit.php:660
+msgid "Apply these permissions automatically"
msgstr ""
-#: ../../mod/connedit.php:658
-msgid "Set Affinity & Profile"
+#: ../../mod/connedit.php:664
+msgid "Apply the permissions indicated on this page to all new connections."
msgstr ""
-#: ../../mod/connedit.php:675
-msgid "Apply these permissions automatically"
+#: ../../mod/connedit.php:668
+msgid "Slide to adjust your degree of friendship"
msgstr ""
-#: ../../mod/connedit.php:677
-msgid "This connection's address is"
+#: ../../mod/connedit.php:672
+msgid "Only import posts with this text"
msgstr ""
-#: ../../mod/connedit.php:680
+#: ../../mod/connedit.php:672 ../../mod/connedit.php:673
msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
+"words one per line or #tags or /patterns/, leave blank to import all posts"
msgstr ""
-#: ../../mod/connedit.php:682
-msgid "Slide to adjust your degree of friendship"
+#: ../../mod/connedit.php:673
+msgid "Do not import posts with this text"
msgstr ""
-#: ../../mod/connedit.php:684
-msgid "Slide to adjust your rating"
+#: ../../mod/connedit.php:680
+msgid ""
+"Default permissions for your channel type have (just) been applied. They "
+"have not yet been submitted. Please review the permissions on this page and "
+"make any desired changes at this time. This new connection may <em>not</em> "
+"be able to communicate with you until you submit this page, which will "
+"install and apply the selected permissions."
msgstr ""
-#: ../../mod/connedit.php:685 ../../mod/connedit.php:690
-msgid "Optionally explain your rating"
+#: ../../mod/connedit.php:683
+msgid "inherited"
+msgstr ""
+
+#: ../../mod/connedit.php:686
+msgid "Connection has no individual permissions!"
msgstr ""
#: ../../mod/connedit.php:687
-msgid "Custom Filter"
+msgid ""
+"This may be appropriate based on your <a href=\"settings\">privacy settings</"
+"a>, though you may wish to review the \"Advanced Permissions\"."
msgstr ""
-#: ../../mod/connedit.php:688
-msgid "Only import posts with this text"
+#: ../../mod/connedit.php:689
+msgid "Profile Visibility"
msgstr ""
-#: ../../mod/connedit.php:688 ../../mod/connedit.php:689
+#: ../../mod/connedit.php:690
+#, php-format
msgid ""
-"words one per line or #tags or /patterns/, leave blank to import all posts"
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
msgstr ""
-#: ../../mod/connedit.php:689
-msgid "Do not import posts with this text"
+#: ../../mod/connedit.php:691
+msgid "Contact Information / Notes"
msgstr ""
-#: ../../mod/connedit.php:691
-msgid "This information is public!"
+#: ../../mod/connedit.php:692
+msgid "Edit contact notes"
+msgstr ""
+
+#: ../../mod/connedit.php:694
+msgid "Their Settings"
msgstr ""
-#: ../../mod/connedit.php:696
-msgid "Connection Pending Approval"
+#: ../../mod/connedit.php:695
+msgid "My Settings"
msgstr ""
#: ../../mod/connedit.php:697
-msgid "Connection Request"
+msgid ""
+"Default permissions for this channel type have (just) been applied. They "
+"have <em>not</em> been saved and there are currently no stored default "
+"permissions. Please review/edit the applied settings and click [Submit] to "
+"finalize."
msgstr ""
#: ../../mod/connedit.php:698
-#, php-format
-msgid ""
-"(%s) would like to connect with you. Please approve this connection to allow "
-"communication."
+msgid "Clear/Disable Automatic Permissions"
+msgstr ""
+
+#: ../../mod/connedit.php:699
+msgid "Forum Members"
msgstr ""
#: ../../mod/connedit.php:700
-msgid "Approve Later"
+msgid "Soapbox"
+msgstr ""
+
+#: ../../mod/connedit.php:701
+msgid "Full Sharing (typical social network permissions)"
+msgstr ""
+
+#: ../../mod/connedit.php:702
+msgid "Cautious Sharing "
msgstr ""
#: ../../mod/connedit.php:703
-msgid "inherited"
+msgid "Follow Only"
msgstr ""
-#: ../../mod/connedit.php:705
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
+#: ../../mod/connedit.php:704
+msgid "Individual Permissions"
msgstr ""
-#: ../../mod/connedit.php:707
-msgid "Their Settings"
+#: ../../mod/connedit.php:705
+msgid ""
+"Some permissions may be inherited from your channel <a href=\"settings"
+"\">privacy settings</a>, which have higher priority than individual "
+"settings. Changing those inherited settings on this page will have no effect."
msgstr ""
-#: ../../mod/connedit.php:708
-msgid "My Settings"
+#: ../../mod/connedit.php:706
+msgid "Advanced Permissions"
msgstr ""
-#: ../../mod/connedit.php:710
-msgid "Individual Permissions"
+#: ../../mod/connedit.php:707
+msgid "Simple Permissions (select one and submit)"
msgstr ""
#: ../../mod/connedit.php:711
-msgid ""
-"Some permissions may be inherited from your channel's <a href=\"settings"
-"\"><strong>privacy settings</strong></a>, which have higher priority than "
-"individual settings. You can <strong>not</strong> change those settings here."
+#, php-format
+msgid "Visit %s's profile - %s"
msgstr ""
#: ../../mod/connedit.php:712
-msgid ""
-"Some permissions may be inherited from your channel's <a href=\"settings"
-"\"><strong>privacy settings</strong></a>, which have higher priority than "
-"individual settings. You can change those settings here but they wont have "
-"any impact unless the inherited setting changes."
+msgid "Block/Unblock contact"
msgstr ""
#: ../../mod/connedit.php:713
+msgid "Ignore contact"
+msgstr ""
+
+#: ../../mod/connedit.php:714
+msgid "Repair URL settings"
+msgstr ""
+
+#: ../../mod/connedit.php:715
+msgid "View conversations"
+msgstr ""
+
+#: ../../mod/connedit.php:717
+msgid "Delete contact"
+msgstr ""
+
+#: ../../mod/connedit.php:721
msgid "Last update:"
msgstr ""
+#: ../../mod/connedit.php:723
+msgid "Update public posts"
+msgstr ""
+
+#: ../../mod/connedit.php:725
+msgid "Update now"
+msgstr ""
+
+#: ../../mod/connedit.php:731
+msgid "Currently blocked"
+msgstr ""
+
+#: ../../mod/connedit.php:732
+msgid "Currently ignored"
+msgstr ""
+
+#: ../../mod/connedit.php:733
+msgid "Currently archived"
+msgstr ""
+
+#: ../../mod/connedit.php:734
+msgid "Currently pending"
+msgstr ""
+
#: ../../mod/rmagic.php:40
msgid ""
"We encountered a problem while logging in with the OpenID you provided. "
@@ -8660,25 +9117,36 @@ msgstr ""
msgid "posted an event"
msgstr ""
-#: ../../mod/layouts.php:176
-msgid "Comanche page description language help"
+#: ../../mod/network.php:91
+msgid "No such group"
msgstr ""
-#: ../../mod/layouts.php:180
-msgid "Layout Description"
+#: ../../mod/network.php:129
+msgid "No such channel"
msgstr ""
-#: ../../mod/layouts.php:185
-msgid "Download PDL file"
+#: ../../mod/network.php:143
+msgid "Search Results For:"
msgstr ""
-#: ../../mod/home.php:73
-#, php-format
-msgid "Welcome to %s"
+#: ../../mod/network.php:198
+msgid "Collection is empty"
msgstr ""
-#: ../../mod/page.php:126
-msgid "Lorem Ipsum"
+#: ../../mod/network.php:207
+msgid "Collection: "
+msgstr ""
+
+#: ../../mod/network.php:226
+msgid "Connection: "
+msgstr ""
+
+#: ../../mod/network.php:233
+msgid "Invalid connection."
+msgstr ""
+
+#: ../../mod/page.php:122
+msgid "Ipsum Lorem"
msgstr ""
#: ../../mod/bookmarks.php:38
@@ -8760,7 +9228,7 @@ msgid "Monospace"
msgstr ""
#: ../../view/theme/apw/php/config.php:259
-#: ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:100
msgid "Theme settings"
msgstr ""
@@ -8769,7 +9237,7 @@ msgid "Set scheme"
msgstr ""
#: ../../view/theme/apw/php/config.php:261
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:122
msgid "Set font-size for posts and comments"
msgstr ""
@@ -8890,157 +9358,157 @@ msgid "Right offset of the aside element"
msgstr ""
#: ../../view/theme/redbasic/php/config.php:82
-msgid "Light (Red Matrix default)"
+msgid "Light (Hubzilla default)"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:101
msgid "Select scheme"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:102
msgid "Narrow navbar"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:103
msgid "Navigation bar background color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:104
msgid "Navigation bar gradient top color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:105
msgid "Navigation bar gradient bottom color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:106
msgid "Navigation active button gradient top color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:107
msgid "Navigation active button gradient bottom color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:108
msgid "Navigation bar border color "
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:109
msgid "Navigation bar icon color "
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Navigation bar active icon color "
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:111
msgid "link color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Set font-color for banner"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:113
msgid "Set the background color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:114
msgid "Set the background image"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:115
msgid "Set the background color of items"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:118
+#: ../../view/theme/redbasic/php/config.php:116
msgid "Set the background color of comments"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:119
+#: ../../view/theme/redbasic/php/config.php:117
msgid "Set the border color of comments"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:120
+#: ../../view/theme/redbasic/php/config.php:118
msgid "Set the indent for comments"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:121
+#: ../../view/theme/redbasic/php/config.php:119
msgid "Set the basic color for item icons"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:122
+#: ../../view/theme/redbasic/php/config.php:120
msgid "Set the hover color for item icons"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Set font-size for the entire application"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Example: 14px"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:125
+#: ../../view/theme/redbasic/php/config.php:123
msgid "Set font-color for posts and comments"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:126
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Set radius of corners"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:127
+#: ../../view/theme/redbasic/php/config.php:125
msgid "Set shadow depth of photos"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Set maximum width of content region in pixel"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Leave empty for default width"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:127
msgid "Center page content"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:130
+#: ../../view/theme/redbasic/php/config.php:128
msgid "Set minimum opacity of nav bar - to hide it"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:131
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Set size of conversation author photo"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:132
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Set size of followup author photos"
msgstr ""
-#: ../../boot.php:1356
+#: ../../boot.php:1355
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
-#: ../../boot.php:1359
+#: ../../boot.php:1358
#, php-format
msgid "Update Error at %s"
msgstr ""
-#: ../../boot.php:1526
+#: ../../boot.php:1525
msgid ""
-"Create an account to access services and applications within the Red Matrix"
+"Create an account to access services and applications within the Hubzilla"
msgstr ""
-#: ../../boot.php:1554
+#: ../../boot.php:1553
msgid "Password"
msgstr ""
-#: ../../boot.php:1555
+#: ../../boot.php:1554
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1558
+#: ../../boot.php:1557
msgid "Forgot your password?"
msgstr ""
diff --git a/util/run_xgettext.sh b/util/run_xgettext.sh
index 3eca8a8b3..c85ab53df 100755
--- a/util/run_xgettext.sh
+++ b/util/run_xgettext.sh
@@ -65,12 +65,12 @@ then
sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER//g" "$OUTFILE"
sed -i "s/FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.//g" "$OUTFILE"
sed -i "s/PACKAGE VERSION//g" "$OUTFILE"
- sed -i "s/PACKAGE/RedMatrix $ADDONNAME addon/g" "$OUTFILE"
+ sed -i "s/PACKAGE/Hubzilla $ADDONNAME addon/g" "$OUTFILE"
sed -i "s/CHARSET/UTF-8/g" "$OUTFILE"
sed -i '/^\"Plural-Forms/d' "$OUTFILE"
else
- sed -i "s/SOME DESCRIPTIVE TITLE./Red Matrix Project/g" "$OUTFILE"
- sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/2012-2014 the Red Matrix Project/g" "$OUTFILE"
+ sed -i "s/SOME DESCRIPTIVE TITLE./Hubzilla Project/g" "$OUTFILE"
+ sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/2012-2014 the Hubzilla Project/g" "$OUTFILE"
sed -i "s/FIRST AUTHOR <EMAIL@ADDRESS>, YEAR./Mike Macgirvin, 2012/g" "$OUTFILE"
sed -i "s/PACKAGE VERSION/$F9KVERSION/g" "$OUTFILE"
sed -i "s/PACKAGE/Red/g" "$OUTFILE"
diff --git a/util/shredder/ShredOAuth.sh b/util/shredder/ShredOAuth.sh
index f39d6f7c4..e21bea353 100755
--- a/util/shredder/ShredOAuth.sh
+++ b/util/shredder/ShredOAuth.sh
@@ -27,13 +27,13 @@ F_API_VERSION="1"
# Friendica API endpoints
-F_ACCOUNF_UPDATE_PROFILE_IMAGE="${redmatrix_url}/api/account/update_profile_image"
-F_STATUSES_UPDATE="${redmatrix_url}/api/statuses/update"
-F_STATUSES_HOME_TIMELINE="${redmatrix_url}/api/statuses/home_timeline"
+F_ACCOUNF_UPDATE_PROFILE_IMAGE="${hubzilla_url}/api/account/update_profile_image"
+F_STATUSES_UPDATE="${hubzilla_url}/api/statuses/update"
+F_STATUSES_HOME_TIMELINE="${hubzilla_url}/api/statuses/home_timeline"
-F_REQUESF_TOKEN=${redmatrix_url}'/api/oauth/request_token'
-F_ACCESS_TOKEN=${redmatrix_url}'/api/oauth/access_token'
-F_AUTHORIZE_TOKEN=${redmatrix_url}'/api/oauth/authorize'
+F_REQUESF_TOKEN=${hubzilla_url}'/api/oauth/request_token'
+F_ACCESS_TOKEN=${hubzilla_url}'/api/oauth/access_token'
+F_AUTHORIZE_TOKEN=${hubzilla_url}'/api/oauth/authorize'
# Source OAuth.sh
@@ -76,7 +76,7 @@ FO_access_token_helper () {
# Request Token
- local auth_header="$(_OAuth_authorization_header 'Authorization' "$redmatrix_url/" "$oauth_consumer_key" "$oauth_consumer_secret" '' '' "$oauth_signature_method" "$oauth_version" "$(OAuth_nonce)" "$(OAuth_timestamp)" 'POST' "$F_REQUESF_TOKEN" "$(OAuth_param 'oauth_callback' 'oob')"), $(OAuth_param_quote 'oauth_callback' 'oob')"
+ local auth_header="$(_OAuth_authorization_header 'Authorization' "$hubzilla_url/" "$oauth_consumer_key" "$oauth_consumer_secret" '' '' "$oauth_signature_method" "$oauth_version" "$(OAuth_nonce)" "$(OAuth_timestamp)" 'POST' "$F_REQUESF_TOKEN" "$(OAuth_param 'oauth_callback' 'oob')"), $(OAuth_param_quote 'oauth_callback' 'oob')"
# echo $auth_header
# echo $F_REQUESF_TOKEN
@@ -95,7 +95,7 @@ FO_access_token_helper () {
# Access Token
- local auth_header="$(_OAuth_authorization_header 'Authorization' "$redmatrix_url/" "$oauth_consumer_key" "$oauth_consumer_secret" "$_oauth_token" "$_oauth_token_secret" "$oauth_signature_method" "$oauth_version" "$(OAuth_nonce)" "$(OAuth_timestamp)" 'POST' "$F_ACCESS_TOKEN" "$(OAuth_param 'oauth_verifier' "$PIN")"), $(OAuth_param_quote 'oauth_verifier' "$PIN")"
+ local auth_header="$(_OAuth_authorization_header 'Authorization' "$hubzilla_url/" "$oauth_consumer_key" "$oauth_consumer_secret" "$_oauth_token" "$_oauth_token_secret" "$oauth_signature_method" "$oauth_version" "$(OAuth_nonce)" "$(OAuth_timestamp)" 'POST' "$F_ACCESS_TOKEN" "$(OAuth_param 'oauth_verifier' "$PIN")"), $(OAuth_param_quote 'oauth_verifier' "$PIN")"
resp=$(curl -s -d "" -H "$auth_header" "$F_ACCESS_TOKEN")
FO_rval=$?
@@ -133,7 +133,7 @@ FO_statuses_update () {
[[ "$3" != "" ]] && params[${#params[@]}]=$(OAuth_param 'in_reply_to_status_id' "$3") && local in_reply_to_status_id=( '--data-urlencode' "in_reply_to_status_id=$3" )
- local auth_header=$(OAuth_authorization_header 'Authorization' "$redmatrix_url" '' '' 'POST' "$F_STATUSES_UPDATE.$format" ${params[@]})
+ local auth_header=$(OAuth_authorization_header 'Authorization' "$hubzilla_url" '' '' 'POST' "$F_STATUSES_UPDATE.$format" ${params[@]})
FO_ret=$(curl -s -H "$auth_header" --data-urlencode "status=$2" --data-urlencode "source=shred" ${in_reply_to_status_id[@]} "$F_STATUSES_UPDATE.$format")
@@ -163,7 +163,7 @@ FO_statuses_home_timeline () {
$(OAuth_param 'count' $count)
)
- local auth_header=$(OAuth_authorization_header 'Authorization' "$redmatrix_url" '' '' 'GET' "$F_STATUSES_HOME_TIMELINE.$format" ${params[@]})
+ local auth_header=$(OAuth_authorization_header 'Authorization' "$hubzilla_url" '' '' 'GET' "$F_STATUSES_HOME_TIMELINE.$format" ${params[@]})
convscreen=$(OAuth_PE "$screen_name");
FO_ret=$(curl -s --get "${F_STATUSES_HOME_TIMELINE}.${format}" --data "screen_name=${convscreen}&count=${count}" --header "${auth_header}")
@@ -204,12 +204,12 @@ FO_command () {
local auth_header='';
if [ "$post" == '1' ]; then
- auth_header=$(OAuth_authorization_header 'Authorization' "$redmatrix_url" '' '' 'POST' "${redmatrix_url}/api/${command}.json" ${params[@]})
- FO_ret=$(curl -s "${redmatrix_url}/api/${command}.json" --data-urlencode "${data}" --header "${auth_header}")
+ auth_header=$(OAuth_authorization_header 'Authorization' "$hubzilla_url" '' '' 'POST' "${hubzilla_url}/api/${command}.json" ${params[@]})
+ FO_ret=$(curl -s "${hubzilla_url}/api/${command}.json" --data-urlencode "${data}" --header "${auth_header}")
else
- auth_header=$(OAuth_authorization_header 'Authorization' "$redmatrix_url" '' '' 'GET' "${redmatrix_url}/api/${command}.json" ${params[@]})
- FO_ret=$(curl -s --get "${redmatrix_url}/api/${command}.json" --data "${data}" --header "${auth_header}")
+ auth_header=$(OAuth_authorization_header 'Authorization' "$hubzilla_url" '' '' 'GET' "${hubzilla_url}/api/${command}.json" ${params[@]})
+ FO_ret=$(curl -s --get "${hubzilla_url}/api/${command}.json" --data "${data}" --header "${auth_header}")
fi
diff --git a/util/shredder/shredder b/util/shredder/shredder
index ac84f0541..61e6b1fd4 100755
--- a/util/shredder/shredder
+++ b/util/shredder/shredder
@@ -45,7 +45,7 @@ Use -h -c command to get options for the command.
show_config_help () {
echo "Please create $FCLI_RC with:
-redmatrix_url=YOR_SERVER_URL (no trailing /)
+hubzilla_url=YOR_SERVER_URL (no trailing /)
oauth_consumer_key=YOUR_CONSUMER_KEY
oauth_consumer_secret=YOUR_CONSUMER_SECRET
diff --git a/util/strings.php b/util/strings.php
index cfd6538e0..e3fdb6461 100644
--- a/util/strings.php
+++ b/util/strings.php
@@ -3,10 +3,382 @@
;
$a->strings["Cannot locate DNS info for database server '%s'"] = "";
$a->strings["Profile Photos"] = "";
-$a->strings["Embedded content"] = "";
-$a->strings["Embedding disabled"] = "";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "";
$a->strings["created a new post"] = "";
$a->strings["commented on %s's post"] = "";
+$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "";
+$a->strings["Default privacy group for new contacts"] = "";
+$a->strings["All Channels"] = "";
+$a->strings["edit"] = "";
+$a->strings["Collections"] = "";
+$a->strings["Edit collection"] = "";
+$a->strings["Add new collection"] = "";
+$a->strings["Channels not in any collection"] = "";
+$a->strings["add"] = "";
+$a->strings["Not a valid email address"] = "";
+$a->strings["Your email domain is not among those allowed on this site"] = "";
+$a->strings["Your email address is already registered at this site."] = "";
+$a->strings["An invitation is required."] = "";
+$a->strings["Invitation could not be verified."] = "";
+$a->strings["Please enter the required information."] = "";
+$a->strings["Failed to store account information."] = "";
+$a->strings["Registration confirmation for %s"] = "";
+$a->strings["Registration request at %s"] = "";
+$a->strings["Administrator"] = "";
+$a->strings["your registration password"] = "";
+$a->strings["Registration details for %s"] = "";
+$a->strings["Account approved."] = "";
+$a->strings["Registration revoked for %s"] = "";
+$a->strings["Account verified. Please login."] = "";
+$a->strings["Click here to upgrade."] = "";
+$a->strings["This action exceeds the limits set by your subscription plan."] = "";
+$a->strings["This action is not available under your subscription plan."] = "";
+$a->strings["Miscellaneous"] = "";
+$a->strings["YYYY-MM-DD or MM-DD"] = "";
+$a->strings["Required"] = "";
+$a->strings["never"] = "";
+$a->strings["less than a second ago"] = "";
+$a->strings["year"] = "";
+$a->strings["years"] = "";
+$a->strings["month"] = "";
+$a->strings["months"] = "";
+$a->strings["week"] = "";
+$a->strings["weeks"] = "";
+$a->strings["day"] = "";
+$a->strings["days"] = "";
+$a->strings["hour"] = "";
+$a->strings["hours"] = "";
+$a->strings["minute"] = "";
+$a->strings["minutes"] = "";
+$a->strings["second"] = "";
+$a->strings["seconds"] = "";
+$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "";
+$a->strings["%1\$s's birthday"] = "";
+$a->strings["Happy Birthday %1\$s"] = "";
+$a->strings["New Page"] = "";
+$a->strings["Edit"] = "";
+$a->strings["View"] = "";
+$a->strings["Preview"] = "";
+$a->strings["Actions"] = "";
+$a->strings["Page Link"] = "";
+$a->strings["Title"] = "";
+$a->strings["Created"] = "";
+$a->strings["Edited"] = "";
+$a->strings["Public Timeline"] = "";
+$a->strings["Default"] = "";
+$a->strings["Directory Options"] = "";
+$a->strings["Alphabetic"] = "";
+$a->strings["Reverse Alphabetic"] = "";
+$a->strings["Newest to Oldest"] = "";
+$a->strings["Oldest to Newest"] = "";
+$a->strings["Sort"] = "";
+$a->strings["Safe Mode"] = "";
+$a->strings["Public Forums Only"] = "";
+$a->strings["This Website Only"] = "";
+$a->strings["l F d, Y \\@ g:i A"] = "";
+$a->strings["Starts:"] = "";
+$a->strings["Finishes:"] = "";
+$a->strings["Location:"] = "";
+$a->strings["This event has been added to your calendar."] = "";
+$a->strings["Delete this item?"] = "";
+$a->strings["Comment"] = "";
+$a->strings["[+] show all"] = "";
+$a->strings["[-] show less"] = "";
+$a->strings["[+] expand"] = "";
+$a->strings["[-] collapse"] = "";
+$a->strings["Password too short"] = "";
+$a->strings["Passwords do not match"] = "";
+$a->strings["everybody"] = "";
+$a->strings["Secret Passphrase"] = "";
+$a->strings["Passphrase hint"] = "";
+$a->strings["Notice: Permissions have changed but have not yet been submitted."] = "";
+$a->strings["close all"] = "";
+$a->strings["Nothing new here"] = "";
+$a->strings["Rate This Channel (this is public)"] = "";
+$a->strings["Rating"] = "";
+$a->strings["Describe (optional)"] = "";
+$a->strings["Submit"] = "";
+$a->strings["Please enter a link URL"] = "";
+$a->strings["Unsaved changes. Are you sure you wish to leave this page?"] = "";
+$a->strings["timeago.prefixAgo"] = "";
+$a->strings["timeago.prefixFromNow"] = "";
+$a->strings["ago"] = "";
+$a->strings["from now"] = "";
+$a->strings["less than a minute"] = "";
+$a->strings["about a minute"] = "";
+$a->strings["%d minutes"] = "";
+$a->strings["about an hour"] = "";
+$a->strings["about %d hours"] = "";
+$a->strings["a day"] = "";
+$a->strings["%d days"] = "";
+$a->strings["about a month"] = "";
+$a->strings["%d months"] = "";
+$a->strings["about a year"] = "";
+$a->strings["%d years"] = "";
+$a->strings[" "] = "";
+$a->strings["timeago.numbers"] = "";
+$a->strings["parent"] = "";
+$a->strings["Collection"] = "";
+$a->strings["Principal"] = "";
+$a->strings["Addressbook"] = "";
+$a->strings["Calendar"] = "";
+$a->strings["Schedule Inbox"] = "";
+$a->strings["Schedule Outbox"] = "";
+$a->strings["Unknown"] = "";
+$a->strings["%1\$s used"] = "";
+$a->strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "";
+$a->strings["Files"] = "";
+$a->strings["Total"] = "";
+$a->strings["Shared"] = "";
+$a->strings["Create"] = "";
+$a->strings["Upload"] = "";
+$a->strings["Name"] = "";
+$a->strings["Type"] = "";
+$a->strings["Size"] = "";
+$a->strings["Last Modified"] = "";
+$a->strings["Delete"] = "";
+$a->strings["Create new folder"] = "";
+$a->strings["Upload file"] = "";
+$a->strings["%1\$s's bookmarks"] = "";
+$a->strings["view full size"] = "";
+$a->strings["General Features"] = "";
+$a->strings["Content Expiration"] = "";
+$a->strings["Remove posts/comments and/or private messages at a future time"] = "";
+$a->strings["Multiple Profiles"] = "";
+$a->strings["Ability to create multiple profiles"] = "";
+$a->strings["Advanced Profiles"] = "";
+$a->strings["Additional profile sections and selections"] = "";
+$a->strings["Profile Import/Export"] = "";
+$a->strings["Save and load profile details across sites/channels"] = "";
+$a->strings["Web Pages"] = "";
+$a->strings["Provide managed web pages on your channel"] = "";
+$a->strings["Private Notes"] = "";
+$a->strings["Enables a tool to store notes and reminders"] = "";
+$a->strings["Navigation Channel Select"] = "";
+$a->strings["Change channels directly from within the navigation dropdown menu"] = "";
+$a->strings["Photo Location"] = "";
+$a->strings["If location data is available on uploaded photos, link this to a map."] = "";
+$a->strings["Expert Mode"] = "";
+$a->strings["Enable Expert Mode to provide advanced configuration options"] = "";
+$a->strings["Premium Channel"] = "";
+$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "";
+$a->strings["Post Composition Features"] = "";
+$a->strings["Use Markdown"] = "";
+$a->strings["Allow use of \"Markdown\" to format posts"] = "";
+$a->strings["Large Photos"] = "";
+$a->strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "";
+$a->strings["Channel Sources"] = "";
+$a->strings["Automatically import channel content from other channels or feeds"] = "";
+$a->strings["Even More Encryption"] = "";
+$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "";
+$a->strings["Enable voting tools"] = "";
+$a->strings["Provide a class of post which others can vote on"] = "";
+$a->strings["Network and Stream Filtering"] = "";
+$a->strings["Search by Date"] = "";
+$a->strings["Ability to select posts by date ranges"] = "";
+$a->strings["Collections Filter"] = "";
+$a->strings["Enable widget to display Network posts only from selected collections"] = "";
+$a->strings["Saved Searches"] = "";
+$a->strings["Save search terms for re-use"] = "";
+$a->strings["Network Personal Tab"] = "";
+$a->strings["Enable tab to display only Network posts that you've interacted on"] = "";
+$a->strings["Network New Tab"] = "";
+$a->strings["Enable tab to display all new Network activity"] = "";
+$a->strings["Affinity Tool"] = "";
+$a->strings["Filter stream activity by depth of relationships"] = "";
+$a->strings["Suggest Channels"] = "";
+$a->strings["Show channel suggestions"] = "";
+$a->strings["Post/Comment Tools"] = "";
+$a->strings["Tagging"] = "";
+$a->strings["Ability to tag existing posts"] = "";
+$a->strings["Post Categories"] = "";
+$a->strings["Add categories to your posts"] = "";
+$a->strings["Saved Folders"] = "";
+$a->strings["Ability to file posts under folders"] = "";
+$a->strings["Dislike Posts"] = "";
+$a->strings["Ability to dislike posts/comments"] = "";
+$a->strings["Star Posts"] = "";
+$a->strings["Ability to mark special posts with a star indicator"] = "";
+$a->strings["Tag Cloud"] = "";
+$a->strings["Provide a personal tag cloud on your channel page"] = "";
+$a->strings["Categories"] = "";
+$a->strings["Apps"] = "";
+$a->strings["System"] = "";
+$a->strings["Personal"] = "";
+$a->strings["Create Personal App"] = "";
+$a->strings["Edit Personal App"] = "";
+$a->strings["Connect"] = "";
+$a->strings["Ignore/Hide"] = "";
+$a->strings["Suggestions"] = "";
+$a->strings["See more..."] = "";
+$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "";
+$a->strings["Add New Connection"] = "";
+$a->strings["Enter the channel address"] = "";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "";
+$a->strings["Notes"] = "";
+$a->strings["Save"] = "";
+$a->strings["Remove term"] = "";
+$a->strings["Everything"] = "";
+$a->strings["Archives"] = "";
+$a->strings["Me"] = "";
+$a->strings["Family"] = "";
+$a->strings["Friends"] = "";
+$a->strings["Acquaintances"] = "";
+$a->strings["All"] = "";
+$a->strings["Refresh"] = "";
+$a->strings["Account settings"] = "";
+$a->strings["Channel settings"] = "";
+$a->strings["Additional features"] = "";
+$a->strings["Feature/Addon settings"] = "";
+$a->strings["Display settings"] = "";
+$a->strings["Connected apps"] = "";
+$a->strings["Export channel"] = "";
+$a->strings["Connection Default Permissions"] = "";
+$a->strings["Premium Channel Settings"] = "";
+$a->strings["Settings"] = "";
+$a->strings["Messages"] = "";
+$a->strings["Check Mail"] = "";
+$a->strings["New Message"] = "";
+$a->strings["Chat Rooms"] = "";
+$a->strings["Bookmarked Chatrooms"] = "";
+$a->strings["Suggested Chatrooms"] = "";
+$a->strings["photo/image"] = "";
+$a->strings["Rate Me"] = "";
+$a->strings["View Ratings"] = "";
+$a->strings["Public Hubs"] = "";
+$a->strings["\$Projectname Notification"] = "";
+$a->strings["\$projectname"] = "";
+$a->strings["Thank You,"] = "";
+$a->strings["%s Administrator"] = "";
+$a->strings["%s <!item_type!>"] = "";
+$a->strings["[Red:Notify] New mail received at %s"] = "";
+$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "";
+$a->strings["%1\$s sent you %2\$s."] = "";
+$a->strings["a private message"] = "";
+$a->strings["Please visit %s to view and/or reply to your private messages."] = "";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "";
+$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "";
+$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "";
+$a->strings["Please visit %s to view and/or reply to the conversation."] = "";
+$a->strings["[Red:Notify] %s posted to your profile wall"] = "";
+$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "";
+$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "";
+$a->strings["[Red:Notify] %s tagged you"] = "";
+$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "";
+$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "";
+$a->strings["[Red:Notify] %1\$s poked you"] = "";
+$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "";
+$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "";
+$a->strings["[Red:Notify] %s tagged your post"] = "";
+$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "";
+$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "";
+$a->strings["[Red:Notify] Introduction received"] = "";
+$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "";
+$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "";
+$a->strings["You may visit their profile at %s"] = "";
+$a->strings["Please visit %s to approve or reject the connection request."] = "";
+$a->strings["[Red:Notify] Friend suggestion received"] = "";
+$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "";
+$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "";
+$a->strings["Name:"] = "";
+$a->strings["Photo:"] = "";
+$a->strings["Please visit %s to approve or reject the suggestion."] = "";
+$a->strings["[Red:Notify]"] = "";
+$a->strings["Frequently"] = "";
+$a->strings["Hourly"] = "";
+$a->strings["Twice daily"] = "";
+$a->strings["Daily"] = "";
+$a->strings["Weekly"] = "";
+$a->strings["Monthly"] = "";
+$a->strings["Friendica"] = "";
+$a->strings["OStatus"] = "";
+$a->strings["RSS/Atom"] = "";
+$a->strings["Email"] = "";
+$a->strings["Diaspora"] = "";
+$a->strings["Facebook"] = "";
+$a->strings["Zot!"] = "";
+$a->strings["LinkedIn"] = "";
+$a->strings["XMPP/IM"] = "";
+$a->strings["MySpace"] = "";
+$a->strings["No recipient provided."] = "";
+$a->strings["[no subject]"] = "";
+$a->strings["Unable to determine sender."] = "";
+$a->strings["Stored post could not be verified."] = "";
+$a->strings["Channel is blocked on this site."] = "";
+$a->strings["Channel location missing."] = "";
+$a->strings["Response from remote channel was incomplete."] = "";
+$a->strings["Channel was deleted and no longer exists."] = "";
+$a->strings["Protocol disabled."] = "";
+$a->strings["Channel discovery failed."] = "";
+$a->strings["local account not found."] = "";
+$a->strings["Cannot connect to yourself."] = "";
+$a->strings["Private Message"] = "";
+$a->strings["Select"] = "";
+$a->strings["Save to Folder"] = "";
+$a->strings["I will attend"] = "";
+$a->strings["I will not attend"] = "";
+$a->strings["I might attend"] = "";
+$a->strings["I agree"] = "";
+$a->strings["I disagree"] = "";
+$a->strings["I abstain"] = "";
+$a->strings["View all"] = "";
+$a->strings["__ctx:noun__ Like"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["__ctx:noun__ Dislike"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["Add Star"] = "";
+$a->strings["Remove Star"] = "";
+$a->strings["Toggle Star Status"] = "";
+$a->strings["starred"] = "";
+$a->strings["Message signature validated"] = "";
+$a->strings["Message signature incorrect"] = "";
+$a->strings["Add Tag"] = "";
+$a->strings["I like this (toggle)"] = "";
+$a->strings["like"] = "";
+$a->strings["I don't like this (toggle)"] = "";
+$a->strings["dislike"] = "";
+$a->strings["Share This"] = "";
+$a->strings["share"] = "";
+$a->strings["%d comment"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["View %s's profile - %s"] = "";
+$a->strings["to"] = "";
+$a->strings["via"] = "";
+$a->strings["Wall-to-Wall"] = "";
+$a->strings["via Wall-To-Wall:"] = "";
+$a->strings["from %s"] = "";
+$a->strings["last edited: %s"] = "";
+$a->strings["Expires: %s"] = "";
+$a->strings["Save Bookmarks"] = "";
+$a->strings["Add to Calendar"] = "";
+$a->strings["Mark all seen"] = "";
+$a->strings["__ctx:noun__ Likes"] = "";
+$a->strings["__ctx:noun__ Dislikes"] = "";
+$a->strings["Close"] = "";
+$a->strings["Please wait"] = "";
+$a->strings["This is you"] = "";
+$a->strings["Bold"] = "";
+$a->strings["Italic"] = "";
+$a->strings["Underline"] = "";
+$a->strings["Quote"] = "";
+$a->strings["Code"] = "";
+$a->strings["Image"] = "";
+$a->strings["Insert Link"] = "";
+$a->strings["Video"] = "";
+$a->strings["Encrypt text"] = "";
+$a->strings["New window"] = "";
+$a->strings["Open the selected location in a different window or browser tab"] = "";
+$a->strings["User '%s' deleted"] = "";
+$a->strings["Attachments:"] = "";
+$a->strings["\$Projectname event notification:"] = "";
$a->strings["prev"] = "";
$a->strings["first"] = "";
$a->strings["last"] = "";
@@ -20,7 +392,6 @@ $a->strings["%d Connection"] = array(
);
$a->strings["View Connections"] = "";
$a->strings["Search"] = "";
-$a->strings["Save"] = "";
$a->strings["poke"] = "";
$a->strings["poked"] = "";
$a->strings["ping"] = "";
@@ -79,84 +450,21 @@ $a->strings["remove category"] = "";
$a->strings["remove from file"] = "";
$a->strings["Click to open/close"] = "";
$a->strings["Link to Source"] = "";
-$a->strings["Select a page layout: "] = "";
$a->strings["default"] = "";
-$a->strings["Page content type: "] = "";
+$a->strings["Page layout"] = "";
+$a->strings["You can create your own with the layouts tool"] = "";
+$a->strings["Page content type"] = "";
$a->strings["Select an alternate language"] = "";
$a->strings["photo"] = "";
$a->strings["event"] = "";
$a->strings["status"] = "";
$a->strings["comment"] = "";
$a->strings["activity"] = "";
-$a->strings["Design"] = "";
+$a->strings["Design Tools"] = "";
$a->strings["Blocks"] = "";
$a->strings["Menus"] = "";
$a->strings["Layouts"] = "";
$a->strings["Pages"] = "";
-$a->strings["New Page"] = "";
-$a->strings["Edit"] = "";
-$a->strings["View"] = "";
-$a->strings["Preview"] = "";
-$a->strings["Actions"] = "";
-$a->strings["Page Link"] = "";
-$a->strings["Title"] = "";
-$a->strings["Created"] = "";
-$a->strings["Edited"] = "";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "";
-$a->strings["Not a valid email address"] = "";
-$a->strings["Your email domain is not among those allowed on this site"] = "";
-$a->strings["Your email address is already registered at this site."] = "";
-$a->strings["An invitation is required."] = "";
-$a->strings["Invitation could not be verified."] = "";
-$a->strings["Please enter the required information."] = "";
-$a->strings["Failed to store account information."] = "";
-$a->strings["Registration confirmation for %s"] = "";
-$a->strings["Registration request at %s"] = "";
-$a->strings["Administrator"] = "";
-$a->strings["your registration password"] = "";
-$a->strings["Registration details for %s"] = "";
-$a->strings["Account approved."] = "";
-$a->strings["Registration revoked for %s"] = "";
-$a->strings["Account verified. Please login."] = "";
-$a->strings["Permission denied."] = "";
-$a->strings["Image exceeds website size limit of %lu bytes"] = "";
-$a->strings["Image file is empty."] = "";
-$a->strings["Unable to process image"] = "";
-$a->strings["Photo storage failed."] = "";
-$a->strings["Photo Albums"] = "";
-$a->strings["Upload New Photos"] = "";
-$a->strings["Visible to everybody"] = "";
-$a->strings["Show"] = "";
-$a->strings["Don't show"] = "";
-$a->strings["Permissions"] = "";
-$a->strings["Close"] = "";
-$a->strings[" and "] = "";
-$a->strings["public profile"] = "";
-$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "";
-$a->strings["Visit %1\$s's %2\$s"] = "";
-$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "";
-$a->strings["Public Timeline"] = "";
-$a->strings["Item was not found."] = "";
-$a->strings["No source file."] = "";
-$a->strings["Cannot locate file to replace"] = "";
-$a->strings["Cannot locate file to revise/update"] = "";
-$a->strings["File exceeds size limit of %d"] = "";
-$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "";
-$a->strings["File upload failed. Possible system limit or action terminated."] = "";
-$a->strings["Stored file could not be verified. Upload failed."] = "";
-$a->strings["Path not available."] = "";
-$a->strings["Empty pathname"] = "";
-$a->strings["duplicate filename or path"] = "";
-$a->strings["Path not found."] = "";
-$a->strings["mkdir failed."] = "";
-$a->strings["database storage failed."] = "";
-$a->strings["Click here to upgrade."] = "";
-$a->strings["This action exceeds the limits set by your subscription plan."] = "";
-$a->strings["This action is not available under your subscription plan."] = "";
-$a->strings["l F d, Y \\@ g:i A"] = "";
-$a->strings["Starts:"] = "";
-$a->strings["Finishes:"] = "";
-$a->strings["Location:"] = "";
$a->strings["Logout"] = "";
$a->strings["End this session"] = "";
$a->strings["Home"] = "";
@@ -169,7 +477,6 @@ $a->strings["Edit Profile"] = "";
$a->strings["Edit your profile"] = "";
$a->strings["Photos"] = "";
$a->strings["Your photos"] = "";
-$a->strings["Files"] = "";
$a->strings["Your files"] = "";
$a->strings["Chat"] = "";
$a->strings["Your chatrooms"] = "";
@@ -180,17 +487,17 @@ $a->strings["Your webpages"] = "";
$a->strings["Login"] = "";
$a->strings["Sign in"] = "";
$a->strings["%s - click to logout"] = "";
+$a->strings["Remote authentication"] = "";
$a->strings["Click to authenticate to your home hub"] = "";
$a->strings["Home Page"] = "";
$a->strings["Register"] = "";
$a->strings["Create an account"] = "";
$a->strings["Help"] = "";
$a->strings["Help and documentation"] = "";
-$a->strings["Apps"] = "";
$a->strings["Applications, utilities, links, games"] = "";
$a->strings["Search site content"] = "";
$a->strings["Directory"] = "";
-$a->strings["Channel Locator"] = "";
+$a->strings["Channel Directory"] = "";
$a->strings["Matrix"] = "";
$a->strings["Your matrix"] = "";
$a->strings["Mark all matrix notifications seen"] = "";
@@ -208,183 +515,100 @@ $a->strings["See all private messages"] = "";
$a->strings["Mark all private messages seen"] = "";
$a->strings["Inbox"] = "";
$a->strings["Outbox"] = "";
-$a->strings["New Message"] = "";
$a->strings["Events"] = "";
$a->strings["Event Calendar"] = "";
$a->strings["See all events"] = "";
$a->strings["Mark all events seen"] = "";
-$a->strings["Channel Select"] = "";
+$a->strings["Channel Manager"] = "";
$a->strings["Manage Your Channels"] = "";
-$a->strings["Settings"] = "";
$a->strings["Account/Channel Settings"] = "";
$a->strings["Admin"] = "";
$a->strings["Site Setup and Configuration"] = "";
-$a->strings["Nothing new here"] = "";
+$a->strings["Loading..."] = "";
+$a->strings["@name, #tag, content"] = "";
$a->strings["Please wait..."] = "";
-$a->strings["%1\$s's bookmarks"] = "";
$a->strings["Tags"] = "";
$a->strings["Keywords"] = "";
$a->strings["have"] = "";
$a->strings["has"] = "";
$a->strings["want"] = "";
$a->strings["wants"] = "";
-$a->strings["like"] = "";
$a->strings["likes"] = "";
-$a->strings["dislike"] = "";
$a->strings["dislikes"] = "";
-$a->strings["__ctx:noun__ Like"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["Default"] = "";
-$a->strings["Frequently"] = "";
-$a->strings["Hourly"] = "";
-$a->strings["Twice daily"] = "";
-$a->strings["Daily"] = "";
-$a->strings["Weekly"] = "";
-$a->strings["Monthly"] = "";
-$a->strings["Friendica"] = "";
-$a->strings["OStatus"] = "";
-$a->strings["RSS/Atom"] = "";
-$a->strings["Email"] = "";
-$a->strings["Diaspora"] = "";
-$a->strings["Facebook"] = "";
-$a->strings["Zot!"] = "";
-$a->strings["LinkedIn"] = "";
-$a->strings["XMPP/IM"] = "";
-$a->strings["MySpace"] = "";
-$a->strings["%d invitation available"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["Advanced"] = "";
-$a->strings["Find Channels"] = "";
-$a->strings["Enter name or interest"] = "";
-$a->strings["Connect/Follow"] = "";
-$a->strings["Examples: Robert Morgenstein, Fishing"] = "";
-$a->strings["Find"] = "";
-$a->strings["Channel Suggestions"] = "";
-$a->strings["Random Profile"] = "";
-$a->strings["Invite Friends"] = "";
-$a->strings["Exammple: name=fred and country=iceland"] = "";
-$a->strings["Advanced Find"] = "";
-$a->strings["Saved Folders"] = "";
-$a->strings["Everything"] = "";
-$a->strings["Categories"] = "";
-$a->strings["%d connection in common"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["show more"] = "";
-$a->strings["This event has been added to your calendar."] = "";
-$a->strings["Invalid data packet"] = "";
-$a->strings["Unable to verify channel signature"] = "";
-$a->strings["Unable to verify site signature for %s"] = "";
-$a->strings["Miscellaneous"] = "";
-$a->strings["year"] = "";
-$a->strings["month"] = "";
-$a->strings["day"] = "";
-$a->strings["never"] = "";
-$a->strings["less than a second ago"] = "";
-$a->strings["years"] = "";
-$a->strings["months"] = "";
-$a->strings["week"] = "";
-$a->strings["weeks"] = "";
-$a->strings["days"] = "";
-$a->strings["hour"] = "";
-$a->strings["hours"] = "";
-$a->strings["minute"] = "";
-$a->strings["minutes"] = "";
-$a->strings["second"] = "";
-$a->strings["seconds"] = "";
-$a->strings["%1\$d %2\$s ago"] = "";
-$a->strings["%1\$s's birthday"] = "";
-$a->strings["Happy Birthday %1\$s"] = "";
-$a->strings["Sort Options"] = "";
-$a->strings["Alphabetic"] = "";
-$a->strings["Reverse Alphabetic"] = "";
-$a->strings["Newest to Oldest"] = "";
-$a->strings["Enable Safe Search"] = "";
-$a->strings["Disable Safe Search"] = "";
-$a->strings["Safe Mode"] = "";
-$a->strings["Red Matrix Notification"] = "";
-$a->strings["redmatrix"] = "";
-$a->strings["Thank You,"] = "";
-$a->strings["%s Administrator"] = "";
-$a->strings["%s <!item_type!>"] = "";
-$a->strings["[Red:Notify] New mail received at %s"] = "";
-$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "";
-$a->strings["%1\$s sent you %2\$s."] = "";
-$a->strings["a private message"] = "";
-$a->strings["Please visit %s to view and/or reply to your private messages."] = "";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "";
-$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "";
-$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "";
-$a->strings["Please visit %s to view and/or reply to the conversation."] = "";
-$a->strings["[Red:Notify] %s posted to your profile wall"] = "";
-$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "";
-$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "";
-$a->strings["[Red:Notify] %s tagged you"] = "";
-$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "";
-$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "";
-$a->strings["[Red:Notify] %1\$s poked you"] = "";
-$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "";
-$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "";
-$a->strings["[Red:Notify] %s tagged your post"] = "";
-$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "";
-$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "";
-$a->strings["[Red:Notify] Introduction received"] = "";
-$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "";
-$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "";
-$a->strings["You may visit their profile at %s"] = "";
-$a->strings["Please visit %s to approve or reject the connection request."] = "";
-$a->strings["[Red:Notify] Friend suggestion received"] = "";
-$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "";
-$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "";
-$a->strings["Name:"] = "";
-$a->strings["Photo:"] = "";
-$a->strings["Please visit %s to approve or reject the suggestion."] = "";
-$a->strings["parent"] = "";
-$a->strings["Collection"] = "";
-$a->strings["Principal"] = "";
-$a->strings["Addressbook"] = "";
-$a->strings["Calendar"] = "";
-$a->strings["Schedule Inbox"] = "";
-$a->strings["Schedule Outbox"] = "";
-$a->strings["Unknown"] = "";
-$a->strings["%1\$s used"] = "";
-$a->strings["%1\$s used of %2\$s (%3\$s&#37;)"] = "";
-$a->strings["Name"] = "";
-$a->strings["Type"] = "";
-$a->strings["Size"] = "";
-$a->strings["Last Modified"] = "";
-$a->strings["Delete"] = "";
-$a->strings["Total"] = "";
-$a->strings["Create new folder"] = "";
-$a->strings["Create"] = "";
-$a->strings["Upload file"] = "";
-$a->strings["Upload"] = "";
+$a->strings[" and "] = "";
+$a->strings["public profile"] = "";
+$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "";
+$a->strings["Visit %1\$s's %2\$s"] = "";
+$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "";
+$a->strings["Permission denied"] = "";
+$a->strings["(Unknown)"] = "";
+$a->strings["Visible to anybody on the internet."] = "";
+$a->strings["Visible to you only."] = "";
+$a->strings["Visible to anybody in this network."] = "";
+$a->strings["Visible to anybody authenticated."] = "";
+$a->strings["Visible to anybody on %s."] = "";
+$a->strings["Visible to all connections."] = "";
+$a->strings["Visible to approved connections."] = "";
+$a->strings["Visible to specific connections."] = "";
+$a->strings["Item not found."] = "";
+$a->strings["Permission denied."] = "";
+$a->strings["Collection not found."] = "";
+$a->strings["Collection is empty."] = "";
+$a->strings["Collection: %s"] = "";
+$a->strings["Connection: %s"] = "";
+$a->strings["Connection not found."] = "";
+$a->strings["Can view my normal stream and posts"] = "";
+$a->strings["Can view my default channel profile"] = "";
+$a->strings["Can view my photo albums"] = "";
+$a->strings["Can view my connections"] = "";
+$a->strings["Can view my file storage"] = "";
+$a->strings["Can view my webpages"] = "";
+$a->strings["Can send me their channel stream and posts"] = "";
+$a->strings["Can post on my channel page (\"wall\")"] = "";
+$a->strings["Can comment on or like my posts"] = "";
+$a->strings["Can send me private mail messages"] = "";
+$a->strings["Can post photos to my photo albums"] = "";
+$a->strings["Can like/dislike stuff"] = "";
+$a->strings["Profiles and things other than posts/comments"] = "";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "";
+$a->strings["Advanced - useful for creating group forum channels"] = "";
+$a->strings["Can chat with me (when available)"] = "";
+$a->strings["Can write to my file storage"] = "";
+$a->strings["Can edit my webpages"] = "";
+$a->strings["Can source my public posts in derived channels"] = "";
+$a->strings["Somewhat advanced - very useful in open communities"] = "";
+$a->strings["Can administer my channel resources"] = "";
+$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "";
+$a->strings["Social Networking"] = "";
+$a->strings["Mostly Public"] = "";
+$a->strings["Restricted"] = "";
+$a->strings["Private"] = "";
+$a->strings["Community Forum"] = "";
+$a->strings["Feed Republish"] = "";
+$a->strings["Special Purpose"] = "";
+$a->strings["Celebrity/Soapbox"] = "";
+$a->strings["Group Repository"] = "";
+$a->strings["Other"] = "";
+$a->strings["Custom/Expert Mode"] = "";
$a->strings["channel"] = "";
$a->strings["%1\$s likes %2\$s's %3\$s"] = "";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "";
$a->strings["%1\$s is now connected with %2\$s"] = "";
$a->strings["%1\$s poked %2\$s"] = "";
$a->strings["__ctx:mood__ %1\$s is %2\$s"] = "";
-$a->strings["Select"] = "";
-$a->strings["Private Message"] = "";
-$a->strings["Message is verified"] = "";
+$a->strings["__ctx:title__ Likes"] = "";
+$a->strings["__ctx:title__ Dislikes"] = "";
+$a->strings["__ctx:title__ Agree"] = "";
+$a->strings["__ctx:title__ Disagree"] = "";
+$a->strings["__ctx:title__ Abstain"] = "";
+$a->strings["__ctx:title__ Attending"] = "";
+$a->strings["__ctx:title__ Not attending"] = "";
+$a->strings["__ctx:title__ Might attend"] = "";
$a->strings["View %s's profile @ %s"] = "";
$a->strings["Categories:"] = "";
$a->strings["Filed under:"] = "";
-$a->strings[" from %s"] = "";
-$a->strings["last edited: %s"] = "";
-$a->strings["Expires: %s"] = "";
$a->strings["View in context"] = "";
-$a->strings["Please wait"] = "";
$a->strings["remove"] = "";
-$a->strings["Loading..."] = "";
$a->strings["Delete Selected Items"] = "";
$a->strings["View Source"] = "";
$a->strings["Follow Thread"] = "";
@@ -420,7 +644,7 @@ $a->strings["Save to Folder:"] = "";
$a->strings["Where are you right now?"] = "";
$a->strings["Expires YYYY-MM-DD HH:MM"] = "";
$a->strings["Share"] = "";
-$a->strings["Page link title"] = "";
+$a->strings["Page link name"] = "";
$a->strings["Post as"] = "";
$a->strings["Upload photo"] = "";
$a->strings["upload photo"] = "";
@@ -434,16 +658,16 @@ $a->strings["Insert audio link"] = "";
$a->strings["audio link"] = "";
$a->strings["Set your location"] = "";
$a->strings["set location"] = "";
+$a->strings["Toggle voting"] = "";
$a->strings["Clear browser location"] = "";
$a->strings["clear location"] = "";
-$a->strings["Set title"] = "";
-$a->strings["Categories (comma-separated list)"] = "";
+$a->strings["Title (optional)"] = "";
+$a->strings["Categories (optional, comma-separated list)"] = "";
$a->strings["Permission settings"] = "";
$a->strings["permissions"] = "";
$a->strings["Public post"] = "";
$a->strings["Example: bob@example.com, mary@example.com"] = "";
$a->strings["Set expiration date"] = "";
-$a->strings["Encrypt text"] = "";
$a->strings["OK"] = "";
$a->strings["Cancel"] = "";
$a->strings["Discover"] = "";
@@ -452,7 +676,6 @@ $a->strings["Commented Order"] = "";
$a->strings["Sort by Comment Date"] = "";
$a->strings["Posted Order"] = "";
$a->strings["Sort by Post Date"] = "";
-$a->strings["Personal"] = "";
$a->strings["Posts that mention or involve you"] = "";
$a->strings["New"] = "";
$a->strings["Activity Stream - by date"] = "";
@@ -464,88 +687,94 @@ $a->strings["Channel"] = "";
$a->strings["Status Messages and Posts"] = "";
$a->strings["About"] = "";
$a->strings["Profile Details"] = "";
+$a->strings["Photo Albums"] = "";
$a->strings["Files and Storage"] = "";
$a->strings["Chatrooms"] = "";
$a->strings["Saved Bookmarks"] = "";
$a->strings["Manage Webpages"] = "";
-$a->strings["General Features"] = "";
-$a->strings["Content Expiration"] = "";
-$a->strings["Remove posts/comments and/or private messages at a future time"] = "";
-$a->strings["Multiple Profiles"] = "";
-$a->strings["Ability to create multiple profiles"] = "";
-$a->strings["Advanced Profiles"] = "";
-$a->strings["Additional profile sections and selections"] = "";
-$a->strings["Profile Import/Export"] = "";
-$a->strings["Save and load profile details across sites/channels"] = "";
-$a->strings["Web Pages"] = "";
-$a->strings["Provide managed web pages on your channel"] = "";
-$a->strings["Private Notes"] = "";
-$a->strings["Enables a tool to store notes and reminders"] = "";
-$a->strings["Extended Identity Sharing"] = "";
-$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "";
-$a->strings["Expert Mode"] = "";
-$a->strings["Enable Expert Mode to provide advanced configuration options"] = "";
-$a->strings["Premium Channel"] = "";
-$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "";
-$a->strings["Post Composition Features"] = "";
-$a->strings["Use Markdown"] = "";
-$a->strings["Allow use of \"Markdown\" to format posts"] = "";
-$a->strings["Post Preview"] = "";
-$a->strings["Allow previewing posts and comments before publishing them"] = "";
-$a->strings["Channel Sources"] = "";
-$a->strings["Automatically import channel content from other channels or feeds"] = "";
-$a->strings["Even More Encryption"] = "";
-$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "";
-$a->strings["Network and Stream Filtering"] = "";
-$a->strings["Search by Date"] = "";
-$a->strings["Ability to select posts by date ranges"] = "";
-$a->strings["Collections Filter"] = "";
-$a->strings["Enable widget to display Network posts only from selected collections"] = "";
-$a->strings["Saved Searches"] = "";
-$a->strings["Save search terms for re-use"] = "";
-$a->strings["Network Personal Tab"] = "";
-$a->strings["Enable tab to display only Network posts that you've interacted on"] = "";
-$a->strings["Network New Tab"] = "";
-$a->strings["Enable tab to display all new Network activity"] = "";
-$a->strings["Affinity Tool"] = "";
-$a->strings["Filter stream activity by depth of relationships"] = "";
-$a->strings["Suggest Channels"] = "";
-$a->strings["Show channel suggestions"] = "";
-$a->strings["Post/Comment Tools"] = "";
-$a->strings["Edit Sent Posts"] = "";
-$a->strings["Edit and correct posts and comments after sending"] = "";
-$a->strings["Tagging"] = "";
-$a->strings["Ability to tag existing posts"] = "";
-$a->strings["Post Categories"] = "";
-$a->strings["Add categories to your posts"] = "";
-$a->strings["Ability to file posts under folders"] = "";
-$a->strings["Dislike Posts"] = "";
-$a->strings["Ability to dislike posts/comments"] = "";
-$a->strings["Star Posts"] = "";
-$a->strings["Ability to mark special posts with a star indicator"] = "";
-$a->strings["Tag Cloud"] = "";
-$a->strings["Provide a personal tag cloud on your channel page"] = "";
-$a->strings["Channel is blocked on this site."] = "";
-$a->strings["Channel location missing."] = "";
-$a->strings["Response from remote channel was incomplete."] = "";
-$a->strings["Channel was deleted and no longer exists."] = "";
-$a->strings["Channel discovery failed."] = "";
-$a->strings["local account not found."] = "";
-$a->strings["Cannot connect to yourself."] = "";
-$a->strings["Missing room name"] = "";
-$a->strings["Duplicate room name"] = "";
-$a->strings["Invalid room specifier."] = "";
-$a->strings["Room not found."] = "";
-$a->strings["Room is full"] = "";
-$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "";
-$a->strings["Default privacy group for new contacts"] = "";
-$a->strings["All Channels"] = "";
-$a->strings["edit"] = "";
-$a->strings["Collections"] = "";
-$a->strings["Edit collection"] = "";
-$a->strings["Create a new collection"] = "";
-$a->strings["Channels not in any collection"] = "";
-$a->strings["add"] = "";
+$a->strings["__ctx:noun__ Attending"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["__ctx:noun__ Undecided"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["__ctx:noun__ Agree"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["__ctx:noun__ Disagree"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["__ctx:noun__ Abstain"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["Image/photo"] = "";
+$a->strings["Encrypted content"] = "";
+$a->strings["Install design element: "] = "";
+$a->strings["QR code"] = "";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "";
+$a->strings["post"] = "";
+$a->strings["Different viewers will see this text differently"] = "";
+$a->strings["$1 spoiler"] = "";
+$a->strings["$1 wrote:"] = "";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "";
+$a->strings["Image file is empty."] = "";
+$a->strings["Unable to process image"] = "";
+$a->strings["Photo storage failed."] = "";
+$a->strings["Upload New Photos"] = "";
+$a->strings["Invalid data packet"] = "";
+$a->strings["Unable to verify channel signature"] = "";
+$a->strings["Unable to verify site signature for %s"] = "";
+$a->strings["Embedded content"] = "";
+$a->strings["Embedding disabled"] = "";
+$a->strings["Logged out."] = "";
+$a->strings["Failed authentication"] = "";
+$a->strings["Login failed."] = "";
+$a->strings["%d invitation available"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["Advanced"] = "";
+$a->strings["Find Channels"] = "";
+$a->strings["Enter name or interest"] = "";
+$a->strings["Connect/Follow"] = "";
+$a->strings["Examples: Robert Morgenstein, Fishing"] = "";
+$a->strings["Find"] = "";
+$a->strings["Channel Suggestions"] = "";
+$a->strings["Random Profile"] = "";
+$a->strings["Invite Friends"] = "";
+$a->strings["Advanced example: name=fred and country=iceland"] = "";
+$a->strings["%d connection in common"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["show more"] = "";
+$a->strings["Visible to your default audience"] = "";
+$a->strings["Show"] = "";
+$a->strings["Don't show"] = "";
+$a->strings["Permissions"] = "";
+$a->strings["Item was not found."] = "";
+$a->strings["No source file."] = "";
+$a->strings["Cannot locate file to replace"] = "";
+$a->strings["Cannot locate file to revise/update"] = "";
+$a->strings["File exceeds size limit of %d"] = "";
+$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "";
+$a->strings["File upload failed. Possible system limit or action terminated."] = "";
+$a->strings["Stored file could not be verified. Upload failed."] = "";
+$a->strings["Path not available."] = "";
+$a->strings["Empty pathname"] = "";
+$a->strings["duplicate filename or path"] = "";
+$a->strings["Path not found."] = "";
+$a->strings["mkdir failed."] = "";
+$a->strings["database storage failed."] = "";
$a->strings["Unable to obtain identity information from database"] = "";
$a->strings["Empty name"] = "";
$a->strings["Name too long"] = "";
@@ -555,10 +784,8 @@ $a->strings["Reserved nickname. Please choose another."] = "";
$a->strings["Nickname has unsupported characters or is already being used on this site."] = "";
$a->strings["Unable to retrieve created identity"] = "";
$a->strings["Default Profile"] = "";
-$a->strings["Friends"] = "";
$a->strings["Requested channel is not available."] = "";
$a->strings["Requested profile is not available."] = "";
-$a->strings["Connect"] = "";
$a->strings["Change profile photo"] = "";
$a->strings["Profiles"] = "";
$a->strings["Manage/edit profiles"] = "";
@@ -605,128 +832,6 @@ $a->strings["Love/Romance:"] = "";
$a->strings["Work/employment:"] = "";
$a->strings["School/education:"] = "";
$a->strings["Like this thing"] = "";
-$a->strings["view full size"] = "";
-$a->strings["Site Admin"] = "";
-$a->strings["Address Book"] = "";
-$a->strings["Mood"] = "";
-$a->strings["Probe"] = "";
-$a->strings["Suggest"] = "";
-$a->strings["Update"] = "";
-$a->strings["Install"] = "";
-$a->strings["Purchase"] = "";
-$a->strings["Image/photo"] = "";
-$a->strings["Encrypted content"] = "";
-$a->strings["QR code"] = "";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "";
-$a->strings["post"] = "";
-$a->strings["$1 wrote:"] = "";
-$a->strings["No recipient provided."] = "";
-$a->strings["[no subject]"] = "";
-$a->strings["Unable to determine sender."] = "";
-$a->strings["Stored post could not be verified."] = "";
-$a->strings["System"] = "";
-$a->strings["Create Personal App"] = "";
-$a->strings["Edit Personal App"] = "";
-$a->strings["Ignore/Hide"] = "";
-$a->strings["Suggestions"] = "";
-$a->strings["See more..."] = "";
-$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "";
-$a->strings["Add New Connection"] = "";
-$a->strings["Enter the channel address"] = "";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "";
-$a->strings["Notes"] = "";
-$a->strings["Remove term"] = "";
-$a->strings["Archives"] = "";
-$a->strings["Refresh"] = "";
-$a->strings["Me"] = "";
-$a->strings["Best Friends"] = "";
-$a->strings["Co-workers"] = "";
-$a->strings["Former Friends"] = "";
-$a->strings["Acquaintances"] = "";
-$a->strings["Everybody"] = "";
-$a->strings["Account settings"] = "";
-$a->strings["Channel settings"] = "";
-$a->strings["Additional features"] = "";
-$a->strings["Feature settings"] = "";
-$a->strings["Display settings"] = "";
-$a->strings["Connected apps"] = "";
-$a->strings["Export channel"] = "";
-$a->strings["Automatic Permissions (Advanced)"] = "";
-$a->strings["Premium Channel Settings"] = "";
-$a->strings["Check Mail"] = "";
-$a->strings["Chat Rooms"] = "";
-$a->strings["Bookmarked Chatrooms"] = "";
-$a->strings["Suggested Chatrooms"] = "";
-$a->strings["Save to Folder"] = "";
-$a->strings["View all"] = "";
-$a->strings["__ctx:noun__ Dislike"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["Add Star"] = "";
-$a->strings["Remove Star"] = "";
-$a->strings["Toggle Star Status"] = "";
-$a->strings["starred"] = "";
-$a->strings["Add Tag"] = "";
-$a->strings["I like this (toggle)"] = "";
-$a->strings["I don't like this (toggle)"] = "";
-$a->strings["Share This"] = "";
-$a->strings["share"] = "";
-$a->strings["View %s's profile - %s"] = "";
-$a->strings["to"] = "";
-$a->strings["via"] = "";
-$a->strings["Wall-to-Wall"] = "";
-$a->strings["via Wall-To-Wall:"] = "";
-$a->strings["Save Bookmarks"] = "";
-$a->strings["Add to Calendar"] = "";
-$a->strings["__ctx:noun__ Likes"] = "";
-$a->strings["__ctx:noun__ Dislikes"] = "";
-$a->strings["%d comment"] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["[+] show all"] = "";
-$a->strings["This is you"] = "";
-$a->strings["Comment"] = "";
-$a->strings["Submit"] = "";
-$a->strings["Bold"] = "";
-$a->strings["Italic"] = "";
-$a->strings["Underline"] = "";
-$a->strings["Quote"] = "";
-$a->strings["Code"] = "";
-$a->strings["Image"] = "";
-$a->strings["Link"] = "";
-$a->strings["Video"] = "";
-$a->strings["Delete this item?"] = "";
-$a->strings["[-] show less"] = "";
-$a->strings["[+] expand"] = "";
-$a->strings["[-] collapse"] = "";
-$a->strings["Password too short"] = "";
-$a->strings["Passwords do not match"] = "";
-$a->strings["everybody"] = "";
-$a->strings["Secret Passphrase"] = "";
-$a->strings["Passphrase hint"] = "";
-$a->strings["Notice: Permissions have changed but have not yet been submitted."] = "";
-$a->strings["close all"] = "";
-$a->strings["timeago.prefixAgo"] = "";
-$a->strings["timeago.prefixFromNow"] = "";
-$a->strings["ago"] = "";
-$a->strings["from now"] = "";
-$a->strings["less than a minute"] = "";
-$a->strings["about a minute"] = "";
-$a->strings["%d minutes"] = "";
-$a->strings["about an hour"] = "";
-$a->strings["about %d hours"] = "";
-$a->strings["a day"] = "";
-$a->strings["%d days"] = "";
-$a->strings["about a month"] = "";
-$a->strings["%d months"] = "";
-$a->strings["about a year"] = "";
-$a->strings["%d years"] = "";
-$a->strings[" "] = "";
-$a->strings["timeago.numbers"] = "";
-$a->strings["New window"] = "";
-$a->strings["Open the selected location in a different window or browser tab"] = "";
$a->strings["Male"] = "";
$a->strings["Female"] = "";
$a->strings["Currently Male"] = "";
@@ -739,7 +844,6 @@ $a->strings["Transsexual"] = "";
$a->strings["Hermaphrodite"] = "";
$a->strings["Neuter"] = "";
$a->strings["Non-specific"] = "";
-$a->strings["Other"] = "";
$a->strings["Undecided"] = "";
$a->strings["Males"] = "";
$a->strings["Females"] = "";
@@ -784,74 +888,43 @@ $a->strings["Uncertain"] = "";
$a->strings["It's complicated"] = "";
$a->strings["Don't care"] = "";
$a->strings["Ask me"] = "";
-$a->strings["Logged out."] = "";
-$a->strings["Failed authentication"] = "";
-$a->strings["Login failed."] = "";
-$a->strings["Permission denied"] = "";
-$a->strings["(Unknown)"] = "";
-$a->strings["Item not found."] = "";
-$a->strings["Collection not found."] = "";
-$a->strings["Collection is empty."] = "";
-$a->strings["Collection: %s"] = "";
-$a->strings["Connection: %s"] = "";
-$a->strings["Connection not found."] = "";
-$a->strings["Can view my \"public\" stream and posts"] = "";
-$a->strings["Can view my \"public\" channel profile"] = "";
-$a->strings["Can view my \"public\" photo albums"] = "";
-$a->strings["Can view my \"public\" address book"] = "";
-$a->strings["Can view my \"public\" file storage"] = "";
-$a->strings["Can view my \"public\" pages"] = "";
-$a->strings["Can send me their channel stream and posts"] = "";
-$a->strings["Can post on my channel page (\"wall\")"] = "";
-$a->strings["Can comment on or like my posts"] = "";
-$a->strings["Can send me private mail messages"] = "";
-$a->strings["Can post photos to my photo albums"] = "";
-$a->strings["Can like/dislike stuff"] = "";
-$a->strings["Can forward to all my channel contacts via post @mentions"] = "";
-$a->strings["Advanced - useful for creating group forum channels"] = "";
-$a->strings["Can chat with me (when available)"] = "";
-$a->strings["Can write to my \"public\" file storage"] = "";
-$a->strings["Can edit my \"public\" pages"] = "";
-$a->strings["Can source my \"public\" posts in derived channels"] = "";
-$a->strings["Somewhat advanced - very useful in open communities"] = "";
-$a->strings["Can administer my channel resources"] = "";
-$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "";
-$a->strings["Set your current mood and tell your friends"] = "";
-$a->strings["Menu not found."] = "";
-$a->strings["Menu element updated."] = "";
-$a->strings["Unable to update menu element."] = "";
-$a->strings["Menu element added."] = "";
-$a->strings["Unable to add menu element."] = "";
-$a->strings["Not found."] = "";
-$a->strings["Manage Menu Elements"] = "";
-$a->strings["Edit menu"] = "";
-$a->strings["Edit element"] = "";
-$a->strings["Drop element"] = "";
-$a->strings["New element"] = "";
-$a->strings["Edit this menu container"] = "";
-$a->strings["Add menu element"] = "";
-$a->strings["Delete this menu item"] = "";
-$a->strings["Edit this menu item"] = "";
-$a->strings["New Menu Element"] = "";
-$a->strings["Menu Item Permissions"] = "";
-$a->strings["(click to open/close)"] = "";
-$a->strings["Link text"] = "";
-$a->strings["URL of link"] = "";
-$a->strings["Use Red magic-auth if available"] = "";
-$a->strings["Open link in new window"] = "";
-$a->strings["Order in list"] = "";
-$a->strings["Higher numbers will sink to bottom of listing"] = "";
-$a->strings["Menu item not found."] = "";
-$a->strings["Menu item deleted."] = "";
-$a->strings["Menu item could not be deleted."] = "";
-$a->strings["Edit Menu Element"] = "";
-$a->strings["Modify"] = "";
-$a->strings["sent you a private message"] = "";
-$a->strings["added your channel"] = "";
-$a->strings["posted an event"] = "";
-$a->strings["network"] = "";
+$a->strings["Site Admin"] = "";
+$a->strings["Address Book"] = "";
+$a->strings["Mood"] = "";
+$a->strings["Probe"] = "";
+$a->strings["Suggest"] = "";
+$a->strings["Random Channel"] = "";
+$a->strings["Invite"] = "";
+$a->strings["Features"] = "";
+$a->strings["Language"] = "";
+$a->strings["Post"] = "";
+$a->strings["Profile Photo"] = "";
+$a->strings["Update"] = "";
+$a->strings["Install"] = "";
+$a->strings["Purchase"] = "";
+$a->strings["Missing room name"] = "";
+$a->strings["Duplicate room name"] = "";
+$a->strings["Invalid room specifier."] = "";
+$a->strings["Room not found."] = "";
+$a->strings["Room is full"] = "";
+$a->strings["Please choose"] = "";
+$a->strings["Agree"] = "";
+$a->strings["Disagree"] = "";
+$a->strings["Abstain"] = "";
+$a->strings["projectname"] = "";
+$a->strings["Some blurb about what to do when you're new here"] = "";
+$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "";
+$a->strings["Create a new channel"] = "";
+$a->strings["Current Channel"] = "";
+$a->strings["Switch to one of your channels by selecting it."] = "";
+$a->strings["Default Channel"] = "";
+$a->strings["Make Default"] = "";
+$a->strings["%d new messages"] = "";
+$a->strings["%d new introductions"] = "";
+$a->strings["Delegated Channels"] = "";
$a->strings["Name is required"] = "";
$a->strings["Key and Secret are required"] = "";
+$a->strings["Diaspora Policy Settings updated."] = "";
$a->strings["Passwords do not match. Password unchanged."] = "";
$a->strings["Empty passwords are not allowed. Password unchanged."] = "";
$a->strings["Password changed."] = "";
@@ -860,6 +933,8 @@ $a->strings["Not valid email."] = "";
$a->strings["Protected email address. Cannot change to that email."] = "";
$a->strings["System failure storing new email. Please try again."] = "";
$a->strings["Settings updated."] = "";
+$a->strings["No"] = "";
+$a->strings["Yes"] = "";
$a->strings["Add application"] = "";
$a->strings["Name of application"] = "";
$a->strings["Consumer Key"] = "";
@@ -875,30 +950,42 @@ $a->strings["Client key starts with"] = "";
$a->strings["No name"] = "";
$a->strings["Remove authorization"] = "";
$a->strings["No feature settings configured"] = "";
-$a->strings["Feature Settings"] = "";
+$a->strings["Feature/Addon Settings"] = "";
+$a->strings["Settings for the built-in Diaspora emulator"] = "";
+$a->strings["Allow any Diaspora member to comment on your public posts"] = "";
+$a->strings["Diaspora Policy Settings"] = "";
+$a->strings["Prevent your hashtags from being redirected to other sites"] = "";
$a->strings["Account Settings"] = "";
-$a->strings["Password Settings"] = "";
-$a->strings["New Password:"] = "";
-$a->strings["Confirm:"] = "";
+$a->strings["Enter New Password:"] = "";
+$a->strings["Confirm New Password:"] = "";
$a->strings["Leave password fields blank unless changing"] = "";
$a->strings["Email Address:"] = "";
$a->strings["Remove Account"] = "";
-$a->strings["Warning: This action is permanent and cannot be reversed."] = "";
+$a->strings["Remove this account including all its channels"] = "";
$a->strings["Off"] = "";
$a->strings["On"] = "";
$a->strings["Additional Features"] = "";
$a->strings["Connector Settings"] = "";
$a->strings["No special theme for mobile devices"] = "";
$a->strings["%s - (Experimental)"] = "";
+$a->strings["mobile"] = "";
$a->strings["Display Settings"] = "";
$a->strings["Display Theme:"] = "";
$a->strings["Mobile Theme:"] = "";
+$a->strings["Enable user zoom on mobile devices"] = "";
$a->strings["Update browser every xx seconds"] = "";
$a->strings["Minimum of 10 seconds, no maximum"] = "";
$a->strings["Maximum number of conversations to load at any time:"] = "";
$a->strings["Maximum of 100 items"] = "";
-$a->strings["Don't show emoticons"] = "";
+$a->strings["Show emoticons (smilies) as images"] = "";
+$a->strings["Link post titles to source"] = "";
$a->strings["System Page Layout Editor - (advanced)"] = "";
+$a->strings["Use blog/list mode on channel page"] = "";
+$a->strings["(comments displayed separately)"] = "";
+$a->strings["Use blog/list mode on matrix page"] = "";
+$a->strings["Channel page max height of content (in pixels)"] = "";
+$a->strings["click to expand content exceeding this height"] = "";
+$a->strings["Matrix page max height of content (in pixels)"] = "";
$a->strings["Nobody except yourself"] = "";
$a->strings["Only those you specifically allow"] = "";
$a->strings["Approved connections"] = "";
@@ -908,8 +995,6 @@ $a->strings["Anybody in this network"] = "";
$a->strings["Anybody authenticated"] = "";
$a->strings["Anybody on the internet"] = "";
$a->strings["Publish your default profile in the network directory"] = "";
-$a->strings["No"] = "";
-$a->strings["Yes"] = "";
$a->strings["Allow us to suggest you as a potential friend to new members?"] = "";
$a->strings["or"] = "";
$a->strings["Your channel address is"] = "";
@@ -922,6 +1007,7 @@ $a->strings["Use Browser Location:"] = "";
$a->strings["Adult Content"] = "";
$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "";
$a->strings["Security and Privacy Settings"] = "";
+$a->strings["Your permissions are already configured. Click to view/adjust"] = "";
$a->strings["Hide my online presence"] = "";
$a->strings["Prevents displaying in your profile that you are online"] = "";
$a->strings["Simple Privacy Settings:"] = "";
@@ -937,6 +1023,8 @@ $a->strings["0 or blank prevents expiration"] = "";
$a->strings["Maximum Friend Requests/Day:"] = "";
$a->strings["May reduce spam activity"] = "";
$a->strings["Default Post Permissions"] = "";
+$a->strings["(click to open/close)"] = "";
+$a->strings["Channel permissions category:"] = "";
$a->strings["Maximum private messages per day from unknown people:"] = "";
$a->strings["Useful to reduce spamming"] = "";
$a->strings["Notification Settings"] = "";
@@ -953,28 +1041,70 @@ $a->strings["You receive a private message"] = "";
$a->strings["You receive a friend suggestion"] = "";
$a->strings["You are tagged in a post"] = "";
$a->strings["You are poked/prodded/etc. in a post"] = "";
+$a->strings["Show visual notifications including:"] = "";
+$a->strings["Unseen matrix activity"] = "";
+$a->strings["Unseen channel activity"] = "";
+$a->strings["Unseen private messages"] = "";
+$a->strings["Recommended"] = "";
+$a->strings["Upcoming events"] = "";
+$a->strings["Events today"] = "";
+$a->strings["Upcoming birthdays"] = "";
+$a->strings["Not available in all themes"] = "";
+$a->strings["System (personal) notifications"] = "";
+$a->strings["System info messages"] = "";
+$a->strings["System critical alerts"] = "";
+$a->strings["New connections"] = "";
+$a->strings["System Registrations"] = "";
+$a->strings["Also show new wall posts, private messages and connections under Notices"] = "";
+$a->strings["Notify me of events this many days in advance"] = "";
+$a->strings["Must be greater than 0"] = "";
$a->strings["Advanced Account/Page Type Settings"] = "";
$a->strings["Change the behaviour of this account for special situations"] = "";
$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "";
$a->strings["Miscellaneous Settings"] = "";
$a->strings["Personal menu to display in your channel pages"] = "";
-$a->strings["Remove this channel"] = "";
-$a->strings["Poke/Prod"] = "";
-$a->strings["poke, prod or do other things to somebody"] = "";
-$a->strings["Recipient"] = "";
-$a->strings["Choose what you wish to do to recipient"] = "";
-$a->strings["Make this post private"] = "";
+$a->strings["Remove Channel"] = "";
+$a->strings["Remove this channel."] = "";
+$a->strings["Xchan Lookup"] = "";
+$a->strings["Lookup xchan beginning with (or webbie): "] = "";
+$a->strings["Not found."] = "";
$a->strings["Authorize application connection"] = "";
$a->strings["Return to your app and insert this Securty Code:"] = "";
$a->strings["Please login to continue."] = "";
$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "";
-$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "";
-$a->strings["Welcome %s. Remote authentication successful."] = "";
+$a->strings["Page Title"] = "";
+$a->strings["Channel added."] = "";
+$a->strings["Tag removed"] = "";
+$a->strings["Remove Item Tag"] = "";
+$a->strings["Select a tag to remove: "] = "";
+$a->strings["Remove"] = "";
+$a->strings["Continue"] = "";
+$a->strings["Premium Channel Setup"] = "";
+$a->strings["Enable premium channel connection restrictions"] = "";
+$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "";
+$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "";
+$a->strings["Potential connections will then see the following text before proceeding:"] = "";
+$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "";
+$a->strings["(No specific instructions have been provided by the channel owner.)"] = "";
+$a->strings["Restricted or Premium Channel"] = "";
+$a->strings["Thing updated"] = "";
+$a->strings["Object store: failed"] = "";
+$a->strings["Thing added"] = "";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "";
+$a->strings["Show Thing"] = "";
+$a->strings["item not found."] = "";
+$a->strings["Edit Thing"] = "";
+$a->strings["Select a profile"] = "";
+$a->strings["Post an activity"] = "";
+$a->strings["Only sends to viewers of the applicable profile"] = "";
+$a->strings["Name of thing e.g. something"] = "";
+$a->strings["URL of thing (optional)"] = "";
+$a->strings["URL for photo of thing (optional)"] = "";
+$a->strings["Add Thing to your Profile"] = "";
$a->strings["Item not available."] = "";
$a->strings["Fetching URL returns error: %1\$s"] = "";
-$a->strings["Invalid item."] = "";
-$a->strings["Channel not found."] = "";
-$a->strings["Page not found."] = "";
+$a->strings["\$Projectname"] = "";
+$a->strings["Welcome to %s"] = "";
$a->strings["Image uploaded but image cropping failed."] = "";
$a->strings["Image resize failed."] = "";
$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "";
@@ -992,287 +1122,97 @@ $a->strings["Done Editing"] = "";
$a->strings["Image uploaded successfully."] = "";
$a->strings["Image upload failed."] = "";
$a->strings["Image size reduction [%s] failed."] = "";
-$a->strings["Block Name"] = "";
-$a->strings["Profile not found."] = "";
-$a->strings["Profile deleted."] = "";
-$a->strings["Profile-"] = "";
-$a->strings["New profile created."] = "";
-$a->strings["Profile unavailable to clone."] = "";
-$a->strings["Profile unavailable to export."] = "";
-$a->strings["Profile Name is required."] = "";
-$a->strings["Marital Status"] = "";
-$a->strings["Romantic Partner"] = "";
-$a->strings["Likes"] = "";
-$a->strings["Dislikes"] = "";
-$a->strings["Work/Employment"] = "";
-$a->strings["Religion"] = "";
-$a->strings["Political Views"] = "";
-$a->strings["Gender"] = "";
-$a->strings["Sexual Preference"] = "";
-$a->strings["Homepage"] = "";
-$a->strings["Interests"] = "";
-$a->strings["Address"] = "";
-$a->strings["Location"] = "";
-$a->strings["Profile updated."] = "";
-$a->strings["Hide your contact/friend list from viewers of this profile?"] = "";
-$a->strings["Edit Profile Details"] = "";
-$a->strings["View this profile"] = "";
-$a->strings["Change Profile Photo"] = "";
-$a->strings["Create a new profile using these settings"] = "";
-$a->strings["Clone this profile"] = "";
-$a->strings["Delete this profile"] = "";
-$a->strings["Import profile from file"] = "";
-$a->strings["Export profile to file"] = "";
-$a->strings["Profile Name:"] = "";
-$a->strings["Your Full Name:"] = "";
-$a->strings["Title/Description:"] = "";
-$a->strings["Your Gender:"] = "";
-$a->strings["Birthday (%s):"] = "";
-$a->strings["Street Address:"] = "";
-$a->strings["Locality/City:"] = "";
-$a->strings["Postal/Zip Code:"] = "";
-$a->strings["Country:"] = "";
-$a->strings["Region/State:"] = "";
-$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "";
-$a->strings["Who: (if applicable)"] = "";
-$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "";
-$a->strings["Since [date]:"] = "";
-$a->strings["Homepage URL:"] = "";
-$a->strings["Religious Views:"] = "";
-$a->strings["Keywords:"] = "";
-$a->strings["Example: fishing photography software"] = "";
-$a->strings["Used in directory listings"] = "";
-$a->strings["Tell us about yourself..."] = "";
-$a->strings["Hobbies/Interests"] = "";
-$a->strings["Contact information and Social Networks"] = "";
-$a->strings["My other channels"] = "";
-$a->strings["Musical interests"] = "";
-$a->strings["Books, literature"] = "";
-$a->strings["Television"] = "";
-$a->strings["Film/dance/culture/entertainment"] = "";
-$a->strings["Love/romance"] = "";
-$a->strings["Work/employment"] = "";
-$a->strings["School/education"] = "";
-$a->strings["This is your <strong>public</strong> profile.<br />It <strong>may</strong> be visible to anybody using the internet."] = "";
-$a->strings["Age: "] = "";
-$a->strings["Edit/Manage Profiles"] = "";
-$a->strings["Add profile things"] = "";
-$a->strings["Include desirable objects in your profile"] = "";
-$a->strings["Bookmark added"] = "";
-$a->strings["My Bookmarks"] = "";
-$a->strings["My Connections Bookmarks"] = "";
-$a->strings["Invalid profile identifier."] = "";
-$a->strings["Profile Visibility Editor"] = "";
-$a->strings["Click on a contact to add or remove."] = "";
-$a->strings["Visible To"] = "";
-$a->strings["All Connections"] = "";
+$a->strings["Invalid item."] = "";
+$a->strings["Channel not found."] = "";
+$a->strings["Page not found."] = "";
+$a->strings["Like/Dislike"] = "";
+$a->strings["This action is restricted to members."] = "";
+$a->strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "";
+$a->strings["Invalid request."] = "";
+$a->strings["thing"] = "";
+$a->strings["Channel unavailable."] = "";
+$a->strings["Previous action reversed."] = "";
+$a->strings["%1\$s agrees with %2\$s's %3\$s"] = "";
+$a->strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "";
+$a->strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "";
+$a->strings["%1\$s is attending %2\$s's %3\$s"] = "";
+$a->strings["%1\$s is not attending %2\$s's %3\$s"] = "";
+$a->strings["%1\$s may attend %2\$s's %3\$s"] = "";
+$a->strings["Action completed."] = "";
+$a->strings["Thank you."] = "";
+$a->strings["Event can not end before it has started."] = "";
+$a->strings["Unable to generate preview."] = "";
+$a->strings["Event title and start time are required."] = "";
+$a->strings["Event not found."] = "";
+$a->strings["l, F j"] = "";
+$a->strings["Edit event"] = "";
+$a->strings["Delete event"] = "";
+$a->strings["Create New Event"] = "";
+$a->strings["Previous"] = "";
+$a->strings["Next"] = "";
+$a->strings["Export"] = "";
+$a->strings["Event removed"] = "";
+$a->strings["Failed to remove event"] = "";
+$a->strings["Event details"] = "";
+$a->strings["Starting date and Title are required."] = "";
+$a->strings["Categories (comma-separated list)"] = "";
+$a->strings["Event Starts:"] = "";
+$a->strings["Finish date/time is not known or not relevant"] = "";
+$a->strings["Event Finishes:"] = "";
+$a->strings["Adjust for viewer timezone"] = "";
+$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "";
+$a->strings["Description:"] = "";
+$a->strings["Title:"] = "";
+$a->strings["Share this event"] = "";
+$a->strings["%1\$s is following %2\$s's %3\$s"] = "";
$a->strings["Public Sites"] = "";
-$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "";
+$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "";
+$a->strings["Rate this hub"] = "";
$a->strings["Site URL"] = "";
$a->strings["Access Type"] = "";
$a->strings["Registration Policy"] = "";
-$a->strings["You must be logged in to see this page."] = "";
-$a->strings["Insufficient permissions. Request redirected to profile page."] = "";
-$a->strings["Select a bookmark folder"] = "";
-$a->strings["Save Bookmark"] = "";
-$a->strings["URL of bookmark"] = "";
-$a->strings["Description"] = "";
-$a->strings["Or enter new bookmark folder name"] = "";
-$a->strings["Room not found"] = "";
-$a->strings["Leave Room"] = "";
-$a->strings["Delete This Room"] = "";
-$a->strings["I am away right now"] = "";
-$a->strings["I am online"] = "";
-$a->strings["Bookmark this room"] = "";
-$a->strings["New Chatroom"] = "";
-$a->strings["Chatroom Name"] = "";
-$a->strings["%1\$s's Chatrooms"] = "";
-$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "";
-$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "";
-$a->strings["Passwords do not match."] = "";
-$a->strings["Registration successful. Please check your email for validation instructions."] = "";
-$a->strings["Your registration is pending approval by the site owner."] = "";
-$a->strings["Your registration can not be processed."] = "";
-$a->strings["Registration on this site/hub is by approval only."] = "";
-$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "";
-$a->strings["Terms of Service"] = "";
-$a->strings["I accept the %s for this website"] = "";
-$a->strings["I am over 13 years of age and accept the %s for this website"] = "";
-$a->strings["Registration"] = "";
-$a->strings["Membership on this site is by invitation only."] = "";
-$a->strings["Please enter your invitation code"] = "";
-$a->strings["Your email address"] = "";
-$a->strings["Choose a password"] = "";
-$a->strings["Please re-enter your password"] = "";
-$a->strings["Away"] = "";
-$a->strings["Online"] = "";
-$a->strings["Please login."] = "";
-$a->strings["Red Matrix - Guests: Username: {your email address}, Password: +++"] = "";
-$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "";
-$a->strings["Remove This Channel"] = "";
-$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "";
-$a->strings["Please enter your password for verification:"] = "";
-$a->strings["Remove this channel and all its clones from the network"] = "";
-$a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "";
-$a->strings["Remove Channel"] = "";
-$a->strings["No channel."] = "";
-$a->strings["Common connections"] = "";
-$a->strings["No connections in common."] = "";
-$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "";
-$a->strings["The error message was:"] = "";
-$a->strings["Authentication failed."] = "";
-$a->strings["Remote Authentication"] = "";
-$a->strings["Enter your channel address (e.g. channel@example.com)"] = "";
-$a->strings["Authenticate"] = "";
-$a->strings["Continue"] = "";
-$a->strings["Premium Channel Setup"] = "";
-$a->strings["Enable premium channel connection restrictions"] = "";
-$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "";
-$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "";
-$a->strings["Potential connections will then see the following text before proceeding:"] = "";
-$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "";
-$a->strings["(No specific instructions have been provided by the channel owner.)"] = "";
-$a->strings["Restricted or Premium Channel"] = "";
-$a->strings["No such group"] = "";
-$a->strings["Search Results For:"] = "";
-$a->strings["Collection is empty"] = "";
-$a->strings["Collection: "] = "";
-$a->strings["Connection: "] = "";
-$a->strings["Invalid connection."] = "";
-$a->strings["Could not access contact record."] = "";
-$a->strings["Could not locate selected profile."] = "";
-$a->strings["Connection updated."] = "";
-$a->strings["Failed to update connection record."] = "";
-$a->strings["Blocked"] = "";
-$a->strings["Ignored"] = "";
-$a->strings["Hidden"] = "";
-$a->strings["Archived"] = "";
-$a->strings["All"] = "";
-$a->strings["Suggest new connections"] = "";
-$a->strings["New Connections"] = "";
-$a->strings["Show pending (new) connections"] = "";
-$a->strings["Show all connections"] = "";
-$a->strings["Unblocked"] = "";
-$a->strings["Only show unblocked connections"] = "";
-$a->strings["Only show blocked connections"] = "";
-$a->strings["Only show ignored connections"] = "";
-$a->strings["Only show archived connections"] = "";
-$a->strings["Only show hidden connections"] = "";
-$a->strings["%1\$s [%2\$s]"] = "";
-$a->strings["Edit contact"] = "";
-$a->strings["Search your connections"] = "";
-$a->strings["Finding: "] = "";
+$a->strings["Location"] = "";
+$a->strings["View hub ratings"] = "";
+$a->strings["Rate"] = "";
+$a->strings["View ratings"] = "";
$a->strings["Edit post"] = "";
-$a->strings["is now connected to"] = "";
-$a->strings["Could not access address book record."] = "";
-$a->strings["Refresh failed - channel is currently unavailable."] = "";
-$a->strings["Channel has been unblocked"] = "";
-$a->strings["Channel has been blocked"] = "";
-$a->strings["Unable to set address book parameters."] = "";
-$a->strings["Channel has been unignored"] = "";
-$a->strings["Channel has been ignored"] = "";
-$a->strings["Channel has been unarchived"] = "";
-$a->strings["Channel has been archived"] = "";
-$a->strings["Channel has been unhidden"] = "";
-$a->strings["Channel has been hidden"] = "";
-$a->strings["Channel has been approved"] = "";
-$a->strings["Channel has been unapproved"] = "";
-$a->strings["Connection has been removed."] = "";
-$a->strings["View %s's profile"] = "";
-$a->strings["Refresh Permissions"] = "";
-$a->strings["Fetch updated permissions"] = "";
-$a->strings["Recent Activity"] = "";
-$a->strings["View recent posts and comments"] = "";
-$a->strings["Unblock"] = "";
-$a->strings["Block"] = "";
-$a->strings["Block or Unblock this connection"] = "";
-$a->strings["Unignore"] = "";
-$a->strings["Ignore"] = "";
-$a->strings["Ignore or Unignore this connection"] = "";
-$a->strings["Unarchive"] = "";
-$a->strings["Archive"] = "";
-$a->strings["Archive or Unarchive this connection"] = "";
-$a->strings["Unhide"] = "";
-$a->strings["Hide"] = "";
-$a->strings["Hide or Unhide this connection"] = "";
-$a->strings["Delete this connection"] = "";
-$a->strings["Approve this connection"] = "";
-$a->strings["Accept connection to allow communication"] = "";
-$a->strings["Automatic Permissions Settings"] = "";
-$a->strings["Connections: settings for %s"] = "";
-$a->strings["When receiving a channel introduction, any permissions provided here will be applied to the new connection automatically and the introduction approved. Leave this page if you do not wish to use this feature."] = "";
-$a->strings["Slide to adjust your degree of friendship"] = "";
-$a->strings["inherited"] = "";
-$a->strings["Connection has no individual permissions!"] = "";
-$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "";
-$a->strings["Profile Visibility"] = "";
-$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "";
-$a->strings["Contact Information / Notes"] = "";
-$a->strings["Edit contact notes"] = "";
-$a->strings["Their Settings"] = "";
-$a->strings["My Settings"] = "";
-$a->strings["Clear/Disable Automatic Permissions"] = "";
-$a->strings["Forum Members"] = "";
-$a->strings["Soapbox"] = "";
-$a->strings["Full Sharing (typical social network permissions)"] = "";
-$a->strings["Cautious Sharing "] = "";
-$a->strings["Follow Only"] = "";
-$a->strings["Individual Permissions"] = "";
-$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "";
-$a->strings["Advanced Permissions"] = "";
-$a->strings["Simple Permissions (select one and submit)"] = "";
-$a->strings["Visit %s's profile - %s"] = "";
-$a->strings["Block/Unblock contact"] = "";
-$a->strings["Ignore contact"] = "";
-$a->strings["Repair URL settings"] = "";
-$a->strings["View conversations"] = "";
-$a->strings["Delete contact"] = "";
-$a->strings["Last update:"] = "";
-$a->strings["Update public posts"] = "";
-$a->strings["Update now"] = "";
-$a->strings["Currently blocked"] = "";
-$a->strings["Currently ignored"] = "";
-$a->strings["Currently archived"] = "";
-$a->strings["Currently pending"] = "";
-$a->strings["Hide this contact from others"] = "";
-$a->strings["Replies/likes to your public posts <strong>may</strong> still be visible"] = "";
-$a->strings["No potential page delegates located."] = "";
-$a->strings["Delegate Page Management"] = "";
-$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "";
-$a->strings["Existing Page Managers"] = "";
-$a->strings["Existing Page Delegates"] = "";
-$a->strings["Potential Delegates"] = "";
-$a->strings["Remove"] = "";
-$a->strings["Add"] = "";
-$a->strings["No entries."] = "";
-$a->strings["Public access denied."] = "";
-$a->strings["Gender: "] = "";
-$a->strings["Finding:"] = "";
-$a->strings["next page"] = "";
-$a->strings["previous page"] = "";
-$a->strings["No entries (some entries may be hidden)."] = "";
-$a->strings["Status: "] = "";
-$a->strings["Sexual Preference: "] = "";
-$a->strings["Homepage: "] = "";
-$a->strings["Hometown: "] = "";
-$a->strings["About: "] = "";
-$a->strings["Keywords: "] = "";
-$a->strings["This site is not a directory server"] = "";
-$a->strings["Red Matrix - &quot;The Network&quot;"] = "";
-$a->strings["Welcome to %s"] = "";
-$a->strings["Red Matrix Server - Setup"] = "";
+$a->strings["\$Projectname channel"] = "";
+$a->strings["Collection created."] = "";
+$a->strings["Could not create collection."] = "";
+$a->strings["Collection updated."] = "";
+$a->strings["Create a collection of channels."] = "";
+$a->strings["Collection Name: "] = "";
+$a->strings["Members are visible to other channels"] = "";
+$a->strings["Collection removed."] = "";
+$a->strings["Unable to remove collection."] = "";
+$a->strings["Collection Editor"] = "";
+$a->strings["Members"] = "";
+$a->strings["All Connected Channels"] = "";
+$a->strings["Click on a channel to add or remove."] = "";
+$a->strings["Version %s"] = "";
+$a->strings["Installed plugins/addons/apps:"] = "";
+$a->strings["No installed plugins/addons/apps"] = "";
+$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "";
+$a->strings["Tag: "] = "";
+$a->strings["Last background fetch: "] = "";
+$a->strings["Running at web location"] = "";
+$a->strings["Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more about \$Projectname."] = "";
+$a->strings["Bug reports and issues: please visit"] = "";
+$a->strings["Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot com"] = "";
+$a->strings["Site Administrators"] = "";
+$a->strings["Help:"] = "";
+$a->strings["Not Found"] = "";
+$a->strings["\$Projectname Server - Setup"] = "";
$a->strings["Could not connect to database."] = "";
$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "";
$a->strings["Could not create table."] = "";
$a->strings["Your site database has been installed."] = "";
-$a->strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "";
+$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "";
$a->strings["Please see the file \"install/INSTALL.txt\"."] = "";
$a->strings["System check"] = "";
-$a->strings["Next"] = "";
$a->strings["Check again"] = "";
$a->strings["Database connection"] = "";
-$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "";
+$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "";
$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "";
$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "";
$a->strings["Database Server Name"] = "";
@@ -1282,6 +1222,7 @@ $a->strings["Communication port number - use 0 for default"] = "";
$a->strings["Database Login Name"] = "";
$a->strings["Database Login Password"] = "";
$a->strings["Database Name"] = "";
+$a->strings["Database Type"] = "";
$a->strings["Site administrator email address"] = "";
$a->strings["Your account email address must match this in order to use the web admin panel."] = "";
$a->strings["Website URL"] = "";
@@ -1302,7 +1243,7 @@ $a->strings["Generate encryption keys"] = "";
$a->strings["libCurl PHP module"] = "";
$a->strings["GD graphics PHP module"] = "";
$a->strings["OpenSSL PHP module"] = "";
-$a->strings["mysqli PHP module"] = "";
+$a->strings["mysqli or postgres PHP module"] = "";
$a->strings["mb_string PHP module"] = "";
$a->strings["mcrypt PHP module"] = "";
$a->strings["Apache mod_rewrite module"] = "";
@@ -1312,7 +1253,7 @@ $a->strings["Error: proc_open is required but is either not installed or has bee
$a->strings["Error: libCURL PHP module required but not installed."] = "";
$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "";
$a->strings["Error: openssl PHP module required but not installed."] = "";
-$a->strings["Error: mysqli PHP module required but not installed."] = "";
+$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "";
$a->strings["Error: mb_string PHP module required but not installed."] = "";
$a->strings["Error: mcrypt PHP module required but not installed."] = "";
$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "";
@@ -1334,73 +1275,189 @@ $a->strings["If your certificate is not recognized, members of other sites (who
$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "";
$a->strings["Providers are available that issue free certificates which are browser-valid."] = "";
$a->strings["SSL certificate validation"] = "";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "";
$a->strings["Url rewrite is working"] = "";
$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "";
$a->strings["Errors encountered creating database tables."] = "";
$a->strings["<h1>What next</h1>"] = "";
$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "";
-$a->strings["Item not found"] = "";
-$a->strings["Edit Block"] = "";
-$a->strings["Delete block?"] = "";
-$a->strings["Insert YouTube video"] = "";
-$a->strings["Insert Vorbis [.ogg] video"] = "";
-$a->strings["Insert Vorbis [.ogg] audio"] = "";
-$a->strings["Delete Block"] = "";
-$a->strings["Layout updated."] = "";
-$a->strings["Edit System Page Description"] = "";
-$a->strings["Layout not found."] = "";
-$a->strings["Module Name:"] = "";
-$a->strings["Layout Help"] = "";
-$a->strings["Edit Layout"] = "";
-$a->strings["Delete layout?"] = "";
-$a->strings["Delete Layout"] = "";
-$a->strings["Item is not editable"] = "";
-$a->strings["Delete item?"] = "";
-$a->strings["Edit Webpage"] = "";
-$a->strings["Delete webpage?"] = "";
-$a->strings["Delete Webpage"] = "";
-$a->strings["Version %s"] = "";
-$a->strings["Installed plugins/addons/apps:"] = "";
-$a->strings["No installed plugins/addons/apps"] = "";
-$a->strings["Red"] = "";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "";
-$a->strings["Running at web location"] = "";
-$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Red Matrix."] = "";
-$a->strings["Bug reports and issues: please visit"] = "";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "";
-$a->strings["Site Administrators"] = "";
+$a->strings["No channel."] = "";
+$a->strings["Common connections"] = "";
+$a->strings["No connections in common."] = "";
+$a->strings["This site is not a directory server"] = "";
+$a->strings["Could not access contact record."] = "";
+$a->strings["Could not locate selected profile."] = "";
+$a->strings["Connection updated."] = "";
+$a->strings["Failed to update connection record."] = "";
+$a->strings["Blocked"] = "";
+$a->strings["Ignored"] = "";
+$a->strings["Hidden"] = "";
+$a->strings["Archived"] = "";
+$a->strings["Suggest new connections"] = "";
+$a->strings["New Connections"] = "";
+$a->strings["Show pending (new) connections"] = "";
+$a->strings["All Connections"] = "";
+$a->strings["Show all connections"] = "";
+$a->strings["Unblocked"] = "";
+$a->strings["Only show unblocked connections"] = "";
+$a->strings["Only show blocked connections"] = "";
+$a->strings["Only show ignored connections"] = "";
+$a->strings["Only show archived connections"] = "";
+$a->strings["Only show hidden connections"] = "";
+$a->strings["%1\$s [%2\$s]"] = "";
+$a->strings["Edit connection"] = "";
+$a->strings["Search your connections"] = "";
+$a->strings["Finding: "] = "";
+$a->strings["Block Name"] = "";
+$a->strings["Block Title"] = "";
+$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "";
+$a->strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "";
$a->strings["Page owner information could not be retrieved."] = "";
$a->strings["Album not found."] = "";
$a->strings["Delete Album"] = "";
$a->strings["Delete Photo"] = "";
+$a->strings["Public access denied."] = "";
$a->strings["No photos selected"] = "";
$a->strings["Access to this item is restricted."] = "";
-$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = "";
-$a->strings["You have used %1$.2f Mbytes of photo storage."] = "";
+$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "";
+$a->strings["%1$.2f MB photo storage used."] = "";
$a->strings["Upload Photos"] = "";
-$a->strings["New album name: "] = "";
-$a->strings["or existing album name: "] = "";
-$a->strings["Do not show a status post for this upload"] = "";
+$a->strings["Enter a new album name"] = "";
+$a->strings["or select an existing one (doubleclick)"] = "";
+$a->strings["Create a status post for this upload"] = "";
+$a->strings["Album name could not be decoded"] = "";
$a->strings["Contact Photos"] = "";
-$a->strings["Edit Album"] = "";
$a->strings["Show Newest First"] = "";
$a->strings["Show Oldest First"] = "";
$a->strings["View Photo"] = "";
+$a->strings["Edit Album"] = "";
$a->strings["Permission denied. Access to this item may be restricted."] = "";
$a->strings["Photo not available"] = "";
$a->strings["Use as profile photo"] = "";
+$a->strings["Private Photo"] = "";
$a->strings["View Full Size"] = "";
$a->strings["Edit photo"] = "";
$a->strings["Rotate CW (right)"] = "";
$a->strings["Rotate CCW (left)"] = "";
-$a->strings["New album name"] = "";
$a->strings["Caption"] = "";
$a->strings["Add a Tag"] = "";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = "";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "";
+$a->strings["Flag as adult in album view"] = "";
$a->strings["In This Photo:"] = "";
+$a->strings["Map"] = "";
$a->strings["View Album"] = "";
$a->strings["Recent Photos"] = "";
+$a->strings["Profile Match"] = "";
+$a->strings["No keywords to match. Please add keywords to your default profile."] = "";
+$a->strings["is interested in:"] = "";
+$a->strings["No matches"] = "";
+$a->strings["Away"] = "";
+$a->strings["Online"] = "";
+$a->strings["Select a bookmark folder"] = "";
+$a->strings["Save Bookmark"] = "";
+$a->strings["URL of bookmark"] = "";
+$a->strings["Description"] = "";
+$a->strings["Or enter new bookmark folder name"] = "";
+$a->strings["No more system notifications."] = "";
+$a->strings["System Notifications"] = "";
+$a->strings["network"] = "";
+$a->strings["RSS"] = "";
+$a->strings["Layout updated."] = "";
+$a->strings["Edit System Page Description"] = "";
+$a->strings["Layout not found."] = "";
+$a->strings["Module Name:"] = "";
+$a->strings["Layout Help"] = "";
+$a->strings["- select -"] = "";
+$a->strings["Your service plan only allows %d channels."] = "";
+$a->strings["Nothing to import."] = "";
+$a->strings["Unable to download data from old server"] = "";
+$a->strings["Imported file is empty."] = "";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "";
+$a->strings["Unable to create a unique channel address. Import failed."] = "";
+$a->strings["Channel clone failed. Import failed."] = "";
+$a->strings["Cloned channel not found. Import failed."] = "";
+$a->strings["Import completed."] = "";
+$a->strings["You must be logged in to use this feature."] = "";
+$a->strings["Import Channel"] = "";
+$a->strings["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. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "";
+$a->strings["File to Upload"] = "";
+$a->strings["Or provide the old server/hub details"] = "";
+$a->strings["Your old identity address (xyz@example.com)"] = "";
+$a->strings["Your old login email address"] = "";
+$a->strings["Your old login password"] = "";
+$a->strings["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 able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "";
+$a->strings["Make this hub my primary location"] = "";
+$a->strings["Import existing posts if possible"] = "";
+$a->strings["Item not found"] = "";
+$a->strings["Edit Layout"] = "";
+$a->strings["Delete layout?"] = "";
+$a->strings["Insert YouTube video"] = "";
+$a->strings["Insert Vorbis [.ogg] video"] = "";
+$a->strings["Insert Vorbis [.ogg] audio"] = "";
+$a->strings["Layout Description (Optional)"] = "";
+$a->strings["Layout Name"] = "";
+$a->strings["You must be logged in to see this page."] = "";
+$a->strings["Room not found"] = "";
+$a->strings["Leave Room"] = "";
+$a->strings["Delete This Room"] = "";
+$a->strings["I am away right now"] = "";
+$a->strings["I am online"] = "";
+$a->strings["Bookmark this room"] = "";
+$a->strings["New Chatroom"] = "";
+$a->strings["Chatroom Name"] = "";
+$a->strings["%1\$s's Chatrooms"] = "";
+$a->strings["Delete webpage?"] = "";
+$a->strings["Page link title"] = "";
+$a->strings["Edit Webpage"] = "";
+$a->strings["This directory server requires an access token"] = "";
+$a->strings["No valid account found."] = "";
+$a->strings["Password reset request issued. Check your email."] = "";
+$a->strings["Site Member (%s)"] = "";
+$a->strings["Password reset requested at %s"] = "";
+$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "";
+$a->strings["Password Reset"] = "";
+$a->strings["Your password has been reset as requested."] = "";
+$a->strings["Your new password is"] = "";
+$a->strings["Save or copy your new password - and then"] = "";
+$a->strings["click here to login"] = "";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "";
+$a->strings["Your password has changed at %s"] = "";
+$a->strings["Forgot your Password?"] = "";
+$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "";
+$a->strings["Email Address"] = "";
+$a->strings["Reset"] = "";
+$a->strings["Website:"] = "";
+$a->strings["Remote Channel [%s] (not yet known on this site)"] = "";
+$a->strings["Rating (this information is public)"] = "";
+$a->strings["Optionally explain your rating (this information is public)"] = "";
+$a->strings["Item is not editable"] = "";
+$a->strings["Delete item?"] = "";
+$a->strings["Total invitation limit exceeded."] = "";
+$a->strings["%s : Not a valid email address."] = "";
+$a->strings["Please join us on Red"] = "";
+$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "";
+$a->strings["%s : Message delivery failed."] = "";
+$a->strings["%d message sent."] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["You have no more invitations available"] = "";
+$a->strings["Send invitations"] = "";
+$a->strings["Enter email addresses, one per line:"] = "";
+$a->strings["Your message:"] = "";
+$a->strings["Please join my community on \$Projectname."] = "";
+$a->strings["You will need to supply this invitation code: "] = "";
+$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "";
+$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "";
+$a->strings["or visit "] = "";
+$a->strings["3. Click [Connect]"] = "";
+$a->strings["Location not found."] = "";
+$a->strings["Primary location cannot be removed."] = "";
+$a->strings["No locations found."] = "";
+$a->strings["Manage Channel Locations"] = "";
+$a->strings["Location (address)"] = "";
+$a->strings["Primary Location"] = "";
+$a->strings["Drop location"] = "";
$a->strings["Failed to create source. No channel selected."] = "";
$a->strings["Source created."] = "";
$a->strings["Source updated."] = "";
@@ -1416,24 +1473,30 @@ $a->strings["Edit Source"] = "";
$a->strings["Delete Source"] = "";
$a->strings["Source removed"] = "";
$a->strings["Unable to remove source."] = "";
-$a->strings["- select -"] = "";
-$a->strings["Event title and start time are required."] = "";
-$a->strings["Event not found."] = "";
-$a->strings["l, F j"] = "";
-$a->strings["Edit event"] = "";
-$a->strings["Create New Event"] = "";
-$a->strings["Previous"] = "";
-$a->strings["hour:minute"] = "";
-$a->strings["Event details"] = "";
-$a->strings["Format is %s %s. Starting date and Title are required."] = "";
-$a->strings["Event Starts:"] = "";
-$a->strings["Required"] = "";
-$a->strings["Finish date/time is not known or not relevant"] = "";
-$a->strings["Event Finishes:"] = "";
-$a->strings["Adjust for viewer timezone"] = "";
-$a->strings["Description:"] = "";
-$a->strings["Title:"] = "";
-$a->strings["Share this event"] = "";
+$a->strings["Unable to update menu."] = "";
+$a->strings["Unable to create menu."] = "";
+$a->strings["Menu Name"] = "";
+$a->strings["Unique name (not visible on webpage) - required"] = "";
+$a->strings["Menu Title"] = "";
+$a->strings["Visible on webpage - leave empty for no title"] = "";
+$a->strings["Allow Bookmarks"] = "";
+$a->strings["Menu may be used to store saved bookmarks"] = "";
+$a->strings["Submit and proceed"] = "";
+$a->strings["Drop"] = "";
+$a->strings["Bookmarks allowed"] = "";
+$a->strings["Delete this menu"] = "";
+$a->strings["Edit menu contents"] = "";
+$a->strings["Edit this menu"] = "";
+$a->strings["Menu could not be deleted."] = "";
+$a->strings["Menu not found."] = "";
+$a->strings["Edit Menu"] = "";
+$a->strings["Add or remove entries to this menu"] = "";
+$a->strings["Menu name"] = "";
+$a->strings["Must be unique, only seen by you"] = "";
+$a->strings["Menu title"] = "";
+$a->strings["Menu title as seen by others"] = "";
+$a->strings["Allow bookmarks"] = "";
+$a->strings["Modify"] = "";
$a->strings["Permission Denied."] = "";
$a->strings["File not found."] = "";
$a->strings["Edit file permissions"] = "";
@@ -1442,56 +1505,158 @@ $a->strings["Include all files and sub folders"] = "";
$a->strings["Return to file list"] = "";
$a->strings["Copy/paste this code to attach file to a post"] = "";
$a->strings["Copy/paste this URL to link file from a web page"] = "";
-$a->strings["Channel added."] = "";
-$a->strings["%1\$s is following %2\$s's %3\$s"] = "";
+$a->strings["Share this file"] = "";
+$a->strings["Show URL to this file"] = "";
+$a->strings["Notify your contacts about this file"] = "";
$a->strings["Contact not found."] = "";
$a->strings["Friend suggestion sent."] = "";
$a->strings["Suggest Friends"] = "";
$a->strings["Suggest a friend for %s"] = "";
-$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "";
-$a->strings["Collection created."] = "";
-$a->strings["Could not create collection."] = "";
-$a->strings["Collection updated."] = "";
-$a->strings["Create a collection of channels."] = "";
-$a->strings["Collection Name: "] = "";
-$a->strings["Members are visible to other channels"] = "";
-$a->strings["Collection removed."] = "";
-$a->strings["Unable to remove collection."] = "";
-$a->strings["Collection Editor"] = "";
-$a->strings["Members"] = "";
-$a->strings["All Connected Channels"] = "";
-$a->strings["Click on a channel to add or remove."] = "";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "";
-$a->strings["Help:"] = "";
-$a->strings["Not Found"] = "";
-$a->strings["Tag removed"] = "";
-$a->strings["Remove Item Tag"] = "";
-$a->strings["Select a tag to remove: "] = "";
+$a->strings["Hub not found."] = "";
+$a->strings["Poke/Prod"] = "";
+$a->strings["poke, prod or do other things to somebody"] = "";
+$a->strings["Recipient"] = "";
+$a->strings["Choose what you wish to do to recipient"] = "";
+$a->strings["Make this post private"] = "";
+$a->strings["Invalid profile identifier."] = "";
+$a->strings["Profile Visibility Editor"] = "";
+$a->strings["Click on a contact to add or remove."] = "";
+$a->strings["Visible To"] = "";
+$a->strings["webpage"] = "";
+$a->strings["block"] = "";
+$a->strings["layout"] = "";
+$a->strings["%s element installed"] = "";
+$a->strings["Profile not found."] = "";
+$a->strings["Profile deleted."] = "";
+$a->strings["Profile-"] = "";
+$a->strings["New profile created."] = "";
+$a->strings["Profile unavailable to clone."] = "";
+$a->strings["Profile unavailable to export."] = "";
+$a->strings["Profile Name is required."] = "";
+$a->strings["Marital Status"] = "";
+$a->strings["Romantic Partner"] = "";
+$a->strings["Likes"] = "";
+$a->strings["Dislikes"] = "";
+$a->strings["Work/Employment"] = "";
+$a->strings["Religion"] = "";
+$a->strings["Political Views"] = "";
+$a->strings["Gender"] = "";
+$a->strings["Sexual Preference"] = "";
+$a->strings["Homepage"] = "";
+$a->strings["Interests"] = "";
+$a->strings["Address"] = "";
+$a->strings["Profile updated."] = "";
+$a->strings["Hide your contact/friend list from viewers of this profile?"] = "";
+$a->strings["Edit Profile Details"] = "";
+$a->strings["View this profile"] = "";
+$a->strings["Change Profile Photo"] = "";
+$a->strings["Create a new profile using these settings"] = "";
+$a->strings["Clone this profile"] = "";
+$a->strings["Delete this profile"] = "";
+$a->strings["Import profile from file"] = "";
+$a->strings["Export profile to file"] = "";
+$a->strings["Profile Name:"] = "";
+$a->strings["Your Full Name:"] = "";
+$a->strings["Title/Description:"] = "";
+$a->strings["Your Gender:"] = "";
+$a->strings["Birthday :"] = "";
+$a->strings["Street Address:"] = "";
+$a->strings["Locality/City:"] = "";
+$a->strings["Postal/Zip Code:"] = "";
+$a->strings["Country:"] = "";
+$a->strings["Region/State:"] = "";
+$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "";
+$a->strings["Who: (if applicable)"] = "";
+$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "";
+$a->strings["Since [date]:"] = "";
+$a->strings["Homepage URL:"] = "";
+$a->strings["Religious Views:"] = "";
+$a->strings["Keywords:"] = "";
+$a->strings["Example: fishing photography software"] = "";
+$a->strings["Used in directory listings"] = "";
+$a->strings["Tell us about yourself..."] = "";
+$a->strings["Hobbies/Interests"] = "";
+$a->strings["Contact information and Social Networks"] = "";
+$a->strings["My other channels"] = "";
+$a->strings["Musical interests"] = "";
+$a->strings["Books, literature"] = "";
+$a->strings["Television"] = "";
+$a->strings["Film/dance/culture/entertainment"] = "";
+$a->strings["Love/romance"] = "";
+$a->strings["Work/employment"] = "";
+$a->strings["School/education"] = "";
+$a->strings["This is your default profile."] = "";
+$a->strings["Age: "] = "";
+$a->strings["Edit/Manage Profiles"] = "";
+$a->strings["Add profile things"] = "";
+$a->strings["Include desirable objects in your profile"] = "";
+$a->strings["No ratings"] = "";
+$a->strings["Ratings"] = "";
+$a->strings["Rating: "] = "";
+$a->strings["Website: "] = "";
+$a->strings["Description: "] = "";
+$a->strings["Source of Item"] = "";
+$a->strings["OpenID protocol error. No ID returned."] = "";
+$a->strings["Welcome %s. Remote authentication successful."] = "";
+$a->strings["%d rating"] = array(
+ 0 => "",
+ 1 => "",
+);
+$a->strings["Gender: "] = "";
+$a->strings["Status: "] = "";
+$a->strings["Homepage: "] = "";
+$a->strings["Hometown: "] = "";
+$a->strings["About: "] = "";
+$a->strings["Public Forum:"] = "";
+$a->strings["Keywords: "] = "";
+$a->strings["Common connections: %s"] = "";
+$a->strings["Finding:"] = "";
+$a->strings["next page"] = "";
+$a->strings["previous page"] = "";
+$a->strings["No entries (some entries may be hidden)."] = "";
+$a->strings["Export Channel"] = "";
+$a->strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "";
+$a->strings["Export Content"] = "";
+$a->strings["Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "";
+$a->strings["No connections."] = "";
+$a->strings["Visit %s's profile [%s]"] = "";
+$a->strings["invalid target signature"] = "";
$a->strings["Theme settings updated."] = "";
$a->strings["Site"] = "";
$a->strings["Accounts"] = "";
$a->strings["Channels"] = "";
$a->strings["Plugins"] = "";
$a->strings["Themes"] = "";
-$a->strings["Server"] = "";
+$a->strings["Inspect queue"] = "";
+$a->strings["Profile Config"] = "";
$a->strings["DB updates"] = "";
$a->strings["Logs"] = "";
$a->strings["Plugin Features"] = "";
$a->strings["User registrations waiting for confirmation"] = "";
+$a->strings["# Accounts"] = "";
+$a->strings["# blocked accounts"] = "";
+$a->strings["# expired accounts"] = "";
+$a->strings["# expiring accounts"] = "";
+$a->strings["# Channels"] = "";
+$a->strings["# primary"] = "";
+$a->strings["# clones"] = "";
$a->strings["Message queues"] = "";
$a->strings["Administration"] = "";
$a->strings["Summary"] = "";
-$a->strings["Registered users"] = "";
+$a->strings["Registered accounts"] = "";
$a->strings["Pending registrations"] = "";
-$a->strings["Version"] = "";
+$a->strings["Registered channels"] = "";
$a->strings["Active plugins"] = "";
+$a->strings["Version"] = "";
$a->strings["Site settings updated."] = "";
-$a->strings["No special theme for accessibility"] = "";
+$a->strings["experimental"] = "";
+$a->strings["unsupported"] = "";
$a->strings["Yes - with approval"] = "";
$a->strings["My site is not a public server"] = "";
$a->strings["My site has paid access only"] = "";
$a->strings["My site has free access only"] = "";
$a->strings["My site offers free accounts with optional paid upgrades"] = "";
+$a->strings["Registration"] = "";
$a->strings["File upload"] = "";
$a->strings["Policies"] = "";
$a->strings["Site name"] = "";
@@ -1503,10 +1668,10 @@ $a->strings["System theme"] = "";
$a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "";
$a->strings["Mobile system theme"] = "";
$a->strings["Theme for mobile devices"] = "";
-$a->strings["Accessibility system theme"] = "";
-$a->strings["Accessibility theme"] = "";
-$a->strings["Channel to use for this website's static pages"] = "";
-$a->strings["Site Channel"] = "";
+$a->strings["Enable Diaspora Protocol"] = "";
+$a->strings["Communicate with Diaspora and Friendica - experimental"] = "";
+$a->strings["Allow Feeds as Connections"] = "";
+$a->strings["(Heavy system resource usage)"] = "";
$a->strings["Maximum image size"] = "";
$a->strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "";
$a->strings["Does this site allow new member registration?"] = "";
@@ -1519,8 +1684,12 @@ $a->strings["Allowed friend domains"] = "";
$a->strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "";
$a->strings["Allowed email domains"] = "";
$a->strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "";
+$a->strings["Not allowed email domains"] = "";
+$a->strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "";
$a->strings["Block public"] = "";
$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "";
+$a->strings["Verify Email Addresses"] = "";
+$a->strings["Check to verify email addresses used in account registration (recommended)."] = "";
$a->strings["Force publish"] = "";
$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "";
$a->strings["Disable discovery tab"] = "";
@@ -1537,11 +1706,14 @@ $a->strings["Poll interval"] = "";
$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "";
$a->strings["Maximum Load Average"] = "";
$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "";
+$a->strings["Expiration period in days for imported (matrix/network) content"] = "";
+$a->strings["0 for no expiration of imported content"] = "";
$a->strings["No server found"] = "";
$a->strings["ID"] = "";
$a->strings["for channel"] = "";
$a->strings["on server"] = "";
$a->strings["Status"] = "";
+$a->strings["Server"] = "";
$a->strings["Update has been marked successful"] = "";
$a->strings["Executing %s failed. Check system logs."] = "";
$a->strings["Update %s was successfully applied."] = "";
@@ -1551,6 +1723,13 @@ $a->strings["No failed updates."] = "";
$a->strings["Failed Updates"] = "";
$a->strings["Mark success (if update was manually applied)"] = "";
$a->strings["Attempt to execute this update step automatically"] = "";
+$a->strings["Queue Statistics"] = "";
+$a->strings["Total Entries"] = "";
+$a->strings["Priority"] = "";
+$a->strings["Destination URL"] = "";
+$a->strings["Mark hub permanently offline"] = "";
+$a->strings["Empty queue for this hub"] = "";
+$a->strings["Last known contact"] = "";
$a->strings["%s user blocked/unblocked"] = array(
0 => "",
1 => "",
@@ -1560,9 +1739,8 @@ $a->strings["%s user deleted"] = array(
1 => "",
);
$a->strings["Account not found"] = "";
-$a->strings["User '%s' deleted"] = "";
-$a->strings["User '%s' unblocked"] = "";
$a->strings["User '%s' blocked"] = "";
+$a->strings["User '%s' unblocked"] = "";
$a->strings["Users"] = "";
$a->strings["select all"] = "";
$a->strings["User registrations waiting for confirm"] = "";
@@ -1570,6 +1748,8 @@ $a->strings["Request date"] = "";
$a->strings["No registrations."] = "";
$a->strings["Approve"] = "";
$a->strings["Deny"] = "";
+$a->strings["Block"] = "";
+$a->strings["Unblock"] = "";
$a->strings["Register date"] = "";
$a->strings["Last login"] = "";
$a->strings["Expires"] = "";
@@ -1610,166 +1790,221 @@ $a->strings["Debugging"] = "";
$a->strings["Log file"] = "";
$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "";
$a->strings["Log level"] = "";
-$a->strings["Thing updated"] = "";
-$a->strings["Object store: failed"] = "";
-$a->strings["Thing added"] = "";
-$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "";
-$a->strings["Show Thing"] = "";
-$a->strings["item not found."] = "";
-$a->strings["Edit Thing"] = "";
-$a->strings["Select a profile"] = "";
-$a->strings["Post an activity"] = "";
-$a->strings["Only sends to viewers of the applicable profile"] = "";
-$a->strings["Name of thing e.g. something"] = "";
-$a->strings["URL of thing (optional)"] = "";
-$a->strings["URL for photo of thing (optional)"] = "";
-$a->strings["Add Thing to your Profile"] = "";
-$a->strings["Nothing to import."] = "";
-$a->strings["Unable to download data from old server"] = "";
-$a->strings["Imported file is empty."] = "";
-$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "";
-$a->strings["Channel clone failed. Import failed."] = "";
-$a->strings["Cloned channel not found. Import failed."] = "";
-$a->strings["Import completed."] = "";
-$a->strings["You must be logged in to use this feature."] = "";
-$a->strings["Import Channel"] = "";
-$a->strings["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. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "";
-$a->strings["File to Upload"] = "";
-$a->strings["Or provide the old server/hub details"] = "";
-$a->strings["Your old identity address (xyz@example.com)"] = "";
-$a->strings["Your old login email address"] = "";
-$a->strings["Your old login password"] = "";
-$a->strings["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 able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "";
-$a->strings["Make this hub my primary location"] = "";
-$a->strings["Total invitation limit exceeded."] = "";
-$a->strings["%s : Not a valid email address."] = "";
-$a->strings["Please join us on Red"] = "";
-$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "";
-$a->strings["%s : Message delivery failed."] = "";
-$a->strings["%d message sent."] = array(
- 0 => "",
- 1 => "",
-);
-$a->strings["You have no more invitations available"] = "";
-$a->strings["Send invitations"] = "";
-$a->strings["Enter email addresses, one per line:"] = "";
-$a->strings["Your message:"] = "";
-$a->strings["You are cordially invited to join me and some other close friends on the Red Matrix - a revolutionary new decentralized communication and information tool."] = "";
-$a->strings["You will need to supply this invitation code: \$invite_code"] = "";
-$a->strings["Please visit my channel at"] = "";
-$a->strings["Once you have registered (on ANY Red Matrix site - they are all inter-connected), please connect with my Red Matrix channel address:"] = "";
-$a->strings["Click the [Register] link on the following page to join."] = "";
-$a->strings["For more information about the Red Matrix Project and why it has the potential to change the internet as we know it, please visit http://getzot.com"] = "";
+$a->strings["New Profile Field"] = "";
+$a->strings["Field nickname"] = "";
+$a->strings["System name of field"] = "";
+$a->strings["Input type"] = "";
+$a->strings["Field Name"] = "";
+$a->strings["Label on profile pages"] = "";
+$a->strings["Help text"] = "";
+$a->strings["Additional info (optional)"] = "";
+$a->strings["Field definition not found"] = "";
+$a->strings["Edit Profile Field"] = "";
+$a->strings["Unable to find your hub."] = "";
+$a->strings["Post successful."] = "";
+$a->strings["Edit Block"] = "";
+$a->strings["Delete block?"] = "";
+$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "";
+$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "";
+$a->strings["Passwords do not match."] = "";
+$a->strings["Registration successful. Please check your email for validation instructions."] = "";
+$a->strings["Your registration is pending approval by the site owner."] = "";
+$a->strings["Your registration can not be processed."] = "";
+$a->strings["Registration on this site/hub is by approval only."] = "";
+$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "";
+$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "";
+$a->strings["Terms of Service"] = "";
+$a->strings["I accept the %s for this website"] = "";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "";
+$a->strings["Membership on this site is by invitation only."] = "";
+$a->strings["Please enter your invitation code"] = "";
+$a->strings["Your email address"] = "";
+$a->strings["Choose a password"] = "";
+$a->strings["Please re-enter your password"] = "";
+$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "";
+$a->strings["Remove This Account"] = "";
+$a->strings["WARNING: "] = "";
+$a->strings["This account and all its channels will be completely removed from the network. "] = "";
+$a->strings["This action is permanent and can not be undone!"] = "";
+$a->strings["Please enter your password for verification:"] = "";
+$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "";
+$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "";
$a->strings["Unable to locate original post."] = "";
$a->strings["Empty post discarded."] = "";
$a->strings["Executable content type not permitted to this channel."] = "";
$a->strings["System error. Post not saved."] = "";
+$a->strings["Unable to obtain post information from database."] = "";
$a->strings["You have reached your limit of %1$.0f top level posts."] = "";
$a->strings["You have reached your limit of %1$.0f webpages."] = "";
$a->strings["[Embedded content - reload page to view]"] = "";
-$a->strings["Help with this feature"] = "";
-$a->strings["Layout Name"] = "";
-$a->strings["Like/Dislike"] = "";
-$a->strings["This action is restricted to members."] = "";
-$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "";
-$a->strings["Invalid request."] = "";
-$a->strings["thing"] = "";
-$a->strings["Channel unavailable."] = "";
-$a->strings["Previous action reversed."] = "";
-$a->strings["Action completed."] = "";
-$a->strings["Thank you."] = "";
$a->strings["Remote privacy information not available."] = "";
$a->strings["Visible to:"] = "";
-$a->strings["No connections."] = "";
-$a->strings["Visit %s's profile [%s]"] = "";
-$a->strings["View Connnections"] = "";
-$a->strings["No valid account found."] = "";
-$a->strings["Password reset request issued. Check your email."] = "";
-$a->strings["Site Member (%s)"] = "";
-$a->strings["Password reset requested at %s"] = "";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "";
-$a->strings["Password Reset"] = "";
-$a->strings["Your password has been reset as requested."] = "";
-$a->strings["Your new password is"] = "";
-$a->strings["Save or copy your new password - and then"] = "";
-$a->strings["click here to login"] = "";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "";
-$a->strings["Your password has changed at %s"] = "";
-$a->strings["Forgot your Password?"] = "";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "";
-$a->strings["Email Address"] = "";
-$a->strings["Reset"] = "";
-$a->strings["Hub not found."] = "";
+$a->strings["Comanche page description language help"] = "";
+$a->strings["Layout Description"] = "";
+$a->strings["Download PDL file"] = "";
+$a->strings["First Name"] = "";
+$a->strings["Last Name"] = "";
+$a->strings["Nickname"] = "";
+$a->strings["Full Name"] = "";
+$a->strings["Profile Photo 16px"] = "";
+$a->strings["Profile Photo 32px"] = "";
+$a->strings["Profile Photo 48px"] = "";
+$a->strings["Profile Photo 64px"] = "";
+$a->strings["Profile Photo 80px"] = "";
+$a->strings["Profile Photo 128px"] = "";
+$a->strings["Timezone"] = "";
+$a->strings["Homepage URL"] = "";
+$a->strings["Birth Year"] = "";
+$a->strings["Birth Month"] = "";
+$a->strings["Birth Day"] = "";
+$a->strings["Birthdate"] = "";
+$a->strings["Conversation removed."] = "";
+$a->strings["No messages."] = "";
+$a->strings["Delete conversation"] = "";
+$a->strings["D, d M Y - g:i A"] = "";
+$a->strings["Unable to create element."] = "";
+$a->strings["Unable to update menu element."] = "";
+$a->strings["Unable to add menu element."] = "";
+$a->strings["Menu Item Permissions"] = "";
+$a->strings["Link Name"] = "";
+$a->strings["Link or Submenu Target"] = "";
+$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "";
+$a->strings["Use magic-auth if available"] = "";
+$a->strings["Open link in new window"] = "";
+$a->strings["Order in list"] = "";
+$a->strings["Higher numbers will sink to bottom of listing"] = "";
+$a->strings["Submit and finish"] = "";
+$a->strings["Submit and continue"] = "";
+$a->strings["Menu:"] = "";
+$a->strings["Link Target"] = "";
+$a->strings["Edit menu"] = "";
+$a->strings["Edit element"] = "";
+$a->strings["Drop element"] = "";
+$a->strings["New element"] = "";
+$a->strings["Edit this menu container"] = "";
+$a->strings["Add menu element"] = "";
+$a->strings["Delete this menu item"] = "";
+$a->strings["Edit this menu item"] = "";
+$a->strings["Menu item not found."] = "";
+$a->strings["Menu item deleted."] = "";
+$a->strings["Menu item could not be deleted."] = "";
+$a->strings["Edit Menu Element"] = "";
+$a->strings["Link text"] = "";
+$a->strings["Set your current mood and tell your friends"] = "";
$a->strings["Total votes"] = "";
$a->strings["Average Rating"] = "";
+$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "";
+$a->strings["Remove This Channel"] = "";
+$a->strings["This channel will be completely removed from the network. "] = "";
+$a->strings["Remove this channel and all its clones from the network"] = "";
+$a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "";
+$a->strings["is now connected to"] = "";
+$a->strings["Could not access address book record."] = "";
+$a->strings["Refresh failed - channel is currently unavailable."] = "";
+$a->strings["Channel has been unblocked"] = "";
+$a->strings["Channel has been blocked"] = "";
+$a->strings["Unable to set address book parameters."] = "";
+$a->strings["Channel has been unignored"] = "";
+$a->strings["Channel has been ignored"] = "";
+$a->strings["Channel has been unarchived"] = "";
+$a->strings["Channel has been archived"] = "";
+$a->strings["Channel has been unhidden"] = "";
+$a->strings["Channel has been hidden"] = "";
+$a->strings["Channel has been approved"] = "";
+$a->strings["Channel has been unapproved"] = "";
+$a->strings["Connection has been removed."] = "";
+$a->strings["View %s's profile"] = "";
+$a->strings["Refresh Permissions"] = "";
+$a->strings["Fetch updated permissions"] = "";
+$a->strings["Recent Activity"] = "";
+$a->strings["View recent posts and comments"] = "";
+$a->strings["Block (or Unblock) all communications with this connection"] = "";
+$a->strings["Unignore"] = "";
+$a->strings["Ignore"] = "";
+$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "";
+$a->strings["Unarchive"] = "";
+$a->strings["Archive"] = "";
+$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "";
+$a->strings["Unhide"] = "";
+$a->strings["Hide"] = "";
+$a->strings["Hide or Unhide this connection from your other connections"] = "";
+$a->strings["Delete this connection"] = "";
+$a->strings["Approve this connection"] = "";
+$a->strings["Accept connection to allow communication"] = "";
+$a->strings["Connections: settings for %s"] = "";
+$a->strings["Apply these permissions automatically"] = "";
+$a->strings["Apply the permissions indicated on this page to all new connections."] = "";
+$a->strings["Slide to adjust your degree of friendship"] = "";
+$a->strings["Default permissions for your channel type have (just) been applied. They have not yet been submitted. Please review the permissions on this page and make any desired changes at this time. This new connection may <em>not</em> be able to communicate with you until you submit this page, which will install and apply the selected permissions."] = "";
+$a->strings["inherited"] = "";
+$a->strings["Connection has no individual permissions!"] = "";
+$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "";
+$a->strings["Profile Visibility"] = "";
+$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "";
+$a->strings["Contact Information / Notes"] = "";
+$a->strings["Edit contact notes"] = "";
+$a->strings["Their Settings"] = "";
+$a->strings["My Settings"] = "";
+$a->strings["Default permissions for this channel type have (just) been applied. They have <em>not</em> been saved and there are currently no stored default permissions. Please review/edit the applied settings and click [Submit] to finalize."] = "";
+$a->strings["Clear/Disable Automatic Permissions"] = "";
+$a->strings["Forum Members"] = "";
+$a->strings["Soapbox"] = "";
+$a->strings["Full Sharing (typical social network permissions)"] = "";
+$a->strings["Cautious Sharing "] = "";
+$a->strings["Follow Only"] = "";
+$a->strings["Individual Permissions"] = "";
+$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "";
+$a->strings["Advanced Permissions"] = "";
+$a->strings["Simple Permissions (select one and submit)"] = "";
+$a->strings["Visit %s's profile - %s"] = "";
+$a->strings["Block/Unblock contact"] = "";
+$a->strings["Ignore contact"] = "";
+$a->strings["Repair URL settings"] = "";
+$a->strings["View conversations"] = "";
+$a->strings["Delete contact"] = "";
+$a->strings["Last update:"] = "";
+$a->strings["Update public posts"] = "";
+$a->strings["Update now"] = "";
+$a->strings["Currently blocked"] = "";
+$a->strings["Currently ignored"] = "";
+$a->strings["Currently archived"] = "";
+$a->strings["Currently pending"] = "";
+$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "";
+$a->strings["The error message was:"] = "";
+$a->strings["Authentication failed."] = "";
+$a->strings["Remote Authentication"] = "";
+$a->strings["Enter your channel address (e.g. channel@example.com)"] = "";
+$a->strings["Authenticate"] = "";
$a->strings["Unable to lookup recipient."] = "";
$a->strings["Unable to communicate with requested channel."] = "";
$a->strings["Cannot verify requested channel."] = "";
$a->strings["Selected channel has private message restrictions. Send failed."] = "";
-$a->strings["Messages"] = "";
$a->strings["Message deleted."] = "";
$a->strings["Message recalled."] = "";
$a->strings["Send Private Message"] = "";
$a->strings["To:"] = "";
$a->strings["Subject:"] = "";
+$a->strings["Send"] = "";
$a->strings["Message not found."] = "";
$a->strings["Delete message"] = "";
$a->strings["Recall message"] = "";
$a->strings["Message has been recalled."] = "";
$a->strings["Private Conversation"] = "";
-$a->strings["Delete conversation"] = "";
$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "";
$a->strings["Send Reply"] = "";
-$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "";
-$a->strings["Create a new channel"] = "";
-$a->strings["Channel Manager"] = "";
-$a->strings["Current Channel"] = "";
-$a->strings["Attach to one of your channels by selecting it."] = "";
-$a->strings["Default Channel"] = "";
-$a->strings["Make Default"] = "";
-$a->strings["Wall Photos"] = "";
-$a->strings["Profile Match"] = "";
-$a->strings["No keywords to match. Please add keywords to your default profile."] = "";
-$a->strings["is interested in:"] = "";
-$a->strings["No matches"] = "";
-$a->strings["Menu updated."] = "";
-$a->strings["Unable to update menu."] = "";
-$a->strings["Menu created."] = "";
-$a->strings["Unable to create menu."] = "";
-$a->strings["Manage Menus"] = "";
-$a->strings["Drop"] = "";
-$a->strings["Create a new menu"] = "";
-$a->strings["Delete this menu"] = "";
-$a->strings["Edit menu contents"] = "";
-$a->strings["Edit this menu"] = "";
-$a->strings["New Menu"] = "";
-$a->strings["Menu name"] = "";
-$a->strings["Must be unique, only seen by you"] = "";
-$a->strings["Menu title"] = "";
-$a->strings["Menu title as seen by others"] = "";
-$a->strings["Allow bookmarks"] = "";
-$a->strings["Menu may be used to store saved bookmarks"] = "";
-$a->strings["Menu deleted."] = "";
-$a->strings["Menu could not be deleted."] = "";
-$a->strings["Edit Menu"] = "";
-$a->strings["Add or remove entries to this menu"] = "";
-$a->strings["Conversation removed."] = "";
-$a->strings["No messages."] = "";
-$a->strings["D, d M Y - g:i A"] = "";
+$a->strings["Invalid request identifier."] = "";
+$a->strings["Discard"] = "";
+$a->strings["Please login."] = "";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "";
$a->strings["Add a Channel"] = "";
$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "";
$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "";
$a->strings["Choose a short nickname"] = "";
$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "";
$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "";
-$a->strings["Invalid request identifier."] = "";
-$a->strings["Discard"] = "";
-$a->strings["No more system notifications."] = "";
-$a->strings["System Notifications"] = "";
-$a->strings["Unable to find your hub."] = "";
-$a->strings["Post successful."] = "";
-$a->strings["invalid target signature"] = "";
-$a->strings["OpenID protocol error. No ID returned."] = "";
+$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "";
+$a->strings["Channel Type"] = "";
+$a->strings["Read more about roles"] = "";
$a->strings["App installed."] = "";
$a->strings["Malformed app."] = "";
$a->strings["Embed code"] = "";
@@ -1782,8 +2017,29 @@ $a->strings["80 x 80 pixels - optional"] = "";
$a->strings["Version ID"] = "";
$a->strings["Price of app"] = "";
$a->strings["Location (URL) to purchase app"] = "";
+$a->strings["sent you a private message"] = "";
+$a->strings["added your channel"] = "";
+$a->strings["posted an event"] = "";
+$a->strings["No such group"] = "";
+$a->strings["No such channel"] = "";
+$a->strings["Search Results For:"] = "";
+$a->strings["Collection is empty"] = "";
+$a->strings["Collection: "] = "";
+$a->strings["Connection: "] = "";
+$a->strings["Invalid connection."] = "";
+$a->strings["Ipsum Lorem"] = "";
+$a->strings["Bookmark added"] = "";
+$a->strings["My Bookmarks"] = "";
+$a->strings["My Connections Bookmarks"] = "";
+$a->strings["Insufficient permissions. Request redirected to profile page."] = "";
+$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "";
$a->strings["Poll"] = "";
$a->strings["View Results"] = "";
+$a->strings["No service class restrictions found."] = "";
+$a->strings["Files: shared with me"] = "";
+$a->strings["NEW"] = "";
+$a->strings["Remove all files"] = "";
+$a->strings["Remove this file"] = "";
$a->strings["Schema Default"] = "";
$a->strings["Sans-Serif"] = "";
$a->strings["Monospace"] = "";
@@ -1819,10 +2075,8 @@ $a->strings["Right offset of the section element"] = "";
$a->strings["Section width"] = "";
$a->strings["Left offset of the aside"] = "";
$a->strings["Right offset of the aside element"] = "";
-$a->strings["None"] = "";
-$a->strings["Header image"] = "";
-$a->strings["Header image only on profile pages"] = "";
-$a->strings["Light (Red Matrix default)"] = "";
+$a->strings["Light (Hubzilla default)"] = "";
+$a->strings["Select scheme"] = "";
$a->strings["Narrow navbar"] = "";
$a->strings["Navigation bar background color"] = "";
$a->strings["Navigation bar gradient top color"] = "";
@@ -1843,22 +2097,24 @@ $a->strings["Set the indent for comments"] = "";
$a->strings["Set the basic color for item icons"] = "";
$a->strings["Set the hover color for item icons"] = "";
$a->strings["Set font-size for the entire application"] = "";
+$a->strings["Example: 14px"] = "";
$a->strings["Set font-color for posts and comments"] = "";
$a->strings["Set radius of corners"] = "";
$a->strings["Set shadow depth of photos"] = "";
-$a->strings["Set maximum width of conversation regions"] = "";
-$a->strings["Center conversation regions"] = "";
+$a->strings["Set maximum width of content region in pixel"] = "";
+$a->strings["Leave empty for default width"] = "";
+$a->strings["Center page content"] = "";
$a->strings["Set minimum opacity of nav bar - to hide it"] = "";
$a->strings["Set size of conversation author photo"] = "";
$a->strings["Set size of followup author photos"] = "";
-$a->strings["Sloppy photo albums"] = "";
-$a->strings["Are you a clean desk or a messy desk person?"] = "";
$a->strings["Update %s failed. See error logs."] = "";
$a->strings["Update Error at %s"] = "";
-$a->strings["Create an account to access services and applications within the Red Matrix"] = "";
+$a->strings["Create an account to access services and applications within the Hubzilla"] = "";
$a->strings["Password"] = "";
$a->strings["Remember me"] = "";
$a->strings["Forgot your password?"] = "";
-$a->strings["permission denied"] = "";
-$a->strings["Got Zot?"] = "";
$a->strings["toggle mobile"] = "";
+$a->strings["Website SSL certificate is not valid. Please correct."] = "";
+$a->strings["[red] Website SSL error for %s"] = "";
+$a->strings["Cron/Scheduled tasks not running."] = "";
+$a->strings["[red] Cron tasks not running on %s"] = "";
diff --git a/util/zotsh/README.txt b/util/zotsh/README.txt
index 5d03aec2c..3f31bba7f 100644
--- a/util/zotsh/README.txt
+++ b/util/zotsh/README.txt
@@ -14,7 +14,7 @@ Extract somewere and launch zotsh.py
Description
-----------
-ZotSH is a command line WebDAV client for RedMatrix.
+ZotSH is a command line WebDAV client for Hubzilla.
It knows how to magic-auth to remote hubs using Zot.
ZotSH uses 'easywebdav' library (0) with small modifications
diff --git a/view/cs/htconfig.tpl b/view/cs/htconfig.tpl
index 096143798..cc4087f96 100644
--- a/view/cs/htconfig.tpl
+++ b/view/cs/htconfig.tpl
@@ -30,7 +30,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
diff --git a/view/cs/update_fail_eml.tpl b/view/cs/update_fail_eml.tpl
index a7df8fc2f..61f44b1e6 100644
--- a/view/cs/update_fail_eml.tpl
+++ b/view/cs/update_fail_eml.tpl
@@ -1,7 +1,7 @@
Hey,
I'm the web server at {{$sitename}};
-The Red Matrix developers released update {{$update}} recently,
+The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and it requires human intervention.
Please contact a Red developer if you can not figure out how to
diff --git a/view/css/mod_events.css b/view/css/mod_events.css
index f2ffb9a2e..a8e6415c7 100644
--- a/view/css/mod_events.css
+++ b/view/css/mod_events.css
@@ -40,6 +40,7 @@
#event-datetime-break {
clear: both;
}
+
#event-nofinish-break {
margin-bottom: 10px;
}
@@ -51,3 +52,4 @@
#event-edit-preview-btn {
margin-right: 15px;
}
+
diff --git a/view/css/widgets.css b/view/css/widgets.css
index 5b6e8aeb9..c1b80dabb 100644
--- a/view/css/widgets.css
+++ b/view/css/widgets.css
@@ -110,3 +110,15 @@ li:hover .group-edit-icon {
.directory-rating-submit {
margin-top: 15px;
}
+
+
+/* tasklist */
+
+.tasklist-tasks {
+ max-height: 300px;
+ overflow-y: auto;
+}
+
+#tasklist-new-summary {
+ width: 250px;
+}
diff --git a/view/de/messages.po b/view/de/messages.po
index d3aaee480..ef27fd162 100644
--- a/view/de/messages.po
+++ b/view/de/messages.po
@@ -24,10 +24,10 @@
# sasiflo <transiflex@sasiflo.de>, 2014
msgid ""
msgstr ""
-"Project-Id-Version: Redmatrix\n"
+"Project-Id-Version: Red Matrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-06-19 00:04-0700\n"
-"PO-Revision-Date: 2015-06-24 13:12+0000\n"
+"POT-Creation-Date: 2015-02-20 00:04-0800\n"
+"PO-Revision-Date: 2015-02-27 09:55+0000\n"
"Last-Translator: zottel <transifex@zottel.net>\n"
"Language-Team: German (http://www.transifex.com/projects/p/red-matrix/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -36,744 +36,967 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../../include/dba/dba_driver.php:141
+#: ../../include/dba/dba_driver.php:142
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden"
-#: ../../include/photo/photo_driver.php:687 ../../mod/profile_photo.php:143
-#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
-#: ../../mod/photos.php:92 ../../mod/photos.php:637
+#: ../../include/photo/photo_driver.php:680 ../../include/photos.php:52
+#: ../../mod/profile_photo.php:143 ../../mod/profile_photo.php:302
+#: ../../mod/profile_photo.php:424 ../../mod/photos.php:91
+#: ../../mod/photos.php:625
msgid "Profile Photos"
msgstr "Profilfotos"
-#: ../../include/text.php:395
+#: ../../include/photos.php:15 ../../include/attach.php:137
+#: ../../include/attach.php:184 ../../include/attach.php:247
+#: ../../include/attach.php:261 ../../include/attach.php:301
+#: ../../include/attach.php:315 ../../include/attach.php:339
+#: ../../include/attach.php:532 ../../include/attach.php:606
+#: ../../include/chat.php:116 ../../include/items.php:4072
+#: ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/achievements.php:30 ../../mod/editblock.php:65
+#: ../../mod/manage.php:6 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/blocks.php:67 ../../mod/blocks.php:75 ../../mod/connedit.php:321
+#: ../../mod/editpost.php:13 ../../mod/profile_photo.php:264
+#: ../../mod/profile_photo.php:277 ../../mod/block.php:22
+#: ../../mod/block.php:72 ../../mod/network.php:12 ../../mod/events.php:219
+#: ../../mod/settings.php:560 ../../mod/group.php:9 ../../mod/setup.php:207
+#: ../../mod/common.php:35 ../../mod/suggest.php:26
+#: ../../mod/connections.php:169 ../../mod/item.php:197 ../../mod/item.php:205
+#: ../../mod/item.php:938 ../../mod/thing.php:247 ../../mod/thing.php:264
+#: ../../mod/thing.php:299 ../../mod/pdledit.php:21 ../../mod/appman.php:66
+#: ../../mod/authtest.php:13 ../../mod/editlayout.php:64
+#: ../../mod/editlayout.php:89 ../../mod/chat.php:90 ../../mod/chat.php:95
+#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
+#: ../../mod/editwebpage.php:118 ../../mod/rate.php:110
+#: ../../mod/invite.php:13 ../../mod/invite.php:104 ../../mod/locs.php:77
+#: ../../mod/sources.php:66 ../../mod/menu.php:61 ../../mod/filestorage.php:18
+#: ../../mod/filestorage.php:72 ../../mod/filestorage.php:87
+#: ../../mod/filestorage.php:114 ../../mod/fsuggest.php:78
+#: ../../mod/poke.php:128 ../../mod/profiles.php:188
+#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14
+#: ../../mod/webpages.php:67 ../../mod/delegate.php:6
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/regmod.php:17 ../../mod/message.php:16 ../../mod/mitem.php:106
+#: ../../mod/mood.php:111 ../../mod/layouts.php:67 ../../mod/layouts.php:74
+#: ../../mod/layouts.php:85 ../../mod/like.php:178 ../../mod/mail.php:114
+#: ../../mod/notifications.php:66 ../../mod/new_channel.php:68
+#: ../../mod/new_channel.php:99 ../../mod/photos.php:68 ../../mod/page.php:28
+#: ../../mod/page.php:78 ../../mod/bookmarks.php:46 ../../mod/channel.php:90
+#: ../../mod/channel.php:199 ../../mod/channel.php:242
+#: ../../mod/register.php:72 ../../mod/service_limits.php:7
+#: ../../mod/sharedwithme.php:7 ../../index.php:190 ../../index.php:390
+msgid "Permission denied."
+msgstr "Zugang verweigert"
+
+#: ../../include/photos.php:105
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Bild überschreitet das Limit der Webseite von %lu bytes"
+
+#: ../../include/photos.php:112
+msgid "Image file is empty."
+msgstr "Bilddatei ist leer."
+
+#: ../../include/photos.php:141 ../../mod/profile_photo.php:217
+msgid "Unable to process image"
+msgstr "Kann Bild nicht verarbeiten"
+
+#: ../../include/photos.php:213
+msgid "Photo storage failed."
+msgstr "Foto speichern schlug fehl"
+
+#: ../../include/photos.php:355 ../../include/conversation.php:1589
+msgid "Photo Albums"
+msgstr "Fotoalben"
+
+#: ../../include/photos.php:359
+msgid "Upload New Photos"
+msgstr "Lade neue Fotos hoch"
+
+#: ../../include/notify.php:23
+msgid "created a new post"
+msgstr "Neuer Beitrag wurde erzeugt"
+
+#: ../../include/notify.php:24
+#, php-format
+msgid "commented on %s's post"
+msgstr "hat %s's Beitrag kommentiert"
+
+#: ../../include/page_widgets.php:6
+msgid "New Page"
+msgstr "Neue Seite"
+
+#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:42
+#: ../../mod/editblock.php:143 ../../mod/blocks.php:132
+#: ../../mod/editpost.php:113 ../../mod/settings.php:645
+#: ../../mod/connections.php:382 ../../mod/connections.php:395
+#: ../../mod/connections.php:414 ../../mod/thing.php:233
+#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:174
+#: ../../mod/menu.php:78 ../../mod/webpages.php:162 ../../mod/layouts.php:167
+msgid "Edit"
+msgstr "Bearbeiten"
+
+#: ../../include/page_widgets.php:39 ../../mod/blocks.php:135
+#: ../../mod/webpages.php:165 ../../mod/layouts.php:171
+msgid "View"
+msgstr "Ansicht"
+
+#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
+#: ../../include/conversation.php:1152 ../../mod/events.php:651
+#: ../../mod/webpages.php:166 ../../mod/photos.php:964
+msgid "Preview"
+msgstr "Vorschau"
+
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:167
+msgid "Actions"
+msgstr "Aktionen"
+
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:168
+msgid "Page Link"
+msgstr "Seiten-Link"
+
+#: ../../include/page_widgets.php:43 ../../mod/webpages.php:169
+msgid "Title"
+msgstr "Titel"
+
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:170
+msgid "Created"
+msgstr "Erstellt"
+
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:171
+msgid "Edited"
+msgstr "Geändert"
+
+#: ../../include/widgets.php:35 ../../include/taxonomy.php:255
+#: ../../include/contact_widgets.php:92
+msgid "Categories"
+msgstr "Kategorien"
+
+#: ../../include/widgets.php:91 ../../include/nav.php:163
+#: ../../mod/apps.php:34
+msgid "Apps"
+msgstr "Apps"
+
+#: ../../include/widgets.php:92
+msgid "System"
+msgstr "System"
+
+#: ../../include/widgets.php:94 ../../include/conversation.php:1494
+msgid "Personal"
+msgstr "Persönlich"
+
+#: ../../include/widgets.php:95
+msgid "Create Personal App"
+msgstr "Persönliche App erstellen"
+
+#: ../../include/widgets.php:96
+msgid "Edit Personal App"
+msgstr "Persönliche App bearbeiten"
+
+#: ../../include/widgets.php:136 ../../include/widgets.php:175
+#: ../../include/identity.php:840 ../../include/Contact.php:107
+#: ../../include/conversation.php:940 ../../mod/suggest.php:51
+#: ../../mod/directory.php:272 ../../mod/match.php:62
+msgid "Connect"
+msgstr "Verbinden"
+
+#: ../../include/widgets.php:138 ../../mod/suggest.php:53
+msgid "Ignore/Hide"
+msgstr "Ignorieren/Verstecken"
+
+#: ../../include/widgets.php:143 ../../mod/connections.php:268
+msgid "Suggestions"
+msgstr "Vorschläge"
+
+#: ../../include/widgets.php:144
+msgid "See more..."
+msgstr "Mehr anzeigen …"
+
+#: ../../include/widgets.php:166
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen."
+
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr "Neue Verbindung hinzufügen"
+
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr "Adresse des Kanals eingeben"
+
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Beispiel: bob@beispiel.com, http://beispiel.com/barbara"
+
+#: ../../include/widgets.php:190
+msgid "Notes"
+msgstr "Notizen"
+
+#: ../../include/widgets.php:192 ../../include/text.php:838
+#: ../../include/text.php:850 ../../mod/filer.php:50 ../../mod/rbmark.php:28
+#: ../../mod/rbmark.php:98 ../../mod/admin.php:1344 ../../mod/admin.php:1365
+msgid "Save"
+msgstr "Speichern"
+
+#: ../../include/widgets.php:264
+msgid "Remove term"
+msgstr "Eintrag löschen"
+
+#: ../../include/widgets.php:272 ../../include/features.php:72
+msgid "Saved Searches"
+msgstr "Gespeicherte Suchanfragen"
+
+#: ../../include/widgets.php:273 ../../include/group.php:303
+msgid "add"
+msgstr "hinzufügen"
+
+#: ../../include/widgets.php:302 ../../include/features.php:84
+#: ../../include/contact_widgets.php:57
+msgid "Saved Folders"
+msgstr "Gespeicherte Ordner"
+
+#: ../../include/widgets.php:305 ../../include/contact_widgets.php:60
+#: ../../include/contact_widgets.php:95
+msgid "Everything"
+msgstr "Alles"
+
+#: ../../include/widgets.php:347
+msgid "Archives"
+msgstr "Archive"
+
+#: ../../include/widgets.php:425
+msgid "Refresh"
+msgstr "Aktualisieren"
+
+#: ../../include/widgets.php:426 ../../mod/connedit.php:563
+msgid "Me"
+msgstr "Ich"
+
+#: ../../include/widgets.php:427 ../../mod/connedit.php:566
+msgid "Best Friends"
+msgstr "Beste Freunde"
+
+#: ../../include/widgets.php:428 ../../include/identity.php:387
+#: ../../include/identity.php:388 ../../include/identity.php:395
+#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:567
+#: ../../mod/settings.php:335 ../../mod/settings.php:339
+#: ../../mod/settings.php:340 ../../mod/settings.php:343
+#: ../../mod/settings.php:354
+msgid "Friends"
+msgstr "Freunde"
+
+#: ../../include/widgets.php:429
+msgid "Co-workers"
+msgstr "Kollegen"
+
+#: ../../include/widgets.php:430 ../../mod/connedit.php:568
+msgid "Former Friends"
+msgstr "ehem. Freunde"
+
+#: ../../include/widgets.php:431 ../../mod/connedit.php:569
+msgid "Acquaintances"
+msgstr "Bekannte"
+
+#: ../../include/widgets.php:432
+msgid "Everybody"
+msgstr "Jeder"
+
+#: ../../include/widgets.php:466
+msgid "Account settings"
+msgstr "Konto-Einstellungen"
+
+#: ../../include/widgets.php:472
+msgid "Channel settings"
+msgstr "Kanal-Einstellungen"
+
+#: ../../include/widgets.php:478
+msgid "Additional features"
+msgstr "Zusätzliche Funktionen"
+
+#: ../../include/widgets.php:484
+msgid "Feature/Addon settings"
+msgstr "Plugin-Einstellungen"
+
+#: ../../include/widgets.php:490
+msgid "Display settings"
+msgstr "Anzeige-Einstellungen"
+
+#: ../../include/widgets.php:496
+msgid "Connected apps"
+msgstr "Verbundene Apps"
+
+#: ../../include/widgets.php:502
+msgid "Export channel"
+msgstr "Kanal exportieren"
+
+#: ../../include/widgets.php:511 ../../mod/connedit.php:627
+msgid "Connection Default Permissions"
+msgstr "Standardzugriffsrechte für neue Verbindungen:"
+
+#: ../../include/widgets.php:519
+msgid "Premium Channel Settings"
+msgstr "Premium-Kanal-Einstellungen"
+
+#: ../../include/widgets.php:527 ../../include/features.php:61
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Kanal-Quellen"
+
+#: ../../include/widgets.php:535 ../../include/nav.php:210
+#: ../../include/apps.php:134 ../../mod/admin.php:956 ../../mod/admin.php:1161
+msgid "Settings"
+msgstr "Einstellungen"
+
+#: ../../include/widgets.php:548 ../../mod/message.php:31
+#: ../../mod/mail.php:128
+msgid "Messages"
+msgstr "Nachrichten"
+
+#: ../../include/widgets.php:551
+msgid "Check Mail"
+msgstr "E-Mails abrufen"
+
+#: ../../include/widgets.php:556 ../../include/nav.php:201
+msgid "New Message"
+msgstr "Neue Nachricht"
+
+#: ../../include/widgets.php:634
+msgid "Chat Rooms"
+msgstr "Chaträume"
+
+#: ../../include/widgets.php:654
+msgid "Bookmarked Chatrooms"
+msgstr "Gespeicherte Chatrooms"
+
+#: ../../include/widgets.php:674
+msgid "Suggested Chatrooms"
+msgstr "Chatraum-Vorschläge"
+
+#: ../../include/widgets.php:801 ../../include/widgets.php:859
+msgid "photo/image"
+msgstr "Foto/Bild"
+
+#: ../../include/widgets.php:954 ../../include/widgets.php:956
+msgid "Rate Me"
+msgstr "Bewerte mich"
+
+#: ../../include/widgets.php:960
+msgid "View Ratings"
+msgstr "Bewertungen ansehen"
+
+#: ../../include/widgets.php:971
+msgid "Public Hubs"
+msgstr "Öffentliche Hubs"
+
+#: ../../include/enotify.php:41
+msgid "Red Matrix Notification"
+msgstr "Red Matrix Benachrichtigung"
+
+#: ../../include/enotify.php:42
+msgid "redmatrix"
+msgstr "redmatrix"
+
+#: ../../include/enotify.php:44
+msgid "Thank You,"
+msgstr "Danke."
+
+#: ../../include/enotify.php:46
+#, php-format
+msgid "%s Administrator"
+msgstr "der Administrator von %s"
+
+#: ../../include/enotify.php:81
+#, php-format
+msgid "%s <!item_type!>"
+msgstr "%s <!item_type!>"
+
+#: ../../include/enotify.php:85
+#, php-format
+msgid "[Red:Notify] New mail received at %s"
+msgstr "[Red:Benachrichtigung] Neue Mail auf %s empfangen"
+
+#: ../../include/enotify.php:87
+#, php-format
+msgid "%1$s, %2$s sent you a new private message at %3$s."
+msgstr "%1$s, %2$s hat Dir eine private Nachricht auf %3$s gesendet."
+
+#: ../../include/enotify.php:88
+#, php-format
+msgid "%1$s sent you %2$s."
+msgstr "%1$s hat Dir %2$s geschickt."
+
+#: ../../include/enotify.php:88
+msgid "a private message"
+msgstr "eine private Nachricht"
+
+#: ../../include/enotify.php:89
+#, php-format
+msgid "Please visit %s to view and/or reply to your private messages."
+msgstr "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten."
+
+#: ../../include/enotify.php:144
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]einen %4$s[/zrl] kommentiert"
+
+#: ../../include/enotify.php:152
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]%4$ss %5$s[/zrl] kommentiert"
+
+#: ../../include/enotify.php:161
+#, php-format
+msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen %4$s[/zrl] kommentiert"
+
+#: ../../include/enotify.php:172
+#, php-format
+msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[Red:Benachrichtigung] Kommentar in Unterhaltung #%1$d von %2$s"
+
+#: ../../include/enotify.php:173
+#, php-format
+msgid "%1$s, %2$s commented on an item/conversation you have been following."
+msgstr "%1$s, %2$s hat eine Unterhaltung kommentiert, der Du folgst."
+
+#: ../../include/enotify.php:176 ../../include/enotify.php:191
+#: ../../include/enotify.php:217 ../../include/enotify.php:236
+#: ../../include/enotify.php:250
+#, php-format
+msgid "Please visit %s to view and/or reply to the conversation."
+msgstr "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren."
+
+#: ../../include/enotify.php:182
+#, php-format
+msgid "[Red:Notify] %s posted to your profile wall"
+msgstr "[Red:Hinweis] %s schrieb auf Deine Pinnwand"
+
+#: ../../include/enotify.php:184
+#, php-format
+msgid "%1$s, %2$s posted to your profile wall at %3$s"
+msgstr "%1$s, %2$s hat auf Deine Pinnwand auf %3$s geschrieben"
+
+#: ../../include/enotify.php:186
+#, php-format
+msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
+msgstr "%1$s, %2$s hat auf [zrl=%3$s]Deine Pinnwand[/zrl] geschrieben"
+
+#: ../../include/enotify.php:210
+#, php-format
+msgid "[Red:Notify] %s tagged you"
+msgstr "[Red:Benachrichtigung] %s hat Dich erwähnt"
+
+#: ../../include/enotify.php:211
+#, php-format
+msgid "%1$s, %2$s tagged you at %3$s"
+msgstr "%1$s, %2$s hat Dich auf %3$s erwähnt"
+
+#: ../../include/enotify.php:212
+#, php-format
+msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%3$s]hat Dich erwähnt[/zrl]."
+
+#: ../../include/enotify.php:225
+#, php-format
+msgid "[Red:Notify] %1$s poked you"
+msgstr "[Red:Benachrichtigung] %1$s hat Dich angestupst"
+
+#: ../../include/enotify.php:226
+#, php-format
+msgid "%1$s, %2$s poked you at %3$s"
+msgstr "%1$s, %2$s hat Dich auf %3$s angestupst"
+
+#: ../../include/enotify.php:227
+#, php-format
+msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
+msgstr "%1$s, %2$s [zrl=%2$s]hat Dich angestupst[/zrl]."
+
+#: ../../include/enotify.php:243
+#, php-format
+msgid "[Red:Notify] %s tagged your post"
+msgstr "[Red:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet"
+
+#: ../../include/enotify.php:244
+#, php-format
+msgid "%1$s, %2$s tagged your post at %3$s"
+msgstr "%1$s, %2$s hat Deinen Beitrag auf %3$s verschlagwortet"
+
+#: ../../include/enotify.php:245
+#, php-format
+msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
+msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen Beitrag[/zrl] verschlagwortet"
+
+#: ../../include/enotify.php:257
+msgid "[Red:Notify] Introduction received"
+msgstr "[Red:Benachrichtigung] Vorstellung erhalten"
+
+#: ../../include/enotify.php:258
+#, php-format
+msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
+msgstr "%1$s, Du hast eine neue Verbindungsanfrage von '%2$s' auf %3$s erhalten"
+
+#: ../../include/enotify.php:259
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
+msgstr "%1$s, Du hast [zrl=%2$s]eine neue Verbindungsanfrage[/zrl] von %3$s erhalten."
+
+#: ../../include/enotify.php:263 ../../include/enotify.php:282
+#, php-format
+msgid "You may visit their profile at %s"
+msgstr "Du kannst Dir das Profil unter %s ansehen"
+
+#: ../../include/enotify.php:265
+#, php-format
+msgid "Please visit %s to approve or reject the connection request."
+msgstr "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen."
+
+#: ../../include/enotify.php:272
+msgid "[Red:Notify] Friend suggestion received"
+msgstr "[Red:Benachrichtigung] Freundschaftsvorschlag erhalten"
+
+#: ../../include/enotify.php:273
+#, php-format
+msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
+msgstr "%1$s, Du hast einen Kontaktvorschlag von „%2$s“ auf %3$s erhalten"
+
+#: ../../include/enotify.php:274
+#, php-format
+msgid ""
+"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
+"%4$s."
+msgstr "%1$s, Du hast [zrl=%2$s]einen Kontaktvorschlag[/zrl] für %3$s von %4$s erhalten."
+
+#: ../../include/enotify.php:280
+msgid "Name:"
+msgstr "Name:"
+
+#: ../../include/enotify.php:281
+msgid "Photo:"
+msgstr "Foto:"
+
+#: ../../include/enotify.php:284
+#, php-format
+msgid "Please visit %s to approve or reject the suggestion."
+msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."
+
+#: ../../include/enotify.php:499
+msgid "[Red:Notify]"
+msgstr "[Red:Benachrichtigung]"
+
+#: ../../include/text.php:320
msgid "prev"
msgstr "vorherige"
-#: ../../include/text.php:397
+#: ../../include/text.php:322
msgid "first"
msgstr "erste"
-#: ../../include/text.php:426
+#: ../../include/text.php:351
msgid "last"
msgstr "letzte"
-#: ../../include/text.php:429
+#: ../../include/text.php:354
msgid "next"
msgstr "nächste"
-#: ../../include/text.php:439
+#: ../../include/text.php:366
msgid "older"
msgstr "älter"
-#: ../../include/text.php:441
+#: ../../include/text.php:368
msgid "newer"
msgstr "neuer"
-#: ../../include/text.php:834
+#: ../../include/text.php:751
msgid "No connections"
msgstr "Keine Verbindungen"
-#: ../../include/text.php:848
+#: ../../include/text.php:767
#, php-format
msgid "%d Connection"
msgid_plural "%d Connections"
msgstr[0] "%d Verbindung"
msgstr[1] "%d Verbindungen"
-#: ../../include/text.php:861 ../../mod/viewconnections.php:104
+#: ../../include/text.php:780 ../../mod/viewconnections.php:86
msgid "View Connections"
msgstr "Verbindungen anzeigen"
-#: ../../include/text.php:918 ../../include/text.php:930
+#: ../../include/text.php:837 ../../include/text.php:849
#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../mod/search.php:38
+#: ../../mod/search.php:34
msgid "Search"
msgstr "Suche"
-#: ../../include/text.php:919 ../../include/text.php:931
-#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1457
-#: ../../mod/admin.php:1477
-msgid "Save"
-msgstr "Speichern"
-
-#: ../../include/text.php:994
+#: ../../include/text.php:916
msgid "poke"
msgstr "anstupsen"
-#: ../../include/text.php:994 ../../include/conversation.php:243
+#: ../../include/text.php:916 ../../include/conversation.php:243
msgid "poked"
msgstr "stupste"
-#: ../../include/text.php:995
+#: ../../include/text.php:917
msgid "ping"
msgstr "anpingen"
-#: ../../include/text.php:995
+#: ../../include/text.php:917
msgid "pinged"
msgstr "pingte"
-#: ../../include/text.php:996
+#: ../../include/text.php:918
msgid "prod"
msgstr "knuffen"
-#: ../../include/text.php:996
+#: ../../include/text.php:918
msgid "prodded"
msgstr "knuffte"
-#: ../../include/text.php:997
+#: ../../include/text.php:919
msgid "slap"
msgstr "ohrfeigen"
-#: ../../include/text.php:997
+#: ../../include/text.php:919
msgid "slapped"
msgstr "ohrfeigte"
-#: ../../include/text.php:998
+#: ../../include/text.php:920
msgid "finger"
msgstr "befummeln"
-#: ../../include/text.php:998
+#: ../../include/text.php:920
msgid "fingered"
msgstr "befummelte"
-#: ../../include/text.php:999
+#: ../../include/text.php:921
msgid "rebuff"
msgstr "eine Abfuhr erteilen"
-#: ../../include/text.php:999
+#: ../../include/text.php:921
msgid "rebuffed"
msgstr "zurückgewiesen"
-#: ../../include/text.php:1009
+#: ../../include/text.php:931
msgid "happy"
msgstr "glücklich"
-#: ../../include/text.php:1010
+#: ../../include/text.php:932
msgid "sad"
msgstr "traurig"
-#: ../../include/text.php:1011
+#: ../../include/text.php:933
msgid "mellow"
msgstr "sanft"
-#: ../../include/text.php:1012
+#: ../../include/text.php:934
msgid "tired"
msgstr "müde"
-#: ../../include/text.php:1013
+#: ../../include/text.php:935
msgid "perky"
msgstr "frech"
-#: ../../include/text.php:1014
+#: ../../include/text.php:936
msgid "angry"
msgstr "sauer"
-#: ../../include/text.php:1015
+#: ../../include/text.php:937
msgid "stupified"
msgstr "verblüfft"
-#: ../../include/text.php:1016
+#: ../../include/text.php:938
msgid "puzzled"
msgstr "verwirrt"
-#: ../../include/text.php:1017
+#: ../../include/text.php:939
msgid "interested"
msgstr "interessiert"
-#: ../../include/text.php:1018
+#: ../../include/text.php:940
msgid "bitter"
msgstr "verbittert"
-#: ../../include/text.php:1019
+#: ../../include/text.php:941
msgid "cheerful"
msgstr "fröhlich"
-#: ../../include/text.php:1020
+#: ../../include/text.php:942
msgid "alive"
msgstr "lebendig"
-#: ../../include/text.php:1021
+#: ../../include/text.php:943
msgid "annoyed"
msgstr "verärgert"
-#: ../../include/text.php:1022
+#: ../../include/text.php:944
msgid "anxious"
msgstr "unruhig"
-#: ../../include/text.php:1023
+#: ../../include/text.php:945
msgid "cranky"
msgstr "schrullig"
-#: ../../include/text.php:1024
+#: ../../include/text.php:946
msgid "disturbed"
msgstr "verstört"
-#: ../../include/text.php:1025
+#: ../../include/text.php:947
msgid "frustrated"
msgstr "frustriert"
-#: ../../include/text.php:1026
+#: ../../include/text.php:948
msgid "depressed"
msgstr "deprimiert"
-#: ../../include/text.php:1027
+#: ../../include/text.php:949
msgid "motivated"
msgstr "motiviert"
-#: ../../include/text.php:1028
+#: ../../include/text.php:950
msgid "relaxed"
msgstr "entspannt"
-#: ../../include/text.php:1029
+#: ../../include/text.php:951
msgid "surprised"
msgstr "überrascht"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1117
msgid "Monday"
msgstr "Montag"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1117
msgid "Tuesday"
msgstr "Dienstag"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1117
msgid "Wednesday"
msgstr "Mittwoch"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1117
msgid "Thursday"
msgstr "Donnerstag"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1117
msgid "Friday"
msgstr "Freitag"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1117
msgid "Saturday"
msgstr "Samstag"
-#: ../../include/text.php:1201
+#: ../../include/text.php:1117
msgid "Sunday"
msgstr "Sonntag"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "January"
msgstr "Januar"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "February"
msgstr "Februar"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "March"
msgstr "März"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "April"
msgstr "April"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "May"
msgstr "Mai"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "June"
msgstr "Juni"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "July"
msgstr "Juli"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "August"
msgstr "August"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "September"
msgstr "September"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "October"
msgstr "Oktober"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "November"
msgstr "November"
-#: ../../include/text.php:1205
+#: ../../include/text.php:1121
msgid "December"
msgstr "Dezember"
-#: ../../include/text.php:1310
+#: ../../include/text.php:1199
msgid "unknown.???"
msgstr "unbekannt.???"
-#: ../../include/text.php:1311
+#: ../../include/text.php:1200
msgid "bytes"
msgstr "Bytes"
-#: ../../include/text.php:1347
+#: ../../include/text.php:1236
msgid "remove category"
msgstr "Kategorie entfernen"
-#: ../../include/text.php:1422
+#: ../../include/text.php:1305
msgid "remove from file"
msgstr "aus der Datei entfernen"
-#: ../../include/text.php:1498 ../../include/text.php:1509
-#: ../../mod/connedit.php:661
+#: ../../include/text.php:1381 ../../include/text.php:1392
+#: ../../mod/connedit.php:635
msgid "Click to open/close"
msgstr "Klicke zum Öffnen/Schließen"
-#: ../../include/text.php:1665 ../../mod/events.php:444
+#: ../../include/text.php:1540 ../../mod/events.php:444
msgid "Link to Source"
msgstr "Link zur Quelle"
-#: ../../include/text.php:1686 ../../include/text.php:1757
+#: ../../include/text.php:1559
+msgid "Select a page layout: "
+msgstr "Ein Seiten-Layout auswählen:"
+
+#: ../../include/text.php:1562 ../../include/text.php:1622
msgid "default"
msgstr "Standard"
-#: ../../include/text.php:1694
-msgid "Page layout"
-msgstr "Seitengestaltung"
-
-#: ../../include/text.php:1694
-msgid "You can create your own with the layouts tool"
-msgstr "Mit dem Layouts-Werkzeug kannst Du Deine eigenen Layouts erstellen"
-
-#: ../../include/text.php:1735
-msgid "Page content type"
-msgstr "Art des Seiteninhalts"
+#: ../../include/text.php:1595
+msgid "Page content type: "
+msgstr "Content-Typ der Seite:"
-#: ../../include/text.php:1769
+#: ../../include/text.php:1634
msgid "Select an alternate language"
msgstr "Wähle eine alternative Sprache"
-#: ../../include/text.php:1888 ../../include/diaspora.php:2101
-#: ../../include/conversation.php:120 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:43
+#: ../../include/text.php:1753 ../../include/diaspora.php:1909
+#: ../../include/conversation.php:120 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/tagger.php:43 ../../mod/like.php:335
msgid "photo"
msgstr "Foto"
-#: ../../include/text.php:1891 ../../include/conversation.php:123
-#: ../../mod/like.php:348 ../../mod/tagger.php:47
+#: ../../include/text.php:1756 ../../include/conversation.php:123
+#: ../../mod/tagger.php:47 ../../mod/like.php:337
msgid "event"
msgstr "Termin"
-#: ../../include/text.php:1894 ../../include/diaspora.php:2101
-#: ../../include/conversation.php:148 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:51
+#: ../../include/text.php:1759 ../../include/diaspora.php:1909
+#: ../../include/conversation.php:148 ../../mod/subthread.php:72
+#: ../../mod/subthread.php:174 ../../mod/tagger.php:51 ../../mod/like.php:335
msgid "status"
msgstr "Status"
-#: ../../include/text.php:1896 ../../include/conversation.php:150
+#: ../../include/text.php:1761 ../../include/conversation.php:150
#: ../../mod/tagger.php:53
msgid "comment"
msgstr "Kommentar"
-#: ../../include/text.php:1901
+#: ../../include/text.php:1766
msgid "activity"
msgstr "Aktivität"
-#: ../../include/text.php:2196
-msgid "Design Tools"
-msgstr "Gestaltungswerkzeuge"
+#: ../../include/text.php:2053
+msgid "Design"
+msgstr "Design"
-#: ../../include/text.php:2199 ../../mod/blocks.php:147
+#: ../../include/text.php:2056
msgid "Blocks"
msgstr "Blöcke"
-#: ../../include/text.php:2200 ../../mod/menu.php:98
+#: ../../include/text.php:2057
msgid "Menus"
msgstr "Menüs"
-#: ../../include/text.php:2201 ../../mod/layouts.php:174
+#: ../../include/text.php:2058
msgid "Layouts"
-msgstr "Gestaltungen"
+msgstr "Layouts"
-#: ../../include/text.php:2202
+#: ../../include/text.php:2059
msgid "Pages"
msgstr "Seiten"
-#: ../../include/text.php:2553 ../../include/RedDAV/RedBrowser.php:131
+#: ../../include/text.php:2395 ../../include/RedDAV/RedBrowser.php:130
msgid "Collection"
msgstr "Ordner"
-#: ../../include/menu.php:107 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:269
-#: ../../include/ItemObject.php:100 ../../include/apps.php:254
-#: ../../mod/webpages.php:181 ../../mod/thing.php:227
-#: ../../mod/connections.php:382 ../../mod/connections.php:395
-#: ../../mod/connections.php:414 ../../mod/blocks.php:153
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:178
-#: ../../mod/editpost.php:113 ../../mod/menu.php:103
-#: ../../mod/editblock.php:140 ../../mod/settings.php:650
-#: ../../mod/layouts.php:183
-msgid "Edit"
-msgstr "Bearbeiten"
-
-#: ../../include/diaspora.php:2130 ../../include/conversation.php:164
-#: ../../mod/like.php:394
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s gefällt %2$ss %3$s"
-
-#: ../../include/diaspora.php:2458
-msgid "Please choose"
-msgstr "Bitte auswählen"
-
-#: ../../include/diaspora.php:2460
-msgid "Agree"
-msgstr "Zustimmen"
-
-#: ../../include/diaspora.php:2462
-msgid "Disagree"
-msgstr "Ablehnen"
-
-#: ../../include/diaspora.php:2464
-msgid "Abstain"
-msgstr "Enthalten"
-
-#: ../../include/diaspora.php:2486 ../../include/diaspora.php:2497
-#: ../../include/enotify.php:59 ../../mod/p.php:46
-msgid "$projectname"
-msgstr "$projectname"
-
-#: ../../include/notify.php:23
-msgid "created a new post"
-msgstr "Neuer Beitrag wurde erzeugt"
-
-#: ../../include/notify.php:24
-#, php-format
-msgid "commented on %s's post"
-msgstr "hat %s's Beitrag kommentiert"
-
-#: ../../include/group.php:26
-msgid ""
-"A deleted group with this name was revived. Existing item permissions "
-"<strong>may</strong> apply to this group and any future members. If this is "
-"not what you intended, please create another group with a different name."
-msgstr "Es hat früher schon einmal eine Sammlung mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Sammlung den Zugriff erlauben. Wenn das nicht Dein Plan war, erstelle bitte eine neue Sammlung mit einem anderen Namen."
-
-#: ../../include/group.php:235
-msgid "Default privacy group for new contacts"
-msgstr "Standard-Sammlung für neue Kontakte"
-
-#: ../../include/group.php:254 ../../mod/admin.php:831
-msgid "All Channels"
-msgstr "Alle Kanäle"
-
-#: ../../include/group.php:276
-msgid "edit"
-msgstr "Bearbeiten"
-
-#: ../../include/group.php:298
-msgid "Collections"
-msgstr "Sammlungen"
-
-#: ../../include/group.php:299
-msgid "Edit collection"
-msgstr "Sammlung bearbeiten"
-
-#: ../../include/group.php:300
-msgid "Add new collection"
-msgstr "Neue Sammlung hinzufügen"
-
-#: ../../include/group.php:301
-msgid "Channels not in any collection"
-msgstr "Kanäle, die nicht in einer Sammlung sind"
-
-#: ../../include/group.php:303 ../../include/widgets.php:275
-msgid "add"
-msgstr "hinzufügen"
-
-#: ../../include/account.php:27
-msgid "Not a valid email address"
-msgstr "Ungültige E-Mail-Adresse"
-
-#: ../../include/account.php:29
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Deine E-Mail-Adresse ist dieser Seite nicht erlaubt"
-
-#: ../../include/account.php:35
-msgid "Your email address is already registered at this site."
-msgstr "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert."
-
-#: ../../include/account.php:67
-msgid "An invitation is required."
-msgstr "Eine Einladung ist erforderlich."
-
-#: ../../include/account.php:71
-msgid "Invitation could not be verified."
-msgstr "Die Einladung konnte nicht bestätigt werden"
-
-#: ../../include/account.php:121
-msgid "Please enter the required information."
-msgstr "Bitte gib die erforderlichen Informationen ein."
-
-#: ../../include/account.php:188
-msgid "Failed to store account information."
-msgstr "Speichern der Account-Informationen fehlgeschlagen"
-
-#: ../../include/account.php:246
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registrierungsbestätigung für %s"
-
-#: ../../include/account.php:312
-#, php-format
-msgid "Registration request at %s"
-msgstr "Registrierungsanfrage auf %s"
-
-#: ../../include/account.php:314 ../../include/account.php:341
-#: ../../include/account.php:401
-msgid "Administrator"
-msgstr "Administrator"
-
-#: ../../include/account.php:336
-msgid "your registration password"
-msgstr "Dein Registrierungspasswort"
-
-#: ../../include/account.php:339 ../../include/account.php:399
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registrierungsdetails für %s"
-
-#: ../../include/account.php:408
-msgid "Account approved."
-msgstr "Account bestätigt."
-
-#: ../../include/account.php:447
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrierung für %s widerrufen"
-
-#: ../../include/account.php:492
-msgid "Account verified. Please login."
-msgstr "Konto geprüft. Bitte melde Dich an!"
-
-#: ../../include/account.php:705 ../../include/account.php:707
-msgid "Click here to upgrade."
-msgstr "Klicke hier, um das Upgrade durchzuführen."
-
-#: ../../include/account.php:713
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
-
-#: ../../include/account.php:718
-msgid "This action is not available under your subscription plan."
-msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
-
-#: ../../include/datetime.php:48
-msgid "Miscellaneous"
-msgstr "Verschiedenes"
-
-#: ../../include/datetime.php:132
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "JJJJ-MM-TT oder MM-TT"
-
-#: ../../include/datetime.php:235 ../../mod/events.php:635
-#: ../../mod/appman.php:91 ../../mod/appman.php:92
-msgid "Required"
-msgstr "Erforderlich"
-
-#: ../../include/datetime.php:262 ../../boot.php:2354
-msgid "never"
-msgstr "Nie"
-
-#: ../../include/datetime.php:268
-msgid "less than a second ago"
-msgstr "vor weniger als einer Sekunde"
-
-#: ../../include/datetime.php:271
-msgid "year"
-msgstr "Jahr"
-
-#: ../../include/datetime.php:271
-msgid "years"
-msgstr "Jahre"
-
-#: ../../include/datetime.php:272
-msgid "month"
-msgstr "Monat"
-
-#: ../../include/datetime.php:272
-msgid "months"
-msgstr "Monate"
-
-#: ../../include/datetime.php:273
-msgid "week"
-msgstr "Woche"
-
-#: ../../include/datetime.php:273
-msgid "weeks"
-msgstr "Wochen"
-
-#: ../../include/datetime.php:274
-msgid "day"
-msgstr "Tag"
-
-#: ../../include/datetime.php:274
-msgid "days"
-msgstr "Tage"
-
-#: ../../include/datetime.php:275
-msgid "hour"
-msgstr "Stunde"
-
-#: ../../include/datetime.php:275
-msgid "hours"
-msgstr "Stunden"
-
-#: ../../include/datetime.php:276
-msgid "minute"
-msgstr "Minute"
-
-#: ../../include/datetime.php:276
-msgid "minutes"
-msgstr "Minuten"
+#: ../../include/attach.php:242 ../../include/attach.php:296
+msgid "Item was not found."
+msgstr "Beitrag wurde nicht gefunden."
-#: ../../include/datetime.php:277
-msgid "second"
-msgstr "Sekunde"
+#: ../../include/attach.php:352
+msgid "No source file."
+msgstr "Keine Quelldatei."
-#: ../../include/datetime.php:277
-msgid "seconds"
-msgstr "Sekunden"
+#: ../../include/attach.php:369
+msgid "Cannot locate file to replace"
+msgstr "Kann Datei zum Ersetzen nicht finden"
-#: ../../include/datetime.php:285
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "vor %1$d %2$s"
+#: ../../include/attach.php:387
+msgid "Cannot locate file to revise/update"
+msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden"
-#: ../../include/datetime.php:519
+#: ../../include/attach.php:398
#, php-format
-msgid "%1$s's birthday"
-msgstr "%1$ss Geburtstag"
+msgid "File exceeds size limit of %d"
+msgstr "Datei überschreitet das Größen-Limit von %d"
-#: ../../include/datetime.php:520
+#: ../../include/attach.php:410
#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Alles Gute zum Geburtstag, %1$s"
-
-#: ../../include/page_widgets.php:6
-msgid "New Page"
-msgstr "Neue Seite"
-
-#: ../../include/page_widgets.php:39 ../../mod/webpages.php:187
-#: ../../mod/blocks.php:159 ../../mod/layouts.php:188
-msgid "View"
-msgstr "Ansicht"
-
-#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
-#: ../../include/conversation.php:1155 ../../mod/webpages.php:188
-#: ../../mod/events.php:653 ../../mod/photos.php:982
-#: ../../mod/editwebpage.php:214 ../../mod/editpost.php:150
-#: ../../mod/editblock.php:176
-msgid "Preview"
-msgstr "Vorschau"
-
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
-msgid "Actions"
-msgstr "Aktionen"
-
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
-msgid "Page Link"
-msgstr "Seiten-Link"
-
-#: ../../include/page_widgets.php:43
-msgid "Title"
-msgstr "Titel"
-
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:192
-#: ../../mod/blocks.php:150 ../../mod/menu.php:105 ../../mod/layouts.php:181
-msgid "Created"
-msgstr "Erstellt"
-
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:193
-#: ../../mod/blocks.php:151 ../../mod/menu.php:106 ../../mod/layouts.php:182
-msgid "Edited"
-msgstr "Geändert"
-
-#: ../../include/api.php:1193
-msgid "Public Timeline"
-msgstr "Öffentliche Zeitleiste"
-
-#: ../../include/comanche.php:34 ../../mod/admin.php:390
-#: ../../view/theme/apw/php/config.php:185
-msgid "Default"
-msgstr "Standard"
-
-#: ../../include/dir_fns.php:143
-msgid "Directory Options"
-msgstr "Verzeichnisoptionen"
-
-#: ../../include/dir_fns.php:144
-msgid "Alphabetic"
-msgstr "alphabetisch"
-
-#: ../../include/dir_fns.php:145
-msgid "Reverse Alphabetic"
-msgstr "Entgegengesetzt alphabetisch"
-
-#: ../../include/dir_fns.php:146
-msgid "Newest to Oldest"
-msgstr "Neueste zuerst"
-
-#: ../../include/dir_fns.php:147
-msgid "Oldest to Newest"
-msgstr "Älteste zuerst"
-
-#: ../../include/dir_fns.php:148
-msgid "Sort"
-msgstr "Sortieren"
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."
-#: ../../include/dir_fns.php:152
-msgid "Safe Mode"
-msgstr "Sicherer Modus"
+#: ../../include/attach.php:493
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."
-#: ../../include/dir_fns.php:154
-msgid "Public Forums Only"
-msgstr "Nur öffentliche Foren"
+#: ../../include/attach.php:505
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."
-#: ../../include/dir_fns.php:155
-msgid "This Website Only"
-msgstr "Nur diese Website"
+#: ../../include/attach.php:547 ../../include/attach.php:564
+msgid "Path not available."
+msgstr "Pfad nicht verfügbar."
-#: ../../include/event.php:19 ../../include/bb2diaspora.php:459
-msgid "l F d, Y \\@ g:i A"
-msgstr "l, d. F Y, H:i"
+#: ../../include/attach.php:611
+msgid "Empty pathname"
+msgstr "Leere Pfadangabe"
-#: ../../include/event.php:27 ../../include/bb2diaspora.php:465
-msgid "Starts:"
-msgstr "Beginnt:"
+#: ../../include/attach.php:627
+msgid "duplicate filename or path"
+msgstr "doppelter Dateiname oder Pfad"
-#: ../../include/event.php:37 ../../include/bb2diaspora.php:473
-msgid "Finishes:"
-msgstr "Endet:"
+#: ../../include/attach.php:651
+msgid "Path not found."
+msgstr "Pfad nicht gefunden."
-#: ../../include/event.php:47 ../../include/bb2diaspora.php:481
-#: ../../include/identity.php:879 ../../mod/events.php:647
-#: ../../mod/directory.php:234
-msgid "Location:"
-msgstr "Ort:"
+#: ../../include/attach.php:702
+msgid "mkdir failed."
+msgstr "mkdir fehlgeschlagen."
-#: ../../include/event.php:391
-msgid "This event has been added to your calendar."
-msgstr "Dieser Termin wurde zu Deinem Kalender hinzugefügt"
+#: ../../include/attach.php:706
+msgid "database storage failed."
+msgstr "Speichern in der Datenbank fehlgeschlagen."
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr "Dieses Element löschen?"
#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
-#: ../../mod/photos.php:980 ../../mod/photos.php:1098
+#: ../../mod/photos.php:962 ../../mod/photos.php:1080
msgid "Comment"
msgstr "Kommentar"
@@ -801,7 +1024,7 @@ msgstr "Kennwort zu kurz"
msgid "Passwords do not match"
msgstr "Kennwörter stimmen nicht überein"
-#: ../../include/js_strings.php:13 ../../mod/photos.php:40
+#: ../../include/js_strings.php:13 ../../mod/photos.php:39
msgid "everybody"
msgstr "alle"
@@ -838,210 +1061,199 @@ msgid "Describe (optional)"
msgstr "Beschreibung (optional)"
#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
-#: ../../mod/xchan.php:11 ../../mod/connect.php:93 ../../mod/thing.php:275
-#: ../../mod/thing.php:318 ../../mod/events.php:656 ../../mod/group.php:81
-#: ../../mod/photos.php:577 ../../mod/photos.php:654 ../../mod/photos.php:941
-#: ../../mod/photos.php:981 ../../mod/photos.php:1099 ../../mod/pdledit.php:58
-#: ../../mod/import.php:504 ../../mod/chat.php:177 ../../mod/chat.php:211
-#: ../../mod/rate.php:167 ../../mod/invite.php:142 ../../mod/locs.php:105
-#: ../../mod/sources.php:104 ../../mod/sources.php:138
-#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
-#: ../../mod/poke.php:166 ../../mod/profiles.php:667 ../../mod/setup.php:327
-#: ../../mod/setup.php:367 ../../mod/admin.php:453 ../../mod/admin.php:819
-#: ../../mod/admin.php:986 ../../mod/admin.php:1118 ../../mod/admin.php:1312
-#: ../../mod/admin.php:1397 ../../mod/settings.php:588
-#: ../../mod/settings.php:692 ../../mod/settings.php:718
-#: ../../mod/settings.php:746 ../../mod/settings.php:769
-#: ../../mod/settings.php:854 ../../mod/settings.php:1050
-#: ../../mod/mitem.php:237 ../../mod/mood.php:134 ../../mod/connedit.php:679
-#: ../../mod/mail.php:355 ../../mod/appman.php:99 ../../mod/poll.php:68
-#: ../../mod/bulksetclose.php:24 ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/redbasic/php/config.php:97
+#: ../../mod/xchan.php:11 ../../mod/connedit.php:653 ../../mod/connect.php:93
+#: ../../mod/events.php:654 ../../mod/settings.php:583
+#: ../../mod/settings.php:708 ../../mod/settings.php:737
+#: ../../mod/settings.php:760 ../../mod/settings.php:842
+#: ../../mod/settings.php:1038 ../../mod/group.php:81 ../../mod/setup.php:313
+#: ../../mod/setup.php:358 ../../mod/thing.php:284 ../../mod/thing.php:327
+#: ../../mod/pdledit.php:58 ../../mod/appman.php:99 ../../mod/import.php:504
+#: ../../mod/chat.php:177 ../../mod/chat.php:211 ../../mod/rate.php:167
+#: ../../mod/invite.php:142 ../../mod/locs.php:105 ../../mod/sources.php:104
+#: ../../mod/sources.php:138 ../../mod/filestorage.php:155
+#: ../../mod/fsuggest.php:108 ../../mod/poke.php:166
+#: ../../mod/profiles.php:667 ../../mod/admin.php:416 ../../mod/admin.php:728
+#: ../../mod/admin.php:864 ../../mod/admin.php:997 ../../mod/admin.php:1196
+#: ../../mod/admin.php:1283 ../../mod/mood.php:134 ../../mod/mail.php:355
+#: ../../mod/photos.php:565 ../../mod/photos.php:642 ../../mod/photos.php:923
+#: ../../mod/photos.php:963 ../../mod/photos.php:1081 ../../mod/poll.php:68
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:99
msgid "Submit"
msgstr "Bestätigen"
-#: ../../include/js_strings.php:23
-msgid "Please enter a link URL"
-msgstr "Bitte geben Sie eine Link-URL ein"
-
#: ../../include/js_strings.php:24
-msgid "Unsaved changes. Are you sure you wish to leave this page?"
-msgstr "Ungespeicherte Änderungen. Sind Sie sicher, dass Sie diese Seite verlassen möchten?"
-
-#: ../../include/js_strings.php:26
msgid "timeago.prefixAgo"
msgstr "timeago.prefixAgo"
-#: ../../include/js_strings.php:27
+#: ../../include/js_strings.php:25
msgid "timeago.prefixFromNow"
msgstr " "
-#: ../../include/js_strings.php:28
+#: ../../include/js_strings.php:26
msgid "ago"
msgstr "her"
-#: ../../include/js_strings.php:29
+#: ../../include/js_strings.php:27
msgid "from now"
msgstr "von jetzt"
-#: ../../include/js_strings.php:30
+#: ../../include/js_strings.php:28
msgid "less than a minute"
msgstr "weniger als eine Minute"
-#: ../../include/js_strings.php:31
+#: ../../include/js_strings.php:29
msgid "about a minute"
msgstr "ungefähr eine Minute"
-#: ../../include/js_strings.php:32
+#: ../../include/js_strings.php:30
#, php-format
msgid "%d minutes"
msgstr "%d Minuten"
-#: ../../include/js_strings.php:33
+#: ../../include/js_strings.php:31
msgid "about an hour"
msgstr "ungefähr eine Stunde"
-#: ../../include/js_strings.php:34
+#: ../../include/js_strings.php:32
#, php-format
msgid "about %d hours"
msgstr "ungefähr %d Stunden"
-#: ../../include/js_strings.php:35
+#: ../../include/js_strings.php:33
msgid "a day"
msgstr "ein Tag"
-#: ../../include/js_strings.php:36
+#: ../../include/js_strings.php:34
#, php-format
msgid "%d days"
msgstr "%d Tage"
-#: ../../include/js_strings.php:37
+#: ../../include/js_strings.php:35
msgid "about a month"
msgstr "ungefähr ein Monat"
-#: ../../include/js_strings.php:38
+#: ../../include/js_strings.php:36
#, php-format
msgid "%d months"
msgstr "%d Monate"
-#: ../../include/js_strings.php:39
+#: ../../include/js_strings.php:37
msgid "about a year"
msgstr "ungefähr ein Jahr"
-#: ../../include/js_strings.php:40
+#: ../../include/js_strings.php:38
#, php-format
msgid "%d years"
msgstr "%d Jahre"
-#: ../../include/js_strings.php:41
+#: ../../include/js_strings.php:39
msgid " "
msgstr " "
-#: ../../include/js_strings.php:42
+#: ../../include/js_strings.php:40
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/RedDAV/RedBrowser.php:107
-#: ../../include/RedDAV/RedBrowser.php:268
+#: ../../include/RedDAV/RedBrowser.php:106
+#: ../../include/RedDAV/RedBrowser.php:266
msgid "parent"
msgstr "Übergeordnetes Verzeichnis"
-#: ../../include/RedDAV/RedBrowser.php:134
+#: ../../include/RedDAV/RedBrowser.php:133
msgid "Principal"
msgstr "Prinzipal"
-#: ../../include/RedDAV/RedBrowser.php:137
+#: ../../include/RedDAV/RedBrowser.php:136
msgid "Addressbook"
msgstr "Adressbuch"
-#: ../../include/RedDAV/RedBrowser.php:140
+#: ../../include/RedDAV/RedBrowser.php:139
msgid "Calendar"
msgstr "Kalender"
-#: ../../include/RedDAV/RedBrowser.php:143
+#: ../../include/RedDAV/RedBrowser.php:142
msgid "Schedule Inbox"
msgstr "Posteingang für überwachte Kalender"
-#: ../../include/RedDAV/RedBrowser.php:146
+#: ../../include/RedDAV/RedBrowser.php:145
msgid "Schedule Outbox"
msgstr "Postausgang für überwachte Kalender"
-#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1019
-#: ../../include/apps.php:336 ../../include/apps.php:387
-#: ../../mod/photos.php:693 ../../mod/photos.php:1131
+#: ../../include/RedDAV/RedBrowser.php:163 ../../include/apps.php:336
+#: ../../include/apps.php:387 ../../include/conversation.php:1019
+#: ../../mod/connedit.php:570 ../../mod/photos.php:681
+#: ../../mod/photos.php:1113
msgid "Unknown"
msgstr "Unbekannt"
-#: ../../include/RedDAV/RedBrowser.php:227
+#: ../../include/RedDAV/RedBrowser.php:225
#, php-format
msgid "%1$s used"
msgstr "%1$s verwendet"
-#: ../../include/RedDAV/RedBrowser.php:232
+#: ../../include/RedDAV/RedBrowser.php:230
#, php-format
msgid "%1$s used of %2$s (%3$s&#37;)"
msgstr "%1$s von %2$s verwendet (%3$s&#37;)"
-#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
-#: ../../include/conversation.php:1609 ../../include/apps.php:135
+#: ../../include/RedDAV/RedBrowser.php:249 ../../include/nav.php:98
+#: ../../include/apps.php:135 ../../include/conversation.php:1595
#: ../../mod/fbrowser.php:114
msgid "Files"
msgstr "Dateien"
-#: ../../include/RedDAV/RedBrowser.php:253
+#: ../../include/RedDAV/RedBrowser.php:251
msgid "Total"
msgstr "Summe"
-#: ../../include/RedDAV/RedBrowser.php:255
+#: ../../include/RedDAV/RedBrowser.php:253
msgid "Shared"
msgstr "Geteilt"
-#: ../../include/RedDAV/RedBrowser.php:256
-#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/webpages.php:180
-#: ../../mod/blocks.php:152 ../../mod/menu.php:109
-#: ../../mod/new_channel.php:121 ../../mod/layouts.php:175
+#: ../../include/RedDAV/RedBrowser.php:254
+#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/menu.php:100
+#: ../../mod/mitem.php:169 ../../mod/new_channel.php:121
msgid "Create"
msgstr "Erstelle"
-#: ../../include/RedDAV/RedBrowser.php:257
-#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/profile_photo.php:362
-#: ../../mod/photos.php:718 ../../mod/photos.php:1248
+#: ../../include/RedDAV/RedBrowser.php:255
+#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362
+#: ../../mod/photos.php:706 ../../mod/photos.php:1228
msgid "Upload"
msgstr "Hochladen"
-#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/admin.php:994
-#: ../../mod/settings.php:590 ../../mod/settings.php:616
-#: ../../mod/sharedwithme.php:95
+#: ../../include/RedDAV/RedBrowser.php:262 ../../mod/settings.php:585
+#: ../../mod/settings.php:611 ../../mod/admin.php:871
+#: ../../mod/sharedwithme.php:100
msgid "Name"
msgstr "Name"
-#: ../../include/RedDAV/RedBrowser.php:265
+#: ../../include/RedDAV/RedBrowser.php:263
msgid "Type"
msgstr "Typ"
-#: ../../include/RedDAV/RedBrowser.php:266 ../../mod/sharedwithme.php:97
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:101
msgid "Size"
msgstr "Größe"
-#: ../../include/RedDAV/RedBrowser.php:267 ../../mod/sharedwithme.php:98
+#: ../../include/RedDAV/RedBrowser.php:265 ../../mod/sharedwithme.php:102
msgid "Last Modified"
msgstr "Zuletzt geändert"
-#: ../../include/RedDAV/RedBrowser.php:270 ../../include/ItemObject.php:120
-#: ../../include/conversation.php:660 ../../include/apps.php:255
-#: ../../mod/webpages.php:183 ../../mod/thing.php:228 ../../mod/group.php:176
-#: ../../mod/blocks.php:155 ../../mod/photos.php:1062
-#: ../../mod/editlayout.php:107 ../../mod/editwebpage.php:225
-#: ../../mod/admin.php:826 ../../mod/admin.php:988 ../../mod/editblock.php:113
-#: ../../mod/settings.php:651 ../../mod/connedit.php:543
+#: ../../include/RedDAV/RedBrowser.php:268 ../../include/ItemObject.php:120
+#: ../../include/apps.php:255 ../../include/conversation.php:645
+#: ../../mod/connedit.php:533 ../../mod/settings.php:646
+#: ../../mod/group.php:176 ../../mod/thing.php:234 ../../mod/admin.php:735
+#: ../../mod/admin.php:866 ../../mod/photos.php:1044
msgid "Delete"
msgstr "Löschen"
-#: ../../include/RedDAV/RedBrowser.php:305
+#: ../../include/RedDAV/RedBrowser.php:302
msgid "Create new folder"
msgstr "Neuen Ordner anlegen"
-#: ../../include/RedDAV/RedBrowser.php:307
+#: ../../include/RedDAV/RedBrowser.php:304
msgid "Upload file"
msgstr "Datei hochladen"
@@ -1050,9 +1262,54 @@ msgstr "Datei hochladen"
msgid "%1$s's bookmarks"
msgstr "%1$ss Lesezeichen"
-#: ../../include/network.php:635
-msgid "view full size"
-msgstr "In Vollbildansicht anschauen"
+#: ../../include/taxonomy.php:215 ../../include/taxonomy.php:234
+msgid "Tags"
+msgstr "Schlagwörter"
+
+#: ../../include/taxonomy.php:274
+msgid "Keywords"
+msgstr "Schlüsselwörter"
+
+#: ../../include/taxonomy.php:299
+msgid "have"
+msgstr "habe"
+
+#: ../../include/taxonomy.php:299
+msgid "has"
+msgstr "hat"
+
+#: ../../include/taxonomy.php:300
+msgid "want"
+msgstr "will"
+
+#: ../../include/taxonomy.php:300
+msgid "wants"
+msgstr "will"
+
+#: ../../include/taxonomy.php:301 ../../include/ItemObject.php:254
+msgid "like"
+msgstr "mag"
+
+#: ../../include/taxonomy.php:301
+msgid "likes"
+msgstr "gefällt"
+
+#: ../../include/taxonomy.php:302 ../../include/ItemObject.php:255
+msgid "dislike"
+msgstr "verurteile"
+
+#: ../../include/taxonomy.php:302
+msgid "dislikes"
+msgstr "missfällt"
+
+#: ../../include/taxonomy.php:385 ../../include/identity.php:1155
+#: ../../include/ItemObject.php:179 ../../include/conversation.php:1692
+#: ../../mod/photos.php:1001
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Gefällt mir"
+msgstr[1] "Gefällt mir"
#: ../../include/features.php:38
msgid "General Features"
@@ -1104,7 +1361,7 @@ msgstr "Private Notizen"
#: ../../include/features.php:45
msgid "Enables a tool to store notes and reminders"
-msgstr "Aktiviert ein Werkzeug zum Speichern von Notizen und Erinnerungen"
+msgstr "Werkzeug zum Speichern von Notizen und Erinnerungen aktivieren"
#: ../../include/features.php:46
msgid "Navigation Channel Select"
@@ -1114,642 +1371,549 @@ msgstr "Kanal-Auswahl in der Navigationsleiste"
msgid "Change channels directly from within the navigation dropdown menu"
msgstr "Wechsle direkt über das Navigationsmenü zu anderen Kanälen"
-#: ../../include/features.php:47
-msgid "Photo Location"
-msgstr "Aufnahmeort"
+#: ../../include/features.php:50
+msgid "Extended Identity Sharing"
+msgstr "Erweitertes Teilen von Identitäten"
-#: ../../include/features.php:47
-msgid "If location data is available on uploaded photos, link this to a map."
-msgstr "Aufnahmeort auf einer Karte verlinken, falls verfügbar."
+#: ../../include/features.php:50
+msgid ""
+"Share your identity with all websites on the internet. When disabled, "
+"identity is only shared with sites in the matrix."
+msgstr "Teile Deine Identität mit allen Webseiten im Internet. Ist dies deaktiviert, wird Deine Identität nur mit Red-Servern geteilt."
-#: ../../include/features.php:49
+#: ../../include/features.php:51
msgid "Expert Mode"
msgstr "Expertenmodus"
-#: ../../include/features.php:49
+#: ../../include/features.php:51
msgid "Enable Expert Mode to provide advanced configuration options"
msgstr "Aktiviere den Expertenmodus, um fortgeschrittene Konfigurationsoptionen zu aktivieren"
-#: ../../include/features.php:50
+#: ../../include/features.php:52
msgid "Premium Channel"
msgstr "Premium-Kanal"
-#: ../../include/features.php:50
+#: ../../include/features.php:52
msgid ""
"Allows you to set restrictions and terms on those that connect with your "
"channel"
msgstr "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen"
-#: ../../include/features.php:55
+#: ../../include/features.php:57
msgid "Post Composition Features"
msgstr "Nachbearbeitungsfunktionen"
-#: ../../include/features.php:57
+#: ../../include/features.php:59
msgid "Use Markdown"
msgstr "Markdown benutzen"
-#: ../../include/features.php:57
+#: ../../include/features.php:59
msgid "Allow use of \"Markdown\" to format posts"
msgstr "Erlaube die Verwendung von \"Markdown\"-Syntax zur Formatierung von Beiträgen"
-#: ../../include/features.php:58
+#: ../../include/features.php:60
msgid "Large Photos"
msgstr "Große Fotos"
-#: ../../include/features.php:58
+#: ../../include/features.php:60
msgid ""
"Include large (640px) photo thumbnails in posts. If not enabled, use small "
"(320px) photo thumbnails"
msgstr "Große Vorschaubilder (640px) in Beiträgen anzeigen. Ist das deaktiviert, werden kleine Vorschaubilder (320px) angezeigt."
-#: ../../include/features.php:59 ../../include/widgets.php:546
-#: ../../mod/sources.php:88
-msgid "Channel Sources"
-msgstr "Kanal-Quellen"
-
-#: ../../include/features.php:59
+#: ../../include/features.php:61
msgid "Automatically import channel content from other channels or feeds"
msgstr "Importiere automatisch Inhalte für diesen Kanal von anderen Kanälen oder Feeds"
-#: ../../include/features.php:60
+#: ../../include/features.php:62
msgid "Even More Encryption"
msgstr "Noch mehr Verschlüsselung"
-#: ../../include/features.php:60
+#: ../../include/features.php:62
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr "Erlaube optionale Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Sicherheitsschlüssel)"
-#: ../../include/features.php:61
+#: ../../include/features.php:63
msgid "Enable voting tools"
msgstr "Umfragewerkzeuge aktivieren"
-#: ../../include/features.php:61
+#: ../../include/features.php:63
msgid "Provide a class of post which others can vote on"
msgstr "Aktiviere die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, Deinem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)"
-#: ../../include/features.php:67
+#: ../../include/features.php:64
+msgid "Flag Adult Photos"
+msgstr "Nicht jugendfreie Fotos markieren"
+
+#: ../../include/features.php:64
+msgid "Provide photo edit option to hide adult photos from default album view"
+msgstr "Stellt eine Option zum Verstecken von Fotos mit nicht jugendfreien Inhalten in der Standard-Albumansicht bereit"
+
+#: ../../include/features.php:69
msgid "Network and Stream Filtering"
msgstr "Netzwerk- und Stream-Filter"
-#: ../../include/features.php:68
+#: ../../include/features.php:70
msgid "Search by Date"
msgstr "Suche nach Datum"
-#: ../../include/features.php:68
+#: ../../include/features.php:70
msgid "Ability to select posts by date ranges"
msgstr "Möglichkeit, Beiträge nach Zeiträumen auszuwählen"
-#: ../../include/features.php:69
+#: ../../include/features.php:71
msgid "Collections Filter"
msgstr "Filter für Sammlung"
-#: ../../include/features.php:69
+#: ../../include/features.php:71
msgid "Enable widget to display Network posts only from selected collections"
msgstr "Aktiviere nur Netzwerk-Beiträge von ausgewählten Sammlungen"
-#: ../../include/features.php:70 ../../include/widgets.php:274
-msgid "Saved Searches"
-msgstr "Gespeicherte Suchanfragen"
-
-#: ../../include/features.php:70
+#: ../../include/features.php:72
msgid "Save search terms for re-use"
msgstr "Suchbegriffe zur Wiederverwendung abspeichern"
-#: ../../include/features.php:71
+#: ../../include/features.php:73
msgid "Network Personal Tab"
msgstr "Persönlicher Netzwerkreiter"
-#: ../../include/features.php:71
+#: ../../include/features.php:73
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Aktiviere Reiter nur für die Netzwerk-Beiträge, mit denen Du interagiert hast"
-#: ../../include/features.php:72
+#: ../../include/features.php:74
msgid "Network New Tab"
msgstr "Netzwerkreiter Neu"
-#: ../../include/features.php:72
+#: ../../include/features.php:74
msgid "Enable tab to display all new Network activity"
msgstr "Aktiviere Reiter, um alle neuen Netzwerkaktivitäten zu zeigen"
-#: ../../include/features.php:73
+#: ../../include/features.php:75
msgid "Affinity Tool"
-msgstr "Beziehungswerkzeug"
+msgstr "Beziehungs-Tool"
-#: ../../include/features.php:73
+#: ../../include/features.php:75
msgid "Filter stream activity by depth of relationships"
msgstr "Filter Aktivitätenstream nach Tiefe der Beziehung"
-#: ../../include/features.php:74
+#: ../../include/features.php:76
msgid "Suggest Channels"
msgstr "Kanäle vorschlagen"
-#: ../../include/features.php:74
+#: ../../include/features.php:76
msgid "Show channel suggestions"
msgstr "Kanalvorschläge anzeigen"
-#: ../../include/features.php:79
+#: ../../include/features.php:81
msgid "Post/Comment Tools"
-msgstr "Beitrag-/Kommentarwerkzeuge"
+msgstr "Beitrag-/Kommentar-Tools"
-#: ../../include/features.php:80
+#: ../../include/features.php:82
msgid "Tagging"
msgstr "Verschlagworten"
-#: ../../include/features.php:80
+#: ../../include/features.php:82
msgid "Ability to tag existing posts"
msgstr "Möglichkeit, um existierende Beiträge zu verschlagworten"
-#: ../../include/features.php:81
+#: ../../include/features.php:83
msgid "Post Categories"
msgstr "Beitrags-Kategorien"
-#: ../../include/features.php:81
+#: ../../include/features.php:83
msgid "Add categories to your posts"
msgstr "Kategorien für Beiträge"
-#: ../../include/features.php:82 ../../include/widgets.php:304
-#: ../../include/contact_widgets.php:57
-msgid "Saved Folders"
-msgstr "Gespeicherte Ordner"
-
-#: ../../include/features.php:82
+#: ../../include/features.php:84
msgid "Ability to file posts under folders"
msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln"
-#: ../../include/features.php:83
+#: ../../include/features.php:85
msgid "Dislike Posts"
msgstr "Gefällt-mir-nicht Beiträge"
-#: ../../include/features.php:83
+#: ../../include/features.php:85
msgid "Ability to dislike posts/comments"
msgstr "„Gefällt mir nicht“ ermöglichen"
-#: ../../include/features.php:84
+#: ../../include/features.php:86
msgid "Star Posts"
msgstr "Beiträge mit Sternchen versehen"
-#: ../../include/features.php:84
+#: ../../include/features.php:86
msgid "Ability to mark special posts with a star indicator"
msgstr "Möglichkeit, spezielle Beiträge mit Sternchen-Symbol zu markieren"
-#: ../../include/features.php:85
+#: ../../include/features.php:87
msgid "Tag Cloud"
msgstr "Schlagwort-Wolke"
-#: ../../include/features.php:85
+#: ../../include/features.php:87
msgid "Provide a personal tag cloud on your channel page"
msgstr "Persönliche Schlagwort-Wolke auf Deiner Kanal-Seite anzeigen"
-#: ../../include/widgets.php:35 ../../include/taxonomy.php:264
-#: ../../include/contact_widgets.php:92
-msgid "Categories"
-msgstr "Kategorien"
-
-#: ../../include/widgets.php:91 ../../include/nav.php:163
-#: ../../mod/apps.php:36
-msgid "Apps"
-msgstr "Apps"
-
-#: ../../include/widgets.php:92
-msgid "System"
-msgstr "System"
-
-#: ../../include/widgets.php:94 ../../include/conversation.php:1504
-msgid "Personal"
-msgstr "Persönlich"
-
-#: ../../include/widgets.php:95
-msgid "Create Personal App"
-msgstr "Persönliche App erstellen"
-
-#: ../../include/widgets.php:96
-msgid "Edit Personal App"
-msgstr "Persönliche App bearbeiten"
-
-#: ../../include/widgets.php:136 ../../include/widgets.php:175
-#: ../../include/Contact.php:107 ../../include/conversation.php:945
-#: ../../include/identity.php:828 ../../mod/match.php:64
-#: ../../mod/directory.php:302 ../../mod/suggest.php:52
-msgid "Connect"
-msgstr "Verbinden"
-
-#: ../../include/widgets.php:138 ../../mod/suggest.php:54
-msgid "Ignore/Hide"
-msgstr "Ignorieren/Verstecken"
-
-#: ../../include/widgets.php:143 ../../mod/connections.php:268
-msgid "Suggestions"
-msgstr "Vorschläge"
-
-#: ../../include/widgets.php:144
-msgid "See more..."
-msgstr "Mehr anzeigen …"
-
-#: ../../include/widgets.php:166
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen."
-
-#: ../../include/widgets.php:172
-msgid "Add New Connection"
-msgstr "Neue Verbindung hinzufügen"
-
-#: ../../include/widgets.php:173
-msgid "Enter the channel address"
-msgstr "Adresse des Kanals eingeben"
+#: ../../include/auth.php:130
+msgid "Logged out."
+msgstr "Ausgeloggt."
-#: ../../include/widgets.php:174
-msgid "Example: bob@example.com, http://example.com/barbara"
-msgstr "Beispiel: bob@beispiel.com, http://beispiel.com/barbara"
+#: ../../include/auth.php:271
+msgid "Failed authentication"
+msgstr "Authentifizierung fehlgeschlagen"
-#: ../../include/widgets.php:190
-msgid "Notes"
-msgstr "Notizen"
+#: ../../include/auth.php:285 ../../mod/openid.php:190
+msgid "Login failed."
+msgstr "Login fehlgeschlagen."
-#: ../../include/widgets.php:266
-msgid "Remove term"
-msgstr "Eintrag löschen"
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
+msgstr "Häufig"
-#: ../../include/widgets.php:307 ../../include/contact_widgets.php:60
-#: ../../include/contact_widgets.php:95
-msgid "Everything"
-msgstr "Alles"
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
+msgstr "Stündlich"
-#: ../../include/widgets.php:349
-msgid "Archives"
-msgstr "Archive"
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
+msgstr "Zwei Mal am Tag"
-#: ../../include/widgets.php:427 ../../mod/connedit.php:572
-msgid "Me"
-msgstr "Ich"
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
+msgstr "Täglich"
-#: ../../include/widgets.php:428 ../../mod/connedit.php:573
-msgid "Family"
-msgstr "Familie"
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "Wöchentlich"
-#: ../../include/widgets.php:429 ../../include/identity.php:394
-#: ../../include/identity.php:395 ../../include/identity.php:402
-#: ../../include/profile_selectors.php:80 ../../mod/settings.php:345
-#: ../../mod/settings.php:349 ../../mod/settings.php:350
-#: ../../mod/settings.php:353 ../../mod/settings.php:364
-#: ../../mod/connedit.php:574
-msgid "Friends"
-msgstr "Freunde"
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "Monatlich"
-#: ../../include/widgets.php:430 ../../mod/connedit.php:575
-msgid "Acquaintances"
-msgstr "Bekannte"
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../include/widgets.php:431 ../../mod/connections.php:231
-#: ../../mod/connections.php:246 ../../mod/connedit.php:576
-msgid "All"
-msgstr "Alle"
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../include/widgets.php:450
-msgid "Refresh"
-msgstr "Aktualisieren"
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../include/widgets.php:485
-msgid "Account settings"
-msgstr "Kontoeinstellungen"
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:731
+#: ../../mod/admin.php:740 ../../boot.php:1554
+msgid "Email"
+msgstr "E-Mail"
-#: ../../include/widgets.php:491
-msgid "Channel settings"
-msgstr "Kanaleinstellungen"
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../include/widgets.php:497
-msgid "Additional features"
-msgstr "Zusätzliche Funktionen"
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../include/widgets.php:503
-msgid "Feature/Addon settings"
-msgstr "Funktion-/Addon-Einstellungen"
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
-#: ../../include/widgets.php:509
-msgid "Display settings"
-msgstr "Anzeigeeinstellungen"
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../include/widgets.php:515
-msgid "Connected apps"
-msgstr "Verbundene Apps"
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../include/widgets.php:521
-msgid "Export channel"
-msgstr "Kanal exportieren"
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "MySpace"
-#: ../../include/widgets.php:530 ../../mod/connedit.php:653
-msgid "Connection Default Permissions"
-msgstr "Standardzugriffsrechte für neue Verbindungen:"
+#: ../../include/group.php:26
+msgid ""
+"A deleted group with this name was revived. Existing item permissions "
+"<strong>may</strong> apply to this group and any future members. If this is "
+"not what you intended, please create another group with a different name."
+msgstr "Es hat früher schon einmal eine Sammlung mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Sammlung den Zugriff erlauben. Wenn das nicht Dein Plan war, erstelle bitte eine neue Sammlung mit einem anderen Namen."
-#: ../../include/widgets.php:538
-msgid "Premium Channel Settings"
-msgstr "Premium-Kanaleinstellungen"
+#: ../../include/group.php:235
+msgid "Default privacy group for new contacts"
+msgstr "Standard-Sammlung für neue Kontakte"
-#: ../../include/widgets.php:554 ../../include/nav.php:208
-#: ../../include/apps.php:134 ../../mod/admin.php:1079
-#: ../../mod/admin.php:1279
-msgid "Settings"
-msgstr "Einstellungen"
+#: ../../include/group.php:254 ../../mod/admin.php:740
+msgid "All Channels"
+msgstr "Alle Kanäle"
-#: ../../include/widgets.php:567 ../../mod/message.php:31
-#: ../../mod/mail.php:128
-msgid "Messages"
-msgstr "Nachrichten"
+#: ../../include/group.php:276
+msgid "edit"
+msgstr "Bearbeiten"
-#: ../../include/widgets.php:570
-msgid "Check Mail"
-msgstr "E-Mails abrufen"
+#: ../../include/group.php:298
+msgid "Collections"
+msgstr "Sammlungen"
-#: ../../include/widgets.php:575 ../../include/nav.php:199
-msgid "New Message"
-msgstr "Neue Nachricht"
+#: ../../include/group.php:299
+msgid "Edit collection"
+msgstr "Sammlung bearbeiten"
-#: ../../include/widgets.php:650
-msgid "Chat Rooms"
-msgstr "Chaträume"
+#: ../../include/group.php:300
+msgid "Create a new collection"
+msgstr "Neue Sammlung erzeugen"
-#: ../../include/widgets.php:670
-msgid "Bookmarked Chatrooms"
-msgstr "Gespeicherte Chatrooms"
+#: ../../include/group.php:301
+msgid "Channels not in any collection"
+msgstr "Kanäle, die nicht in einer Sammlung sind"
-#: ../../include/widgets.php:690
-msgid "Suggested Chatrooms"
-msgstr "Chatraum-Vorschläge"
+#: ../../include/identity.php:31 ../../mod/item.php:1078
+msgid "Unable to obtain identity information from database"
+msgstr "Kann keine Identitäts-Informationen aus Datenbank beziehen"
-#: ../../include/widgets.php:817 ../../include/widgets.php:875
-msgid "photo/image"
-msgstr "Foto/Bild"
+#: ../../include/identity.php:66
+msgid "Empty name"
+msgstr "Namensfeld leer"
-#: ../../include/widgets.php:970 ../../include/widgets.php:972
-msgid "Rate Me"
-msgstr "Bewerte mich"
+#: ../../include/identity.php:68
+msgid "Name too long"
+msgstr "Name ist zu lang"
-#: ../../include/widgets.php:976
-msgid "View Ratings"
-msgstr "Bewertungen ansehen"
+#: ../../include/identity.php:169
+msgid "No account identifier"
+msgstr "Keine Account-Kennung"
-#: ../../include/widgets.php:987
-msgid "Public Hubs"
-msgstr "Öffentliche Hubs"
+#: ../../include/identity.php:182
+msgid "Nickname is required."
+msgstr "Spitzname ist erforderlich."
-#: ../../include/enotify.php:58
-msgid "$Projectname Notification"
-msgstr "$Projectname-Benachrichtigung"
+#: ../../include/identity.php:196
+msgid "Reserved nickname. Please choose another."
+msgstr "Reservierter Kurzname. Bitte wähle einen anderen."
-#: ../../include/enotify.php:61
-msgid "Thank You,"
-msgstr "Danke."
+#: ../../include/identity.php:201 ../../include/dimport.php:34
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt."
-#: ../../include/enotify.php:63
-#, php-format
-msgid "%s Administrator"
-msgstr "der Administrator von %s"
+#: ../../include/identity.php:283
+msgid "Unable to retrieve created identity"
+msgstr "Kann die erstellte Identität nicht empfangen"
-#: ../../include/enotify.php:96
-#, php-format
-msgid "%s <!item_type!>"
-msgstr "%s <!item_type!>"
+#: ../../include/identity.php:343
+msgid "Default Profile"
+msgstr "Standard-Profil"
-#: ../../include/enotify.php:100
-#, php-format
-msgid "[Red:Notify] New mail received at %s"
-msgstr "[Red:Benachrichtigung] Neue Mail auf %s empfangen"
+#: ../../include/identity.php:643
+msgid "Requested channel is not available."
+msgstr "Angeforderte Kanal nicht verfügbar."
-#: ../../include/enotify.php:102
-#, php-format
-msgid "%1$s, %2$s sent you a new private message at %3$s."
-msgstr "%1$s, %2$s hat Dir eine private Nachricht auf %3$s gesendet."
+#: ../../include/identity.php:691 ../../mod/profile.php:16
+#: ../../mod/achievements.php:11 ../../mod/editblock.php:29
+#: ../../mod/blocks.php:29 ../../mod/connect.php:13 ../../mod/hcard.php:8
+#: ../../mod/editlayout.php:28 ../../mod/editwebpage.php:28
+#: ../../mod/filestorage.php:53 ../../mod/webpages.php:29
+#: ../../mod/layouts.php:29
+msgid "Requested profile is not available."
+msgstr "Erwünschte Profil ist nicht verfügbar."
-#: ../../include/enotify.php:103
-#, php-format
-msgid "%1$s sent you %2$s."
-msgstr "%1$s hat Dir %2$s geschickt."
+#: ../../include/identity.php:854 ../../mod/profiles.php:774
+msgid "Change profile photo"
+msgstr "Profilfoto ändern"
-#: ../../include/enotify.php:103
-msgid "a private message"
-msgstr "eine private Nachricht"
+#: ../../include/identity.php:861
+msgid "Profiles"
+msgstr "Profile"
-#: ../../include/enotify.php:104
-#, php-format
-msgid "Please visit %s to view and/or reply to your private messages."
-msgstr "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten."
+#: ../../include/identity.php:861
+msgid "Manage/edit profiles"
+msgstr "Profile verwalten/bearbeiten"
-#: ../../include/enotify.php:158
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]einen %4$s[/zrl] kommentiert"
+#: ../../include/identity.php:862 ../../mod/profiles.php:775
+msgid "Create New Profile"
+msgstr "Neues Profil erstellen"
-#: ../../include/enotify.php:166
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]%4$ss %5$s[/zrl] kommentiert"
+#: ../../include/identity.php:865 ../../include/nav.php:95
+msgid "Edit Profile"
+msgstr "Profile bearbeiten"
-#: ../../include/enotify.php:175
-#, php-format
-msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen %4$s[/zrl] kommentiert"
+#: ../../include/identity.php:878 ../../mod/profiles.php:786
+msgid "Profile Image"
+msgstr "Profilfoto:"
-#: ../../include/enotify.php:186
-#, php-format
-msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Red:Benachrichtigung] Kommentar in Unterhaltung #%1$d von %2$s"
+#: ../../include/identity.php:881
+msgid "visible to everybody"
+msgstr "sichtbar für jeden"
-#: ../../include/enotify.php:187
-#, php-format
-msgid "%1$s, %2$s commented on an item/conversation you have been following."
-msgstr "%1$s, %2$s hat eine Unterhaltung kommentiert, der Du folgst."
+#: ../../include/identity.php:882 ../../mod/profiles.php:669
+#: ../../mod/profiles.php:790
+msgid "Edit visibility"
+msgstr "Sichtbarkeit bearbeiten"
-#: ../../include/enotify.php:190 ../../include/enotify.php:205
-#: ../../include/enotify.php:231 ../../include/enotify.php:249
-#: ../../include/enotify.php:263
-#, php-format
-msgid "Please visit %s to view and/or reply to the conversation."
-msgstr "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren."
+#: ../../include/identity.php:894 ../../include/bb2diaspora.php:450
+#: ../../include/event.php:40 ../../mod/events.php:645
+#: ../../mod/directory.php:204
+msgid "Location:"
+msgstr "Ort:"
-#: ../../include/enotify.php:196
-#, php-format
-msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[Red:Hinweis] %s schrieb auf Deine Pinnwand"
+#: ../../include/identity.php:898 ../../include/identity.php:1139
+msgid "Gender:"
+msgstr "Geschlecht:"
-#: ../../include/enotify.php:198
-#, php-format
-msgid "%1$s, %2$s posted to your profile wall at %3$s"
-msgstr "%1$s, %2$s hat auf Deine Pinnwand auf %3$s geschrieben"
+#: ../../include/identity.php:899 ../../include/identity.php:1183
+msgid "Status:"
+msgstr "Status:"
-#: ../../include/enotify.php:200
-#, php-format
-msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
-msgstr "%1$s, %2$s hat auf [zrl=%3$s]Deine Pinnwand[/zrl] geschrieben"
+#: ../../include/identity.php:900 ../../include/identity.php:1194
+msgid "Homepage:"
+msgstr "Homepage:"
-#: ../../include/enotify.php:224
-#, php-format
-msgid "[Red:Notify] %s tagged you"
-msgstr "[Red:Benachrichtigung] %s hat Dich erwähnt"
+#: ../../include/identity.php:901
+msgid "Online Now"
+msgstr "gerade online"
-#: ../../include/enotify.php:225
-#, php-format
-msgid "%1$s, %2$s tagged you at %3$s"
-msgstr "%1$s, %2$s hat Dich auf %3$s erwähnt"
+#: ../../include/identity.php:983 ../../include/identity.php:1063
+#: ../../mod/ping.php:324
+msgid "g A l F d"
+msgstr "l, d. F, G:i \\U\\h\\r"
-#: ../../include/enotify.php:226
-#, php-format
-msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%3$s]hat Dich erwähnt[/zrl]."
+#: ../../include/identity.php:984 ../../include/identity.php:1064
+msgid "F d"
+msgstr "d. F"
-#: ../../include/enotify.php:238
-#, php-format
-msgid "[Red:Notify] %1$s poked you"
-msgstr "[Red:Benachrichtigung] %1$s hat Dich angestupst"
+#: ../../include/identity.php:1029 ../../include/identity.php:1104
+#: ../../mod/ping.php:346
+msgid "[today]"
+msgstr "[Heute]"
-#: ../../include/enotify.php:239
-#, php-format
-msgid "%1$s, %2$s poked you at %3$s"
-msgstr "%1$s, %2$s hat Dich auf %3$s angestupst"
+#: ../../include/identity.php:1041
+msgid "Birthday Reminders"
+msgstr "Geburtstags Erinnerungen"
-#: ../../include/enotify.php:240
-#, php-format
-msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
-msgstr "%1$s, %2$s [zrl=%2$s]hat Dich angestupst[/zrl]."
+#: ../../include/identity.php:1042
+msgid "Birthdays this week:"
+msgstr "Geburtstage in dieser Woche:"
-#: ../../include/enotify.php:256
-#, php-format
-msgid "[Red:Notify] %s tagged your post"
-msgstr "[Red:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet"
+#: ../../include/identity.php:1097
+msgid "[No description]"
+msgstr "[Keine Beschreibung]"
-#: ../../include/enotify.php:257
-#, php-format
-msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s hat Deinen Beitrag auf %3$s verschlagwortet"
+#: ../../include/identity.php:1115
+msgid "Event Reminders"
+msgstr "Termin-Erinnerungen"
-#: ../../include/enotify.php:258
-#, php-format
-msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s hat [zrl=%3$s]Deinen Beitrag[/zrl] verschlagwortet"
+#: ../../include/identity.php:1116
+msgid "Events this week:"
+msgstr "Termine in dieser Woche:"
-#: ../../include/enotify.php:270
-msgid "[Red:Notify] Introduction received"
-msgstr "[Red:Benachrichtigung] Vorstellung erhalten"
+#: ../../include/identity.php:1129 ../../include/identity.php:1246
+#: ../../include/apps.php:138 ../../mod/profperm.php:112
+msgid "Profile"
+msgstr "Profil"
-#: ../../include/enotify.php:271
-#, php-format
-msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
-msgstr "%1$s, Du hast eine neue Verbindungsanfrage von '%2$s' auf %3$s erhalten"
+#: ../../include/identity.php:1137 ../../mod/settings.php:1044
+msgid "Full Name:"
+msgstr "Voller Name:"
-#: ../../include/enotify.php:272
-#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
-msgstr "%1$s, Du hast [zrl=%2$s]eine neue Verbindungsanfrage[/zrl] von %3$s erhalten."
+#: ../../include/identity.php:1144
+msgid "Like this channel"
+msgstr "Dieser Kanal gefällt mir"
-#: ../../include/enotify.php:276 ../../include/enotify.php:295
-#, php-format
-msgid "You may visit their profile at %s"
-msgstr "Du kannst Dir das Profil unter %s ansehen"
+#: ../../include/identity.php:1168
+msgid "j F, Y"
+msgstr "j. F Y"
-#: ../../include/enotify.php:278
-#, php-format
-msgid "Please visit %s to approve or reject the connection request."
-msgstr "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen."
+#: ../../include/identity.php:1169
+msgid "j F"
+msgstr "j. F"
-#: ../../include/enotify.php:285
-msgid "[Red:Notify] Friend suggestion received"
-msgstr "[Red:Benachrichtigung] Freundschaftsvorschlag erhalten"
+#: ../../include/identity.php:1176
+msgid "Birthday:"
+msgstr "Geburtstag:"
-#: ../../include/enotify.php:286
-#, php-format
-msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
-msgstr "%1$s, Du hast einen Kontaktvorschlag von „%2$s“ auf %3$s erhalten"
+#: ../../include/identity.php:1180
+msgid "Age:"
+msgstr "Alter:"
-#: ../../include/enotify.php:287
+#: ../../include/identity.php:1189
#, php-format
-msgid ""
-"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
-"%4$s."
-msgstr "%1$s, Du hast [zrl=%2$s]einen Kontaktvorschlag[/zrl] für %3$s von %4$s erhalten."
-
-#: ../../include/enotify.php:293
-msgid "Name:"
-msgstr "Name:"
+msgid "for %1$d %2$s"
+msgstr "seit %1$d %2$s"
-#: ../../include/enotify.php:294
-msgid "Photo:"
-msgstr "Foto:"
+#: ../../include/identity.php:1192 ../../mod/profiles.php:691
+msgid "Sexual Preference:"
+msgstr "Sexuelle Orientierung:"
-#: ../../include/enotify.php:297
-#, php-format
-msgid "Please visit %s to approve or reject the suggestion."
-msgstr "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen."
+#: ../../include/identity.php:1196 ../../mod/profiles.php:693
+msgid "Hometown:"
+msgstr "Heimatstadt:"
-#: ../../include/enotify.php:508
-msgid "[Red:Notify]"
-msgstr "[Red:Benachrichtigung]"
+#: ../../include/identity.php:1198
+msgid "Tags:"
+msgstr "Schlagworte:"
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Häufig"
+#: ../../include/identity.php:1200 ../../mod/profiles.php:694
+msgid "Political Views:"
+msgstr "Politische Ansichten:"
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Stündlich"
+#: ../../include/identity.php:1202
+msgid "Religion:"
+msgstr "Religion:"
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Zwei Mal am Tag"
+#: ../../include/identity.php:1204
+msgid "About:"
+msgstr "Über:"
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Täglich"
+#: ../../include/identity.php:1206
+msgid "Hobbies/Interests:"
+msgstr "Hobbys/Interessen:"
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Wöchentlich"
+#: ../../include/identity.php:1208 ../../mod/profiles.php:697
+msgid "Likes:"
+msgstr "Gefällt:"
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Monatlich"
+#: ../../include/identity.php:1210 ../../mod/profiles.php:698
+msgid "Dislikes:"
+msgstr "Gefällt nicht:"
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/identity.php:1212
+msgid "Contact information and Social Networks:"
+msgstr "Kontaktinformation und soziale Netzwerke:"
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
+#: ../../include/identity.php:1214
+msgid "My other channels:"
+msgstr "Meine anderen Kanäle:"
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/identity.php:1216
+msgid "Musical interests:"
+msgstr "Musikalische Interessen:"
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
-#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
-#: ../../boot.php:1552
-msgid "Email"
-msgstr "E-Mail"
+#: ../../include/identity.php:1218
+msgid "Books, literature:"
+msgstr "Bücher, Literatur:"
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/identity.php:1220
+msgid "Television:"
+msgstr "Fernsehen:"
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/identity.php:1222
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film/Tanz/Kultur/Unterhaltung:"
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
+#: ../../include/identity.php:1224
+msgid "Love/Romance:"
+msgstr "Liebe/Romantik:"
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
+#: ../../include/identity.php:1226
+msgid "Work/employment:"
+msgstr "Arbeit/Anstellung:"
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
+#: ../../include/identity.php:1228
+msgid "School/education:"
+msgstr "Schule/Ausbildung:"
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/identity.php:1248
+msgid "Like this thing"
+msgstr "Gefällt mir"
#: ../../include/message.php:18
msgid "No recipient provided."
@@ -1783,289 +1947,160 @@ msgstr "Antwort des entfernten Kanals war unvollständig."
msgid "Channel was deleted and no longer exists."
msgstr "Kanal wurde gelöscht und existiert nicht mehr."
-#: ../../include/follow.php:135 ../../include/follow.php:206
+#: ../../include/follow.php:135 ../../include/follow.php:197
msgid "Protocol disabled."
msgstr "Protokoll deaktiviert."
-#: ../../include/follow.php:144
-msgid "Protocol blocked for this channel."
-msgstr "Das Protokoll wurde für diesen Kanal blockiert."
-
-#: ../../include/follow.php:179
+#: ../../include/follow.php:170
msgid "Channel discovery failed."
msgstr "Kanalsuche fehlgeschlagen"
-#: ../../include/follow.php:195
+#: ../../include/follow.php:186
msgid "local account not found."
msgstr "Lokales Konto nicht gefunden."
-#: ../../include/follow.php:224
+#: ../../include/follow.php:215
msgid "Cannot connect to yourself."
msgstr "Du kannst Dich nicht mit Dir selbst verbinden."
-#: ../../include/ItemObject.php:89 ../../include/conversation.php:667
-msgid "Private Message"
-msgstr "Private Nachricht"
-
-#: ../../include/ItemObject.php:126 ../../include/conversation.php:659
-msgid "Select"
-msgstr "Auswählen"
-
-#: ../../include/ItemObject.php:130
-msgid "Save to Folder"
-msgstr "In Ordner speichern"
-
-#: ../../include/ItemObject.php:151
-msgid "I will attend"
-msgstr "Ich werde teilnehmen"
-
-#: ../../include/ItemObject.php:151
-msgid "I will not attend"
-msgstr "Ich werde nicht teilnehmen"
-
-#: ../../include/ItemObject.php:151
-msgid "I might attend"
-msgstr "Ich werde vielleicht teilnehmen"
-
-#: ../../include/ItemObject.php:161
-msgid "I agree"
-msgstr "Ich stimme zu"
-
-#: ../../include/ItemObject.php:161
-msgid "I disagree"
-msgstr "Ich lehne ab"
-
-#: ../../include/ItemObject.php:161
-msgid "I abstain"
-msgstr "Ich enthalte mich"
-
-#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1677 ../../mod/photos.php:1015
-#: ../../mod/photos.php:1027
-msgid "View all"
-msgstr "Alles anzeigen"
-
-#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
-#: ../../include/conversation.php:1701 ../../include/identity.php:1138
-#: ../../mod/photos.php:1019
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Gefällt mir"
-msgstr[1] "Gefällt mir"
-
-#: ../../include/ItemObject.php:184 ../../include/conversation.php:1704
-#: ../../mod/photos.php:1024
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "Gefällt nicht"
-msgstr[1] "Gefällt nicht"
+#: ../../include/comanche.php:35 ../../mod/admin.php:357
+#: ../../view/theme/apw/php/config.php:185
+msgid "Default"
+msgstr "Standard"
-#: ../../include/ItemObject.php:212
-msgid "Add Star"
-msgstr "Stern hinzufügen"
+#: ../../include/datetime.php:35
+msgid "Miscellaneous"
+msgstr "Verschiedenes"
-#: ../../include/ItemObject.php:213
-msgid "Remove Star"
-msgstr "Stern entfernen"
+#: ../../include/datetime.php:113
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "JJJJ-MM-TT oder MM-TT"
-#: ../../include/ItemObject.php:214
-msgid "Toggle Star Status"
-msgstr "Markierungsstatus (Stern) umschalten"
+#: ../../include/datetime.php:212 ../../mod/events.php:633
+#: ../../mod/appman.php:91 ../../mod/appman.php:92
+msgid "Required"
+msgstr "Benötigt"
-#: ../../include/ItemObject.php:218
-msgid "starred"
-msgstr "markiert"
+#: ../../include/datetime.php:231
+msgid "never"
+msgstr "Nie"
-#: ../../include/ItemObject.php:227 ../../include/conversation.php:674
-msgid "Message signature validated"
-msgstr "Signatur überprüft"
+#: ../../include/datetime.php:237
+msgid "less than a second ago"
+msgstr "Vor weniger als einer Sekunde"
-#: ../../include/ItemObject.php:228 ../../include/conversation.php:675
-msgid "Message signature incorrect"
-msgstr "Signatur nicht korrekt"
+#: ../../include/datetime.php:240
+msgid "year"
+msgstr "Jahr"
-#: ../../include/ItemObject.php:236
-msgid "Add Tag"
-msgstr "Tag hinzufügen"
+#: ../../include/datetime.php:240
+msgid "years"
+msgstr "Jahre"
-#: ../../include/ItemObject.php:254 ../../mod/photos.php:959
-msgid "I like this (toggle)"
-msgstr "Mir gefällt das (Umschalter)"
+#: ../../include/datetime.php:241
+msgid "month"
+msgstr "Monat"
-#: ../../include/ItemObject.php:254 ../../include/taxonomy.php:310
-msgid "like"
-msgstr "mag"
+#: ../../include/datetime.php:241
+msgid "months"
+msgstr "Monate"
-#: ../../include/ItemObject.php:255 ../../mod/photos.php:960
-msgid "I don't like this (toggle)"
-msgstr "Mir gefällt das nicht (Umschalter)"
+#: ../../include/datetime.php:242
+msgid "week"
+msgstr "Woche"
-#: ../../include/ItemObject.php:255 ../../include/taxonomy.php:311
-msgid "dislike"
-msgstr "verurteile"
+#: ../../include/datetime.php:242
+msgid "weeks"
+msgstr "Wochen"
-#: ../../include/ItemObject.php:259
-msgid "Share This"
-msgstr "Teilen"
+#: ../../include/datetime.php:243
+msgid "day"
+msgstr "Tag"
-#: ../../include/ItemObject.php:259
-msgid "share"
-msgstr "Teilen"
+#: ../../include/datetime.php:243
+msgid "days"
+msgstr "Tage"
-#: ../../include/ItemObject.php:276
-#, php-format
-msgid "%d comment"
-msgid_plural "%d comments"
-msgstr[0] "%d Kommentar"
-msgstr[1] "%d Kommentare"
+#: ../../include/datetime.php:244
+msgid "hour"
+msgstr "Stunde"
-#: ../../include/ItemObject.php:294 ../../include/ItemObject.php:295
-#, php-format
-msgid "View %s's profile - %s"
-msgstr "Schaue Dir %ss Profil an – %s"
+#: ../../include/datetime.php:244
+msgid "hours"
+msgstr "Stunden"
-#: ../../include/ItemObject.php:298
-msgid "to"
-msgstr "an"
+#: ../../include/datetime.php:245
+msgid "minute"
+msgstr "Minute"
-#: ../../include/ItemObject.php:299
-msgid "via"
-msgstr "via"
+#: ../../include/datetime.php:245
+msgid "minutes"
+msgstr "Minuten"
-#: ../../include/ItemObject.php:300
-msgid "Wall-to-Wall"
-msgstr "Wall-to-Wall"
+#: ../../include/datetime.php:246
+msgid "second"
+msgstr "Sekunde"
-#: ../../include/ItemObject.php:301
-msgid "via Wall-To-Wall:"
-msgstr "via Wall-To-Wall:"
+#: ../../include/datetime.php:246
+msgid "seconds"
+msgstr "Sekunden"
-#: ../../include/ItemObject.php:312 ../../include/conversation.php:716
+#: ../../include/datetime.php:255
#, php-format
-msgid "from %s"
-msgstr "via %s"
+msgid "%1$d %2$s ago"
+msgstr "vor %1$d %2$s"
-#: ../../include/ItemObject.php:315 ../../include/conversation.php:719
+#: ../../include/datetime.php:463
#, php-format
-msgid "last edited: %s"
-msgstr "zuletzt bearbeitet: %s"
+msgid "%1$s's birthday"
+msgstr "%1$ss Geburtstag"
-#: ../../include/ItemObject.php:316 ../../include/conversation.php:720
+#: ../../include/datetime.php:464
#, php-format
-msgid "Expires: %s"
-msgstr "Verfällt: %s"
-
-#: ../../include/ItemObject.php:337
-msgid "Save Bookmarks"
-msgstr "Favoriten speichern"
-
-#: ../../include/ItemObject.php:338
-msgid "Add to Calendar"
-msgstr "Zum Kalender hinzufügen"
-
-#: ../../include/ItemObject.php:347
-msgid "Mark all seen"
-msgstr "Alle als gelesen markieren"
-
-#: ../../include/ItemObject.php:353 ../../mod/photos.php:1145
-msgctxt "noun"
-msgid "Likes"
-msgstr "Gefällt mir"
-
-#: ../../include/ItemObject.php:354 ../../mod/photos.php:1146
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "Gefällt nicht"
-
-#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249
-#: ../../mod/photos.php:1151
-msgid "Close"
-msgstr "Schließen"
-
-#: ../../include/ItemObject.php:364 ../../include/conversation.php:737
-#: ../../include/conversation.php:1209 ../../mod/photos.php:962
-#: ../../mod/editlayout.php:153 ../../mod/editwebpage.php:192
-#: ../../mod/editpost.php:130 ../../mod/editblock.php:155
-#: ../../mod/mail.php:241 ../../mod/mail.php:356
-msgid "Please wait"
-msgstr "Bitte warten"
-
-#: ../../include/ItemObject.php:665 ../../mod/photos.php:978
-#: ../../mod/photos.php:1096
-msgid "This is you"
-msgstr "Das bist Du"
-
-#: ../../include/ItemObject.php:669 ../../include/conversation.php:1181
-#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:179
-#: ../../mod/editpost.php:114 ../../mod/editblock.php:141
-msgid "Bold"
-msgstr "Fett"
-
-#: ../../include/ItemObject.php:670 ../../include/conversation.php:1182
-#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:180
-#: ../../mod/editpost.php:115 ../../mod/editblock.php:142
-msgid "Italic"
-msgstr "Kursiv"
-
-#: ../../include/ItemObject.php:671 ../../include/conversation.php:1183
-#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:181
-#: ../../mod/editpost.php:116 ../../mod/editblock.php:143
-msgid "Underline"
-msgstr "Unterstrichen"
-
-#: ../../include/ItemObject.php:672 ../../include/conversation.php:1184
-#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:182
-#: ../../mod/editpost.php:117 ../../mod/editblock.php:144
-msgid "Quote"
-msgstr "Zitat"
+msgid "Happy Birthday %1$s"
+msgstr "Alles Gute zum Geburtstag, %1$s"
-#: ../../include/ItemObject.php:673 ../../include/conversation.php:1185
-#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:183
-#: ../../mod/editpost.php:118 ../../mod/editblock.php:145
-msgid "Code"
-msgstr "Code"
+#: ../../include/bb2diaspora.php:349
+msgid "Attachments:"
+msgstr "Anhänge:"
-#: ../../include/ItemObject.php:674
-msgid "Image"
-msgstr "Bild"
+#: ../../include/bb2diaspora.php:428 ../../include/event.php:11
+msgid "l F d, Y \\@ g:i A"
+msgstr "l, d. F Y, H:i"
-#: ../../include/ItemObject.php:675
-msgid "Insert Link"
-msgstr "Link einfügen"
+#: ../../include/bb2diaspora.php:430
+msgid "Redmatrix event notification:"
+msgstr "RedMatrix Termin-Benachrichtigung:"
-#: ../../include/ItemObject.php:676
-msgid "Video"
-msgstr "Video"
+#: ../../include/bb2diaspora.php:434 ../../include/event.php:20
+msgid "Starts:"
+msgstr "Beginnt:"
-#: ../../include/ItemObject.php:680 ../../include/conversation.php:1236
-#: ../../mod/editpost.php:158 ../../mod/mail.php:247 ../../mod/mail.php:361
-msgid "Encrypt text"
-msgstr "Text verschlüsseln"
+#: ../../include/bb2diaspora.php:442 ../../include/event.php:30
+msgid "Finishes:"
+msgstr "Endet:"
-#: ../../include/Contact.php:124
-msgid "New window"
-msgstr "Neues Fenster"
+#: ../../include/chat.php:10
+msgid "Missing room name"
+msgstr "Der Chatraum hat keinen Namen"
-#: ../../include/Contact.php:125
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Öffne die markierte Adresse in einem neuen Browser Fenster oder Tab"
+#: ../../include/chat.php:19
+msgid "Duplicate room name"
+msgstr "Name des Chatraums bereits vergeben"
-#: ../../include/Contact.php:215 ../../mod/admin.php:739
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Benutzer '%s' gelöscht"
+#: ../../include/chat.php:68 ../../include/chat.php:76
+msgid "Invalid room specifier."
+msgstr "Ungültiger Raumbezeichner."
-#: ../../include/bb2diaspora.php:373
-msgid "Attachments:"
-msgstr "Anhänge:"
+#: ../../include/chat.php:105
+msgid "Room not found."
+msgstr "Chatraum konnte nicht gefunden werden."
-#: ../../include/bb2diaspora.php:461
-msgid "$Projectname event notification:"
-msgstr "$Projectname-Terminbenachrichtigung:"
+#: ../../include/chat.php:126
+msgid "Room is full"
+msgstr "Der Raum ist voll"
-#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1549
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1551
msgid "Logout"
msgstr "Abmelden"
@@ -2081,8 +2116,8 @@ msgstr "Home"
msgid "Your posts and conversations"
msgstr "Deine Beiträge und Unterhaltungen"
-#: ../../include/nav.php:91 ../../include/conversation.php:942
-#: ../../mod/connedit.php:494 ../../mod/connedit.php:660
+#: ../../include/nav.php:91 ../../include/conversation.php:937
+#: ../../mod/connedit.php:484 ../../mod/connedit.php:634
msgid "View Profile"
msgstr "Profil ansehen"
@@ -2098,16 +2133,12 @@ msgstr "Profile bearbeiten"
msgid "Manage/Edit profiles"
msgstr "Profile verwalten"
-#: ../../include/nav.php:95 ../../include/identity.php:851
-msgid "Edit Profile"
-msgstr "Profile bearbeiten"
-
#: ../../include/nav.php:95
msgid "Edit your profile"
msgstr "Profil bearbeiten"
-#: ../../include/nav.php:97 ../../include/conversation.php:1600
-#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
+#: ../../include/nav.php:97 ../../include/apps.php:139
+#: ../../include/conversation.php:1586 ../../mod/fbrowser.php:25
msgid "Photos"
msgstr "Fotos"
@@ -2127,8 +2158,8 @@ msgstr "Chat"
msgid "Your chatrooms"
msgstr "Deine Chaträume"
-#: ../../include/nav.php:109 ../../include/conversation.php:1635
-#: ../../include/apps.php:129
+#: ../../include/nav.php:109 ../../include/apps.php:129
+#: ../../include/conversation.php:1621
msgid "Bookmarks"
msgstr "Lesezeichen"
@@ -2136,8 +2167,8 @@ msgstr "Lesezeichen"
msgid "Your bookmarks"
msgstr "Deine Lesezeichen"
-#: ../../include/nav.php:113 ../../include/conversation.php:1645
-#: ../../include/apps.php:136 ../../mod/webpages.php:178
+#: ../../include/nav.php:113 ../../include/apps.php:136
+#: ../../include/conversation.php:1632 ../../mod/webpages.php:160
msgid "Webpages"
msgstr "Webseiten"
@@ -2145,7 +2176,7 @@ msgstr "Webseiten"
msgid "Your webpages"
msgstr "Deine Webseiten"
-#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1550
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1552
msgid "Login"
msgstr "Anmelden"
@@ -2170,7 +2201,7 @@ msgstr "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren"
msgid "Home Page"
msgstr "Homepage"
-#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1526
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1528
msgid "Register"
msgstr "Registrieren"
@@ -2179,7 +2210,7 @@ msgid "Create an account"
msgstr "Erzeuge ein Konto"
#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
-#: ../../mod/help.php:72 ../../mod/layouts.php:176
+#: ../../mod/help.php:72
msgid "Help"
msgstr "Hilfe"
@@ -2196,7 +2227,7 @@ msgid "Search site content"
msgstr "Durchsuche Seiten-Inhalt"
#: ../../include/nav.php:168 ../../include/apps.php:141
-#: ../../mod/directory.php:366
+#: ../../mod/directory.php:334
msgid "Directory"
msgstr "Verzeichnis"
@@ -2204,937 +2235,548 @@ msgstr "Verzeichnis"
msgid "Channel Directory"
msgstr "Kanal-Verzeichnis"
-#: ../../include/nav.php:180 ../../include/apps.php:133
+#: ../../include/nav.php:182 ../../include/apps.php:133
msgid "Matrix"
msgstr "Matrix"
-#: ../../include/nav.php:180
+#: ../../include/nav.php:182
msgid "Your matrix"
msgstr "Deine Matrix"
-#: ../../include/nav.php:181
+#: ../../include/nav.php:183
msgid "Mark all matrix notifications seen"
msgstr "Markiere alle Matrix-Benachrichtigungen als angesehen"
-#: ../../include/nav.php:183 ../../include/apps.php:137
+#: ../../include/nav.php:185 ../../include/apps.php:137
msgid "Channel Home"
msgstr "Mein Kanal"
-#: ../../include/nav.php:183
+#: ../../include/nav.php:185
msgid "Channel home"
msgstr "Mein Kanal"
-#: ../../include/nav.php:184
+#: ../../include/nav.php:186
msgid "Mark all channel notifications seen"
msgstr "Markiere alle Kanal-Benachrichtigungen als angesehen"
-#: ../../include/nav.php:187 ../../mod/connections.php:407
+#: ../../include/nav.php:189 ../../mod/connections.php:407
msgid "Connections"
msgstr "Verbindungen"
-#: ../../include/nav.php:190
+#: ../../include/nav.php:192
msgid "Notices"
msgstr "Benachrichtigungen"
-#: ../../include/nav.php:190
+#: ../../include/nav.php:192
msgid "Notifications"
msgstr "Benachrichtigungen"
-#: ../../include/nav.php:191
+#: ../../include/nav.php:193
msgid "See all notifications"
msgstr "Alle Benachrichtigungen ansehen"
-#: ../../include/nav.php:192 ../../mod/notifications.php:99
+#: ../../include/nav.php:194 ../../mod/notifications.php:99
msgid "Mark all system notifications seen"
msgstr "Markiere alle System-Benachrichtigungen als gesehen"
-#: ../../include/nav.php:194 ../../include/apps.php:143
+#: ../../include/nav.php:196 ../../include/apps.php:143
msgid "Mail"
msgstr "Mail"
-#: ../../include/nav.php:194
+#: ../../include/nav.php:196
msgid "Private mail"
msgstr "Persönliche Mail"
-#: ../../include/nav.php:195
+#: ../../include/nav.php:197
msgid "See all private messages"
msgstr "Alle persönlichen Nachrichten ansehen"
-#: ../../include/nav.php:196
+#: ../../include/nav.php:198
msgid "Mark all private messages seen"
msgstr "Markiere alle persönlichen Nachrichten als gesehen"
-#: ../../include/nav.php:197
+#: ../../include/nav.php:199
msgid "Inbox"
msgstr "Eingang"
-#: ../../include/nav.php:198
+#: ../../include/nav.php:200
msgid "Outbox"
msgstr "Ausgang"
-#: ../../include/nav.php:202 ../../include/apps.php:140
+#: ../../include/nav.php:204 ../../include/apps.php:140
#: ../../mod/events.php:472
msgid "Events"
msgstr "Termine"
-#: ../../include/nav.php:202
+#: ../../include/nav.php:204
msgid "Event Calendar"
msgstr "Terminkalender"
-#: ../../include/nav.php:203
+#: ../../include/nav.php:205
msgid "See all events"
msgstr "Alle Termine ansehen"
-#: ../../include/nav.php:204
+#: ../../include/nav.php:206
msgid "Mark all events seen"
msgstr "Markiere alle Termine als gesehen"
-#: ../../include/nav.php:206 ../../include/apps.php:132
-#: ../../mod/manage.php:166
+#: ../../include/nav.php:208 ../../include/apps.php:132
+#: ../../mod/manage.php:148
msgid "Channel Manager"
msgstr "Kanal-Manager"
-#: ../../include/nav.php:206
+#: ../../include/nav.php:208
msgid "Manage Your Channels"
msgstr "Verwalte Deine Kanäle"
-#: ../../include/nav.php:208
+#: ../../include/nav.php:210
msgid "Account/Channel Settings"
-msgstr "Konto-/Kanaleinstellungen"
+msgstr "Konto-/Kanal-Einstellungen"
-#: ../../include/nav.php:216 ../../mod/admin.php:120
+#: ../../include/nav.php:218 ../../mod/admin.php:123
msgid "Admin"
msgstr "Administration"
-#: ../../include/nav.php:216
+#: ../../include/nav.php:218
msgid "Site Setup and Configuration"
msgstr "Seiten-Einrichtung und -Konfiguration"
-#: ../../include/nav.php:247 ../../include/conversation.php:850
+#: ../../include/nav.php:249 ../../include/conversation.php:842
msgid "Loading..."
msgstr "Lädt ..."
-#: ../../include/nav.php:252
+#: ../../include/nav.php:254
msgid "@name, #tag, content"
msgstr "@Name, #Schlagwort, Text"
-#: ../../include/nav.php:253
+#: ../../include/nav.php:255
msgid "Please wait..."
msgstr "Bitte warten..."
-#: ../../include/taxonomy.php:222 ../../include/taxonomy.php:243
-msgid "Tags"
-msgstr "Schlagwörter"
-
-#: ../../include/taxonomy.php:287
-msgid "Keywords"
-msgstr "Schlüsselwörter"
-
-#: ../../include/taxonomy.php:308
-msgid "have"
-msgstr "habe"
-
-#: ../../include/taxonomy.php:308
-msgid "has"
-msgstr "hat"
-
-#: ../../include/taxonomy.php:309
-msgid "want"
-msgstr "will"
-
-#: ../../include/taxonomy.php:309
-msgid "wants"
-msgstr "will"
-
-#: ../../include/taxonomy.php:310
-msgid "likes"
-msgstr "gefällt"
-
-#: ../../include/taxonomy.php:311
-msgid "dislikes"
-msgstr "missfällt"
-
-#: ../../include/activities.php:39
-msgid " and "
-msgstr "und"
-
-#: ../../include/activities.php:47
-msgid "public profile"
-msgstr "öffentliches Profil"
-
-#: ../../include/activities.php:56
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s hat %2$s auf &ldquo;%3$s&rdquo; geändert"
-
-#: ../../include/activities.php:57
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Besuche %1$s's %2$s"
-
-#: ../../include/activities.php:60
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s hat ein aktualisiertes %2$s, %3$s wurde verändert."
-
-#: ../../include/security.php:349
+#: ../../include/security.php:357
msgid ""
"The form security token was not correct. This probably happened because the "
"form has been opened for too long (>3 hours) before submitting it."
msgstr "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde."
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
-msgstr "Kann meine normalen Beiträge sehen"
-
-#: ../../include/permissions.php:27
-msgid "Can view my default channel profile"
-msgstr "Kann mein Standardprofil sehen"
-
-#: ../../include/permissions.php:28
-msgid "Can view my photo albums"
-msgstr "Kann meine Fotoalben betrachten"
-
-#: ../../include/permissions.php:29
-msgid "Can view my connections"
-msgstr "Kann meine Verbindungen sehen"
-
-#: ../../include/permissions.php:30
-msgid "Can view my file storage"
-msgstr "Kann meine Dateiordner lesen"
-
-#: ../../include/permissions.php:31
-msgid "Can view my webpages"
-msgstr "Kann meine Webseiten sehen"
-
-#: ../../include/permissions.php:34
-msgid "Can send me their channel stream and posts"
-msgstr "Kann mir die Beiträge aus seinem/ihrem Kanal schicken"
+#: ../../include/ItemObject.php:89 ../../include/conversation.php:652
+msgid "Private Message"
+msgstr "Private Nachricht"
-#: ../../include/permissions.php:35
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen"
+#: ../../include/ItemObject.php:126 ../../include/conversation.php:644
+msgid "Select"
+msgstr "Auswählen"
-#: ../../include/permissions.php:36
-msgid "Can comment on or like my posts"
-msgstr "Darf meine Beiträge kommentieren und mögen/nicht mögen"
+#: ../../include/ItemObject.php:130
+msgid "Save to Folder"
+msgstr "In Ordner speichern"
-#: ../../include/permissions.php:37
-msgid "Can send me private mail messages"
-msgstr "Kann mir private Nachrichten schicken"
+#: ../../include/ItemObject.php:151
+msgid "I will attend"
+msgstr "Ich werde teilnehmen"
-#: ../../include/permissions.php:38
-msgid "Can post photos to my photo albums"
-msgstr "Kann Fotos in meinen Fotoalben veröffentlichen"
+#: ../../include/ItemObject.php:151
+msgid "I will not attend"
+msgstr "Ich werde nicht teilnehmen"
-#: ../../include/permissions.php:39
-msgid "Can like/dislike stuff"
-msgstr "Kann andere Elemente mögen/nicht mögen"
+#: ../../include/ItemObject.php:151
+msgid "I might attend"
+msgstr "Ich werde vielleicht teilnehmen"
-#: ../../include/permissions.php:39
-msgid "Profiles and things other than posts/comments"
-msgstr "Profile und alles außer Beiträge und Kommentare"
+#: ../../include/ItemObject.php:161
+msgid "I agree"
+msgstr "Ich stimme zu"
-#: ../../include/permissions.php:41
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten"
+#: ../../include/ItemObject.php:161
+msgid "I disagree"
+msgstr "Ich lehne ab"
-#: ../../include/permissions.php:41
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen"
+#: ../../include/ItemObject.php:161
+msgid "I abstain"
+msgstr "Ich enthalte mich"
-#: ../../include/permissions.php:42
-msgid "Can chat with me (when available)"
-msgstr "Kann mit mir chatten (wenn verfügbar)"
+#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
+#: ../../include/conversation.php:1667 ../../mod/photos.php:997
+#: ../../mod/photos.php:1009
+msgid "View all"
+msgstr "Alles anzeigen"
-#: ../../include/permissions.php:43
-msgid "Can write to my file storage"
-msgstr "Kann in meine Dateiordner schreiben"
+#: ../../include/ItemObject.php:184 ../../include/conversation.php:1695
+#: ../../mod/photos.php:1006
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "Gefällt nicht"
+msgstr[1] "Gefällt nicht"
-#: ../../include/permissions.php:44
-msgid "Can edit my webpages"
-msgstr "Kann meine Webseiten bearbeiten"
+#: ../../include/ItemObject.php:212
+msgid "Add Star"
+msgstr "Stern hinzufügen"
-#: ../../include/permissions.php:46
-msgid "Can source my public posts in derived channels"
-msgstr "Kann meine öffentlichen Beiträge als Quellen für Kanäle verwenden"
+#: ../../include/ItemObject.php:213
+msgid "Remove Star"
+msgstr "Stern entfernen"
-#: ../../include/permissions.php:46
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften"
+#: ../../include/ItemObject.php:214
+msgid "Toggle Star Status"
+msgstr "Markierungsstatus (Stern) umschalten"
-#: ../../include/permissions.php:48
-msgid "Can administer my channel resources"
-msgstr "Kann meine Kanäle administrieren"
+#: ../../include/ItemObject.php:218
+msgid "starred"
+msgstr "markiert"
-#: ../../include/permissions.php:48
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust"
+#: ../../include/ItemObject.php:227 ../../include/conversation.php:659
+msgid "Message signature validated"
+msgstr "Signatur überprüft"
-#: ../../include/permissions.php:893
-msgid "Social Networking"
-msgstr "Soziales Netzwerk"
+#: ../../include/ItemObject.php:228 ../../include/conversation.php:660
+msgid "Message signature incorrect"
+msgstr "Signatur nicht korrekt"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
-msgid "Mostly Public"
-msgstr "Weitgehend öffentlich"
+#: ../../include/ItemObject.php:236
+msgid "Add Tag"
+msgstr "Tag hinzufügen"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
-msgid "Restricted"
-msgstr "Beschränkt"
+#: ../../include/ItemObject.php:254 ../../mod/photos.php:941
+msgid "I like this (toggle)"
+msgstr "Mir gefällt das (Umschalter)"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-msgid "Private"
-msgstr "Privat"
+#: ../../include/ItemObject.php:255 ../../mod/photos.php:942
+msgid "I don't like this (toggle)"
+msgstr "Mir gefällt das nicht (Umschalter)"
-#: ../../include/permissions.php:894
-msgid "Community Forum"
-msgstr "Forum"
+#: ../../include/ItemObject.php:259
+msgid "Share This"
+msgstr "Teilen"
-#: ../../include/permissions.php:895
-msgid "Feed Republish"
-msgstr "Teilen von Feeds"
+#: ../../include/ItemObject.php:259
+msgid "share"
+msgstr "Teilen"
-#: ../../include/permissions.php:896
-msgid "Special Purpose"
-msgstr "Für besondere Zwecke"
+#: ../../include/ItemObject.php:276
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d Kommentar"
+msgstr[1] "%d Kommentare"
-#: ../../include/permissions.php:896
-msgid "Celebrity/Soapbox"
-msgstr "Mitteilungs-Kanal (keine Kommentare)"
+#: ../../include/ItemObject.php:294 ../../include/ItemObject.php:295
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Schaue Dir %ss Profil an – %s"
-#: ../../include/permissions.php:896
-msgid "Group Repository"
-msgstr "Gruppenarchiv"
+#: ../../include/ItemObject.php:298
+msgid "to"
+msgstr "an"
-#: ../../include/permissions.php:897 ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23
-#: ../../include/profile_selectors.php:61
-#: ../../include/profile_selectors.php:97
-msgid "Other"
-msgstr "Andere"
+#: ../../include/ItemObject.php:299
+msgid "via"
+msgstr "via"
-#: ../../include/permissions.php:897
-msgid "Custom/Expert Mode"
-msgstr "Benutzerdefiniert/Expertenmodus"
+#: ../../include/ItemObject.php:300
+msgid "Wall-to-Wall"
+msgstr "Wall-to-Wall"
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
-msgstr "Kanal"
+#: ../../include/ItemObject.php:301
+msgid "via Wall-To-Wall:"
+msgstr "via Wall-To-Wall:"
-#: ../../include/conversation.php:167 ../../mod/like.php:396
+#: ../../include/ItemObject.php:312 ../../include/conversation.php:704
#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s gefällt %2$ss %3$s nicht"
+msgid " from %s"
+msgstr "von %s"
-#: ../../include/conversation.php:204
+#: ../../include/ItemObject.php:315 ../../include/conversation.php:707
#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s ist jetzt mit %2$s verbunden"
+msgid "last edited: %s"
+msgstr "zuletzt bearbeitet: %s"
-#: ../../include/conversation.php:239
+#: ../../include/ItemObject.php:316 ../../include/conversation.php:708
#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s stupste %2$s an"
+msgid "Expires: %s"
+msgstr "Verfällt: %s"
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s ist %2$s"
+#: ../../include/ItemObject.php:337
+msgid "Save Bookmarks"
+msgstr "Favoriten speichern"
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
-msgctxt "title"
+#: ../../include/ItemObject.php:338
+msgid "Add to Calendar"
+msgstr "Zum Kalender hinzufügen"
+
+#: ../../include/ItemObject.php:347
+msgid "Mark all seen"
+msgstr "Alle als gelesen markieren"
+
+#: ../../include/ItemObject.php:353 ../../mod/photos.php:1125
+msgctxt "noun"
msgid "Likes"
msgstr "Gefällt mir"
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
-msgctxt "title"
+#: ../../include/ItemObject.php:354 ../../mod/photos.php:1126
+msgctxt "noun"
msgid "Dislikes"
-msgstr "Gefällt mir nicht"
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
-msgctxt "title"
-msgid "Agree"
-msgstr "Zustimmungen"
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
-msgctxt "title"
-msgid "Disagree"
-msgstr "Ablehnungen"
-
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
-msgctxt "title"
-msgid "Abstain"
-msgstr "Enthaltungen"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
-msgctxt "title"
-msgid "Attending"
-msgstr "Zusagen"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
-msgctxt "title"
-msgid "Not attending"
-msgstr "Absagen"
-
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
-msgctxt "title"
-msgid "Might attend"
-msgstr "Vielleicht"
-
-#: ../../include/conversation.php:692
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "%ss Profil auf %s ansehen"
-
-#: ../../include/conversation.php:707
-msgid "Categories:"
-msgstr "Kategorien:"
-
-#: ../../include/conversation.php:708
-msgid "Filed under:"
-msgstr "Gespeichert unter:"
-
-#: ../../include/conversation.php:735
-msgid "View in context"
-msgstr "Im Zusammenhang anschauen"
-
-#: ../../include/conversation.php:846
-msgid "remove"
-msgstr "lösche"
-
-#: ../../include/conversation.php:851
-msgid "Delete Selected Items"
-msgstr "Lösche die ausgewählten Elemente"
+msgstr "Gefällt nicht"
-#: ../../include/conversation.php:939
-msgid "View Source"
-msgstr "Quelle anzeigen"
+#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249
+#: ../../mod/photos.php:1131
+msgid "Close"
+msgstr "Schließen"
-#: ../../include/conversation.php:940
-msgid "Follow Thread"
-msgstr "Unterhaltung folgen"
+#: ../../include/ItemObject.php:364 ../../include/conversation.php:725
+#: ../../include/conversation.php:1198 ../../mod/editblock.php:152
+#: ../../mod/editpost.php:125 ../../mod/editlayout.php:148
+#: ../../mod/editwebpage.php:183 ../../mod/mail.php:241 ../../mod/mail.php:356
+#: ../../mod/photos.php:944
+msgid "Please wait"
+msgstr "Bitte warten"
-#: ../../include/conversation.php:941
-msgid "View Status"
-msgstr "Status ansehen"
+#: ../../include/ItemObject.php:665 ../../mod/photos.php:960
+#: ../../mod/photos.php:1078
+msgid "This is you"
+msgstr "Das bist Du"
-#: ../../include/conversation.php:943
-msgid "View Photos"
-msgstr "Fotos ansehen"
+#: ../../include/ItemObject.php:669
+msgid "Bold"
+msgstr "Fett"
-#: ../../include/conversation.php:944
-msgid "Matrix Activity"
-msgstr "Matrix-Aktivität"
+#: ../../include/ItemObject.php:670
+msgid "Italic"
+msgstr "Kursiv"
-#: ../../include/conversation.php:946
-msgid "Edit Contact"
-msgstr "Kontakt bearbeiten"
+#: ../../include/ItemObject.php:671
+msgid "Underline"
+msgstr "Unterstrichen"
-#: ../../include/conversation.php:947
-msgid "Send PM"
-msgstr "Sende PN"
+#: ../../include/ItemObject.php:672
+msgid "Quote"
+msgstr "Zitat"
-#: ../../include/conversation.php:948 ../../include/apps.php:145
-msgid "Poke"
-msgstr "Anstupsen"
+#: ../../include/ItemObject.php:673
+msgid "Code"
+msgstr "Code"
-#: ../../include/conversation.php:1062
-#, php-format
-msgid "%s likes this."
-msgstr "%s gefällt das."
+#: ../../include/ItemObject.php:674
+msgid "Image"
+msgstr "Bild"
-#: ../../include/conversation.php:1062
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s gefällt das nicht."
+#: ../../include/ItemObject.php:675
+msgid "Link"
+msgstr "Link"
-#: ../../include/conversation.php:1066
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] "<span %1$s>%2$d Person</span> gefällt das."
-msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das."
+#: ../../include/ItemObject.php:676
+msgid "Video"
+msgstr "Video"
-#: ../../include/conversation.php:1068
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] "<span %1$s>%2$d Person</span> gefällt das nicht."
-msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das nicht."
+#: ../../include/ItemObject.php:680 ../../include/conversation.php:1224
+#: ../../mod/editpost.php:152 ../../mod/mail.php:247 ../../mod/mail.php:361
+msgid "Encrypt text"
+msgstr "Text verschlüsseln"
-#: ../../include/conversation.php:1074
-msgid "and"
+#: ../../include/activities.php:39
+msgid " and "
msgstr "und"
-#: ../../include/conversation.php:1077
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ", und %d andere"
+#: ../../include/activities.php:47
+msgid "public profile"
+msgstr "öffentliches Profil"
-#: ../../include/conversation.php:1078
+#: ../../include/activities.php:56
#, php-format
-msgid "%s like this."
-msgstr "%s gefällt das."
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s hat %2$s auf &ldquo;%3$s&rdquo; geändert"
-#: ../../include/conversation.php:1078
+#: ../../include/activities.php:57
#, php-format
-msgid "%s don't like this."
-msgstr "%s gefällt das nicht."
-
-#: ../../include/conversation.php:1140
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Sichtbar für <strong>jeden</strong>"
-
-#: ../../include/conversation.php:1141 ../../mod/mail.php:174
-#: ../../mod/mail.php:289
-msgid "Please enter a link URL:"
-msgstr "Gib eine URL ein:"
-
-#: ../../include/conversation.php:1142
-msgid "Please enter a video link/URL:"
-msgstr "Gib einen Video-Link/URL ein:"
-
-#: ../../include/conversation.php:1143
-msgid "Please enter an audio link/URL:"
-msgstr "Gib einen Audio-Link/URL ein:"
-
-#: ../../include/conversation.php:1144
-msgid "Tag term:"
-msgstr "Schlagwort:"
-
-#: ../../include/conversation.php:1145 ../../mod/filer.php:49
-msgid "Save to Folder:"
-msgstr "Speichern in Ordner:"
-
-#: ../../include/conversation.php:1146
-msgid "Where are you right now?"
-msgstr "Wo bist Du jetzt grade?"
-
-#: ../../include/conversation.php:1147 ../../mod/editpost.php:52
-#: ../../mod/mail.php:175 ../../mod/mail.php:290
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Verfällt YYYY-MM-DD HH;MM"
-
-#: ../../include/conversation.php:1174 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154 ../../mod/photos.php:961 ../../mod/layouts.php:184
-msgid "Share"
-msgstr "Teilen"
-
-#: ../../include/conversation.php:1176
-msgid "Page link name"
-msgstr "Link zur Seite"
-
-#: ../../include/conversation.php:1179
-msgid "Post as"
-msgstr "Veröffentlichen als"
-
-#: ../../include/conversation.php:1186 ../../mod/editlayout.php:145
-#: ../../mod/editwebpage.php:184 ../../mod/editpost.php:119
-#: ../../mod/editblock.php:147 ../../mod/mail.php:238 ../../mod/mail.php:352
-msgid "Upload photo"
-msgstr "Foto hochladen"
-
-#: ../../include/conversation.php:1187
-msgid "upload photo"
-msgstr "Foto hochladen"
-
-#: ../../include/conversation.php:1188 ../../mod/editlayout.php:146
-#: ../../mod/editwebpage.php:185 ../../mod/editpost.php:120
-#: ../../mod/editblock.php:148 ../../mod/mail.php:239 ../../mod/mail.php:353
-msgid "Attach file"
-msgstr "Datei anhängen"
-
-#: ../../include/conversation.php:1189
-msgid "attach file"
-msgstr "Datei anfügen"
-
-#: ../../include/conversation.php:1190 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:186 ../../mod/editpost.php:121
-#: ../../mod/editblock.php:149 ../../mod/mail.php:240 ../../mod/mail.php:354
-msgid "Insert web link"
-msgstr "Link einfügen"
-
-#: ../../include/conversation.php:1191
-msgid "web link"
-msgstr "Web-Link"
-
-#: ../../include/conversation.php:1192
-msgid "Insert video link"
-msgstr "Video-Link einfügen"
-
-#: ../../include/conversation.php:1193
-msgid "video link"
-msgstr "Video-Link"
-
-#: ../../include/conversation.php:1194
-msgid "Insert audio link"
-msgstr "Audio-Link einfügen"
-
-#: ../../include/conversation.php:1195
-msgid "audio link"
-msgstr "Audio-Link"
-
-#: ../../include/conversation.php:1196 ../../mod/editlayout.php:151
-#: ../../mod/editwebpage.php:190 ../../mod/editpost.php:125
-#: ../../mod/editblock.php:153
-msgid "Set your location"
-msgstr "Legen Sie Ihren Standort fest"
-
-#: ../../include/conversation.php:1197
-msgid "set location"
-msgstr "Standort festlegen"
-
-#: ../../include/conversation.php:1198 ../../mod/editpost.php:127
-msgid "Toggle voting"
-msgstr "Umfragewerkzeug aktivieren"
-
-#: ../../include/conversation.php:1201 ../../mod/editlayout.php:152
-#: ../../mod/editwebpage.php:191 ../../mod/editpost.php:126
-#: ../../mod/editblock.php:154
-msgid "Clear browser location"
-msgstr "Browser-Standort löschen"
-
-#: ../../include/conversation.php:1202
-msgid "clear location"
-msgstr "Standort löschen"
-
-#: ../../include/conversation.php:1204 ../../mod/editwebpage.php:207
-#: ../../mod/editpost.php:142 ../../mod/editblock.php:167
-msgid "Title (optional)"
-msgstr "Titel (optional)"
-
-#: ../../include/conversation.php:1208 ../../mod/editlayout.php:168
-#: ../../mod/editwebpage.php:209 ../../mod/editpost.php:144
-#: ../../mod/editblock.php:170
-msgid "Categories (optional, comma-separated list)"
-msgstr "Kategorien (optional, kommagetrennte Liste)"
-
-#: ../../include/conversation.php:1210 ../../mod/editlayout.php:154
-#: ../../mod/editwebpage.php:193 ../../mod/editpost.php:131
-#: ../../mod/editblock.php:156
-msgid "Permission settings"
-msgstr "Berechtigungseinstellungen"
-
-#: ../../include/conversation.php:1211
-msgid "permissions"
-msgstr "Berechtigungen"
-
-#: ../../include/conversation.php:1219 ../../mod/editlayout.php:161
-#: ../../mod/editwebpage.php:202 ../../mod/editpost.php:139
-#: ../../mod/editblock.php:164
-msgid "Public post"
-msgstr "Öffentlicher Beitrag"
-
-#: ../../include/conversation.php:1221 ../../mod/editlayout.php:169
-#: ../../mod/editwebpage.php:210 ../../mod/editpost.php:145
-#: ../../mod/editblock.php:171
-msgid "Example: bob@example.com, mary@example.com"
-msgstr "Beispiel: bob@example.com, mary@example.com"
-
-#: ../../include/conversation.php:1234 ../../mod/editlayout.php:178
-#: ../../mod/editwebpage.php:219 ../../mod/editpost.php:156
-#: ../../mod/editblock.php:181 ../../mod/mail.php:245 ../../mod/mail.php:359
-msgid "Set expiration date"
-msgstr "Verfallsdatum festlegen"
-
-#: ../../include/conversation.php:1238 ../../mod/events.php:637
-#: ../../mod/editpost.php:160
-msgid "OK"
-msgstr "Ok"
-
-#: ../../include/conversation.php:1239 ../../mod/tagrm.php:11
-#: ../../mod/tagrm.php:134 ../../mod/events.php:636 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:161
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
-msgid "Cancel"
-msgstr "Abbrechen"
-
-#: ../../include/conversation.php:1481
-msgid "Discover"
-msgstr "Entdecken"
-
-#: ../../include/conversation.php:1484
-msgid "Imported public streams"
-msgstr "Importierte öffentliche Beiträge"
-
-#: ../../include/conversation.php:1489
-msgid "Commented Order"
-msgstr "Neueste Kommentare"
-
-#: ../../include/conversation.php:1492
-msgid "Sort by Comment Date"
-msgstr "Nach Kommentardatum sortiert"
-
-#: ../../include/conversation.php:1496
-msgid "Posted Order"
-msgstr "Neueste Beiträge"
-
-#: ../../include/conversation.php:1499
-msgid "Sort by Post Date"
-msgstr "Nach Beitragsdatum sortiert"
-
-#: ../../include/conversation.php:1507
-msgid "Posts that mention or involve you"
-msgstr "Beiträge mit Beteiligung Deinerseits"
-
-#: ../../include/conversation.php:1513 ../../mod/connections.php:212
-#: ../../mod/connections.php:225 ../../mod/menu.php:107
-msgid "New"
-msgstr "Neu"
-
-#: ../../include/conversation.php:1516
-msgid "Activity Stream - by date"
-msgstr "Activity Stream – nach Datum sortiert"
-
-#: ../../include/conversation.php:1522
-msgid "Starred"
-msgstr "Markiert"
-
-#: ../../include/conversation.php:1525
-msgid "Favourite Posts"
-msgstr "Markierte Beiträge"
-
-#: ../../include/conversation.php:1532
-msgid "Spam"
-msgstr "Spam"
-
-#: ../../include/conversation.php:1535
-msgid "Posts flagged as SPAM"
-msgstr "Nachrichten, die als SPAM markiert wurden"
-
-#: ../../include/conversation.php:1579 ../../mod/admin.php:993
-msgid "Channel"
-msgstr "Kanal"
-
-#: ../../include/conversation.php:1582
-msgid "Status Messages and Posts"
-msgstr "Statusnachrichten und Beiträge"
-
-#: ../../include/conversation.php:1591
-msgid "About"
-msgstr "Über"
-
-#: ../../include/conversation.php:1594
-msgid "Profile Details"
-msgstr "Profil-Details"
+msgid "Visit %1$s's %2$s"
+msgstr "Besuche %1$s's %2$s"
-#: ../../include/conversation.php:1603 ../../include/photos.php:359
-msgid "Photo Albums"
-msgstr "Fotoalben"
+#: ../../include/activities.php:60
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s hat ein aktualisiertes %2$s, %3$s wurde verändert."
-#: ../../include/conversation.php:1612
-msgid "Files and Storage"
-msgstr "Dateien und Speicher"
+#: ../../include/dir_fns.php:96
+msgid "Directory Options"
+msgstr "Verzeichnisoptionen"
-#: ../../include/conversation.php:1622 ../../include/conversation.php:1625
-msgid "Chatrooms"
-msgstr "Chaträume"
+#: ../../include/dir_fns.php:97
+msgid "Alphabetic"
+msgstr "alphabetisch"
-#: ../../include/conversation.php:1638
-msgid "Saved Bookmarks"
-msgstr "Gespeicherte Lesezeichen"
+#: ../../include/dir_fns.php:98
+msgid "Reverse Alphabetic"
+msgstr "Entgegengesetzt alphabetisch"
-#: ../../include/conversation.php:1648
-msgid "Manage Webpages"
-msgstr "Webseiten verwalten"
+#: ../../include/dir_fns.php:99
+msgid "Newest to Oldest"
+msgstr "Neueste zuerst"
-#: ../../include/conversation.php:1707
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Zusage"
-msgstr[1] "Zusagen"
+#: ../../include/dir_fns.php:100
+msgid "Oldest to Newest"
+msgstr "Älteste zuerst"
-#: ../../include/conversation.php:1710
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "Absage"
-msgstr[1] "Absagen"
+#: ../../include/dir_fns.php:101
+msgid "Public Forums Only"
+msgstr "Nur öffentliche Foren"
-#: ../../include/conversation.php:1713
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] " Unentschlossen"
-msgstr[1] "Unentschlossene"
+#: ../../include/dir_fns.php:103
+msgid "Sort"
+msgstr "Sortieren"
-#: ../../include/conversation.php:1716
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "Zustimmung"
-msgstr[1] "Zustimmungen"
+#: ../../include/dir_fns.php:119
+msgid "Enable Safe Search"
+msgstr "Sichere Suche einschalten"
-#: ../../include/conversation.php:1719
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "Ablehnung"
-msgstr[1] "Ablehnungen"
+#: ../../include/dir_fns.php:121
+msgid "Disable Safe Search"
+msgstr "Sichere Suche ausschalten"
-#: ../../include/conversation.php:1722
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "Enthaltung"
-msgstr[1] "Enthaltungen"
+#: ../../include/dir_fns.php:123
+msgid "Safe Mode"
+msgstr "Sicherer Modus"
-#: ../../include/items.php:413 ../../mod/like.php:270
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
-#: ../../mod/bulksetclose.php:11 ../../index.php:381
+#: ../../include/items.php:382 ../../mod/subthread.php:49
+#: ../../mod/group.php:68 ../../mod/profperm.php:23 ../../mod/like.php:270
+#: ../../index.php:389
msgid "Permission denied"
msgstr "Keine Berechtigung"
-#: ../../include/items.php:1035 ../../include/items.php:1081
+#: ../../include/items.php:979 ../../include/items.php:1024
msgid "(Unknown)"
msgstr "(Unbekannt)"
-#: ../../include/items.php:1249
+#: ../../include/items.php:1181
msgid "Visible to anybody on the internet."
msgstr "Für jeden im Internet sichtbar."
-#: ../../include/items.php:1251
+#: ../../include/items.php:1183
msgid "Visible to you only."
msgstr "Nur für Dich sichtbar."
-#: ../../include/items.php:1253
+#: ../../include/items.php:1185
msgid "Visible to anybody in this network."
msgstr "Für jedes Mitglied der RedMatrix sichtbar."
-#: ../../include/items.php:1255
+#: ../../include/items.php:1187
msgid "Visible to anybody authenticated."
msgstr "Für jeden sichtbar, der angemeldet ist."
-#: ../../include/items.php:1257
+#: ../../include/items.php:1189
#, php-format
msgid "Visible to anybody on %s."
msgstr "Für jeden auf %s sichtbar."
-#: ../../include/items.php:1259
+#: ../../include/items.php:1191
msgid "Visible to all connections."
msgstr "Für alle Verbindungen sichtbar."
-#: ../../include/items.php:1261
+#: ../../include/items.php:1193
msgid "Visible to approved connections."
msgstr "Nur für akzeptierte Verbindungen sichtbar."
-#: ../../include/items.php:1263
+#: ../../include/items.php:1195
msgid "Visible to specific connections."
msgstr "Sichtbar für bestimmte Verbindungen."
-#: ../../include/items.php:4075 ../../mod/thing.php:74
-#: ../../mod/display.php:36 ../../mod/filestorage.php:27
-#: ../../mod/viewsrc.php:20 ../../mod/admin.php:167 ../../mod/admin.php:1025
-#: ../../mod/admin.php:1225
+#: ../../include/items.php:4002 ../../mod/thing.php:76
+#: ../../mod/display.php:32 ../../mod/filestorage.php:27
+#: ../../mod/viewsrc.php:20 ../../mod/admin.php:168 ../../mod/admin.php:901
+#: ../../mod/admin.php:1104
msgid "Item not found."
msgstr "Element nicht gefunden."
-#: ../../include/items.php:4148 ../../include/attach.php:137
-#: ../../include/attach.php:184 ../../include/attach.php:247
-#: ../../include/attach.php:261 ../../include/attach.php:305
-#: ../../include/attach.php:319 ../../include/attach.php:350
-#: ../../include/attach.php:546 ../../include/attach.php:618
-#: ../../include/chat.php:131 ../../include/photos.php:26
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/achievements.php:30 ../../mod/manage.php:6 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:978 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/webpages.php:69 ../../mod/thing.php:241
-#: ../../mod/thing.php:256 ../../mod/thing.php:290
-#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
-#: ../../mod/events.php:219 ../../mod/group.php:9 ../../mod/network.php:12
-#: ../../mod/common.php:35 ../../mod/connections.php:169
-#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/photos.php:69
-#: ../../mod/pdledit.php:21 ../../mod/authtest.php:13
-#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/editwebpage.php:64
-#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101
-#: ../../mod/editwebpage.php:125 ../../mod/rate.php:110
-#: ../../mod/editpost.php:13 ../../mod/invite.php:13 ../../mod/invite.php:104
-#: ../../mod/locs.php:77 ../../mod/sources.php:66 ../../mod/menu.php:69
-#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
-#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
-#: ../../mod/fsuggest.php:78 ../../mod/poke.php:128 ../../mod/profiles.php:188
-#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14 ../../mod/setup.php:223
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/editblock.php:65 ../../mod/register.php:72
-#: ../../mod/settings.php:570 ../../mod/id.php:71 ../../mod/message.php:16
-#: ../../mod/mitem.php:115 ../../mod/mood.php:111 ../../mod/connedit.php:331
-#: ../../mod/mail.php:114 ../../mod/notifications.php:66
-#: ../../mod/regmod.php:17 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/appman.php:66
-#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
-#: ../../mod/page.php:31 ../../mod/page.php:86 ../../mod/bookmarks.php:46
-#: ../../mod/channel.php:100 ../../mod/channel.php:219
-#: ../../mod/channel.php:262 ../../mod/suggest.php:26
-#: ../../mod/service_limits.php:7 ../../mod/sharedwithme.php:7
-#: ../../index.php:182 ../../index.php:382
-msgid "Permission denied."
-msgstr "Zugang verweigert"
-
-#: ../../include/items.php:4550 ../../mod/group.php:38 ../../mod/group.php:140
-#: ../../mod/bulksetclose.php:51
+#: ../../include/items.php:4455 ../../mod/group.php:38 ../../mod/group.php:140
msgid "Collection not found."
msgstr "Sammlung nicht gefunden"
-#: ../../include/items.php:4566
+#: ../../include/items.php:4470
msgid "Collection is empty."
msgstr "Sammlung ist leer."
-#: ../../include/items.php:4573
+#: ../../include/items.php:4477
#, php-format
msgid "Collection: %s"
msgstr "Sammlung: %s"
-#: ../../include/items.php:4583
+#: ../../include/items.php:4488
#, php-format
msgid "Connection: %s"
msgstr "Verbindung: %s"
-#: ../../include/items.php:4585
+#: ../../include/items.php:4491
msgid "Connection not found."
msgstr "Die Verbindung wurde nicht gefunden."
-#: ../../include/zot.php:666
-msgid "Invalid data packet"
-msgstr "Ungültiges Datenpaket"
+#: ../../include/event.php:376
+msgid "This event has been added to your calendar."
+msgstr "Dieser Termin wurde zu Deinem Kalender hinzugefügt"
-#: ../../include/zot.php:682
-msgid "Unable to verify channel signature"
-msgstr "Konnte die Signatur des Kanals nicht verifizieren"
+#: ../../include/Contact.php:124
+msgid "New window"
+msgstr "Neues Fenster"
-#: ../../include/zot.php:2109
+#: ../../include/Contact.php:125
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Öffne die markierte Adresse in einem neuen Browser Fenster oder Tab"
+
+#: ../../include/Contact.php:215 ../../mod/admin.php:651
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
+msgid "User '%s' deleted"
+msgstr "Benutzer '%s' gelöscht"
-#: ../../include/oembed.php:183
-msgid "Embedded content"
-msgstr "Eingebetteter Inhalt"
+#: ../../include/network.php:613
+msgid "view full size"
+msgstr "In Vollbildansicht anschauen"
-#: ../../include/oembed.php:192
-msgid "Embedding disabled"
-msgstr "Einbetten ausgeschaltet"
+#: ../../include/diaspora.php:1938 ../../include/conversation.php:164
+#: ../../mod/like.php:383
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s gefällt %2$ss %3$s"
-#: ../../include/auth.php:131
-msgid "Logged out."
-msgstr "Ausgeloggt."
+#: ../../include/bbcode.php:115 ../../include/bbcode.php:694
+#: ../../include/bbcode.php:697 ../../include/bbcode.php:702
+#: ../../include/bbcode.php:705 ../../include/bbcode.php:708
+#: ../../include/bbcode.php:711 ../../include/bbcode.php:716
+#: ../../include/bbcode.php:719 ../../include/bbcode.php:724
+#: ../../include/bbcode.php:727 ../../include/bbcode.php:730
+#: ../../include/bbcode.php:733
+msgid "Image/photo"
+msgstr "Bild/Foto"
-#: ../../include/auth.php:272
-msgid "Failed authentication"
-msgstr "Authentifizierung fehlgeschlagen"
+#: ../../include/bbcode.php:150 ../../include/bbcode.php:744
+msgid "Encrypted content"
+msgstr "Verschlüsselter Inhalt"
-#: ../../include/auth.php:286 ../../mod/openid.php:190
-msgid "Login failed."
-msgstr "Login fehlgeschlagen."
+#: ../../include/bbcode.php:168
+msgid "Install design element: "
+msgstr "Design-Element installieren:"
+
+#: ../../include/bbcode.php:174
+msgid "QR code"
+msgstr "QR-Code"
+
+#: ../../include/bbcode.php:223
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s schrieb den folgenden %2$s %3$s"
+
+#: ../../include/bbcode.php:225
+msgid "post"
+msgstr "Beitrag"
+
+#: ../../include/bbcode.php:447
+msgid "Different viewers will see this text differently"
+msgstr "Verschiedene Betrachter werden diesen Text unterschiedlich sehen"
+
+#: ../../include/bbcode.php:662
+msgid "$1 spoiler"
+msgstr "$1 Spoiler"
+
+#: ../../include/bbcode.php:682
+msgid "$1 wrote:"
+msgstr "$1 schrieb:"
#: ../../include/contact_widgets.php:14
#, php-format
@@ -3143,7 +2785,7 @@ msgid_plural "%d invitations available"
msgstr[0] "%d Einladung verfügbar"
msgstr[1] "%d Einladungen verfügbar"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:420
msgid "Advanced"
msgstr "Fortgeschritten"
@@ -3164,12 +2806,12 @@ msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Beispiele: Robert Morgenstein, Angeln"
#: ../../include/contact_widgets.php:26 ../../mod/connections.php:413
-#: ../../mod/directory.php:362 ../../mod/directory.php:367
+#: ../../mod/directory.php:330 ../../mod/directory.php:335
msgid "Find"
msgstr "Finde"
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:366
-#: ../../mod/suggest.php:60
+#: ../../include/contact_widgets.php:27 ../../mod/suggest.php:59
+#: ../../mod/directory.php:334
msgid "Channel Suggestions"
msgstr "Kanal-Vorschläge"
@@ -3208,316 +2850,36 @@ msgstr "Anzeigen"
msgid "Don't show"
msgstr "Nicht anzeigen"
-#: ../../include/acl_selectors.php:248 ../../mod/events.php:654
-#: ../../mod/photos.php:571 ../../mod/photos.php:934 ../../mod/chat.php:209
-#: ../../mod/filestorage.php:147
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:652
+#: ../../mod/chat.php:209 ../../mod/filestorage.php:146
+#: ../../mod/photos.php:559 ../../mod/photos.php:916
msgid "Permissions"
msgstr "Berechtigungen"
-#: ../../include/attach.php:242 ../../include/attach.php:300
-msgid "Item was not found."
-msgstr "Beitrag wurde nicht gefunden."
-
-#: ../../include/attach.php:363
-msgid "No source file."
-msgstr "Keine Quelldatei."
-
-#: ../../include/attach.php:381
-msgid "Cannot locate file to replace"
-msgstr "Kann Datei zum Ersetzen nicht finden"
-
-#: ../../include/attach.php:399
-msgid "Cannot locate file to revise/update"
-msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden"
-
-#: ../../include/attach.php:410
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Datei überschreitet das Größen-Limit von %d"
-
-#: ../../include/attach.php:422
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."
-
-#: ../../include/attach.php:505
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."
-
-#: ../../include/attach.php:517
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."
-
-#: ../../include/attach.php:561 ../../include/attach.php:578
-msgid "Path not available."
-msgstr "Pfad nicht verfügbar."
-
-#: ../../include/attach.php:623
-msgid "Empty pathname"
-msgstr "Leere Pfadangabe"
-
-#: ../../include/attach.php:639
-msgid "duplicate filename or path"
-msgstr "doppelter Dateiname oder Pfad"
-
-#: ../../include/attach.php:663
-msgid "Path not found."
-msgstr "Pfad nicht gefunden."
-
-#: ../../include/attach.php:714
-msgid "mkdir failed."
-msgstr "mkdir fehlgeschlagen."
-
-#: ../../include/attach.php:718
-msgid "database storage failed."
-msgstr "Speichern in der Datenbank fehlgeschlagen."
-
-#: ../../include/identity.php:33
-msgid "Unable to obtain identity information from database"
-msgstr "Kann keine Identitäts-Informationen aus Datenbank beziehen"
-
-#: ../../include/identity.php:67
-msgid "Empty name"
-msgstr "Namensfeld leer"
-
-#: ../../include/identity.php:70
-msgid "Name too long"
-msgstr "Name ist zu lang"
-
-#: ../../include/identity.php:186
-msgid "No account identifier"
-msgstr "Keine Account-Kennung"
-
-#: ../../include/identity.php:198
-msgid "Nickname is required."
-msgstr "Spitzname ist erforderlich."
-
-#: ../../include/identity.php:212
-msgid "Reserved nickname. Please choose another."
-msgstr "Reservierter Kurzname. Bitte wähle einen anderen."
-
-#: ../../include/identity.php:217 ../../include/dimport.php:34
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt."
-
-#: ../../include/identity.php:292
-msgid "Unable to retrieve created identity"
-msgstr "Kann die erstellte Identität nicht empfangen"
-
-#: ../../include/identity.php:350
-msgid "Default Profile"
-msgstr "Standard-Profil"
-
-#: ../../include/identity.php:631
-msgid "Requested channel is not available."
-msgstr "Angeforderte Kanal nicht verfügbar."
-
-#: ../../include/identity.php:678 ../../mod/profile.php:16
-#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
-#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
-#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/filestorage.php:54 ../../mod/editblock.php:29
-#: ../../mod/layouts.php:29
-msgid "Requested profile is not available."
-msgstr "Erwünschte Profil ist nicht verfügbar."
-
-#: ../../include/identity.php:841 ../../mod/profiles.php:774
-msgid "Change profile photo"
-msgstr "Profilfoto ändern"
-
-#: ../../include/identity.php:847
-msgid "Profiles"
-msgstr "Profile"
-
-#: ../../include/identity.php:847
-msgid "Manage/edit profiles"
-msgstr "Profile verwalten/bearbeiten"
-
-#: ../../include/identity.php:848 ../../mod/profiles.php:775
-msgid "Create New Profile"
-msgstr "Neues Profil erstellen"
-
-#: ../../include/identity.php:863 ../../mod/profiles.php:786
-msgid "Profile Image"
-msgstr "Profilfoto:"
-
-#: ../../include/identity.php:866
-msgid "visible to everybody"
-msgstr "sichtbar für jeden"
-
-#: ../../include/identity.php:867 ../../mod/profiles.php:669
-#: ../../mod/profiles.php:790
-msgid "Edit visibility"
-msgstr "Sichtbarkeit bearbeiten"
-
-#: ../../include/identity.php:883 ../../include/identity.php:1122
-msgid "Gender:"
-msgstr "Geschlecht:"
-
-#: ../../include/identity.php:884 ../../include/identity.php:1166
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../include/identity.php:885 ../../include/identity.php:1177
-msgid "Homepage:"
-msgstr "Homepage:"
-
-#: ../../include/identity.php:886
-msgid "Online Now"
-msgstr "gerade online"
-
-#: ../../include/identity.php:969 ../../include/identity.php:1047
-#: ../../mod/ping.php:324
-msgid "g A l F d"
-msgstr "l, j. F, G:i \\U\\h\\r"
-
-#: ../../include/identity.php:970 ../../include/identity.php:1048
-msgid "F d"
-msgstr "d. F"
-
-#: ../../include/identity.php:1015 ../../include/identity.php:1087
-#: ../../mod/ping.php:346
-msgid "[today]"
-msgstr "[Heute]"
-
-#: ../../include/identity.php:1026
-msgid "Birthday Reminders"
-msgstr "Geburtstags Erinnerungen"
-
-#: ../../include/identity.php:1027
-msgid "Birthdays this week:"
-msgstr "Geburtstage in dieser Woche:"
-
-#: ../../include/identity.php:1080
-msgid "[No description]"
-msgstr "[Keine Beschreibung]"
-
-#: ../../include/identity.php:1098
-msgid "Event Reminders"
-msgstr "Termin-Erinnerungen"
-
-#: ../../include/identity.php:1099
-msgid "Events this week:"
-msgstr "Termine in dieser Woche:"
-
-#: ../../include/identity.php:1112 ../../include/identity.php:1229
-#: ../../include/apps.php:138 ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Profil"
-
-#: ../../include/identity.php:1120 ../../mod/settings.php:1056
-msgid "Full Name:"
-msgstr "Voller Name:"
-
-#: ../../include/identity.php:1127
-msgid "Like this channel"
-msgstr "Dieser Kanal gefällt mir"
-
-#: ../../include/identity.php:1151
-msgid "j F, Y"
-msgstr "j. F Y"
-
-#: ../../include/identity.php:1152
-msgid "j F"
-msgstr "j. F"
+#: ../../include/api.php:1081
+msgid "Public Timeline"
+msgstr "Öffentliche Zeitleiste"
-#: ../../include/identity.php:1159
-msgid "Birthday:"
-msgstr "Geburtstag:"
+#: ../../include/zot.php:673
+msgid "Invalid data packet"
+msgstr "Ungültiges Datenpaket"
-#: ../../include/identity.php:1163
-msgid "Age:"
-msgstr "Alter:"
+#: ../../include/zot.php:689
+msgid "Unable to verify channel signature"
+msgstr "Konnte die Signatur des Kanals nicht verifizieren"
-#: ../../include/identity.php:1172
+#: ../../include/zot.php:1961
#, php-format
-msgid "for %1$d %2$s"
-msgstr "seit %1$d %2$s"
-
-#: ../../include/identity.php:1175 ../../mod/profiles.php:691
-msgid "Sexual Preference:"
-msgstr "Sexuelle Orientierung:"
-
-#: ../../include/identity.php:1179 ../../mod/profiles.php:693
-msgid "Hometown:"
-msgstr "Heimatstadt:"
-
-#: ../../include/identity.php:1181
-msgid "Tags:"
-msgstr "Schlagworte:"
-
-#: ../../include/identity.php:1183 ../../mod/profiles.php:694
-msgid "Political Views:"
-msgstr "Politische Ansichten:"
-
-#: ../../include/identity.php:1185
-msgid "Religion:"
-msgstr "Religion:"
-
-#: ../../include/identity.php:1187
-msgid "About:"
-msgstr "Über:"
-
-#: ../../include/identity.php:1189
-msgid "Hobbies/Interests:"
-msgstr "Hobbys/Interessen:"
-
-#: ../../include/identity.php:1191 ../../mod/profiles.php:697
-msgid "Likes:"
-msgstr "Gefällt:"
-
-#: ../../include/identity.php:1193 ../../mod/profiles.php:698
-msgid "Dislikes:"
-msgstr "Gefällt nicht:"
-
-#: ../../include/identity.php:1195
-msgid "Contact information and Social Networks:"
-msgstr "Kontaktinformation und soziale Netzwerke:"
-
-#: ../../include/identity.php:1197
-msgid "My other channels:"
-msgstr "Meine anderen Kanäle:"
-
-#: ../../include/identity.php:1199
-msgid "Musical interests:"
-msgstr "Musikalische Interessen:"
-
-#: ../../include/identity.php:1201
-msgid "Books, literature:"
-msgstr "Bücher, Literatur:"
-
-#: ../../include/identity.php:1203
-msgid "Television:"
-msgstr "Fernsehen:"
-
-#: ../../include/identity.php:1205
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film/Tanz/Kultur/Unterhaltung:"
-
-#: ../../include/identity.php:1207
-msgid "Love/Romance:"
-msgstr "Liebe/Romantik:"
-
-#: ../../include/identity.php:1209
-msgid "Work/employment:"
-msgstr "Arbeit/Anstellung:"
-
-#: ../../include/identity.php:1211
-msgid "School/education:"
-msgstr "Schule/Ausbildung:"
-
-#: ../../include/identity.php:1231
-msgid "Like this thing"
-msgstr "Gefällt mir"
+msgid "Unable to verify site signature for %s"
+msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
+#: ../../include/profile_selectors.php:23
msgid "Male"
msgstr "Männlich"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:105
+#: ../../include/profile_selectors.php:23
msgid "Female"
msgstr "Weiblich"
@@ -3562,6 +2924,13 @@ msgid "Non-specific"
msgstr "unklar"
#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97 ../../include/permissions.php:814
+msgid "Other"
+msgstr "Andere"
+
+#: ../../include/profile_selectors.php:6
msgid "Undecided"
msgstr "Unentschieden"
@@ -3759,6 +3128,10 @@ msgstr "Adressbuch"
msgid "Mood"
msgstr "Laune"
+#: ../../include/apps.php:145 ../../include/conversation.php:943
+msgid "Poke"
+msgstr "Anstupsen"
+
#: ../../include/apps.php:148
msgid "Probe"
msgstr "Testen"
@@ -3779,7 +3152,7 @@ msgstr "Einladen"
msgid "Features"
msgstr "Funktionen"
-#: ../../include/apps.php:153 ../../mod/id.php:28
+#: ../../include/apps.php:153
msgid "Language"
msgstr "Sprache"
@@ -3787,13 +3160,12 @@ msgstr "Sprache"
msgid "Post"
msgstr "Beitrag"
-#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
-#: ../../mod/id.php:19
+#: ../../include/apps.php:155
msgid "Profile Photo"
msgstr "Profilfoto"
-#: ../../include/apps.php:247 ../../mod/settings.php:84
-#: ../../mod/settings.php:614
+#: ../../include/apps.php:247 ../../mod/settings.php:81
+#: ../../mod/settings.php:609
msgid "Update"
msgstr "Aktualisieren"
@@ -3805,111 +3177,719 @@ msgstr "Installieren"
msgid "Purchase"
msgstr "Kaufen"
-#: ../../include/bbcode.php:122 ../../include/bbcode.php:764
-#: ../../include/bbcode.php:767 ../../include/bbcode.php:772
-#: ../../include/bbcode.php:775 ../../include/bbcode.php:778
-#: ../../include/bbcode.php:781 ../../include/bbcode.php:786
-#: ../../include/bbcode.php:789 ../../include/bbcode.php:794
-#: ../../include/bbcode.php:797 ../../include/bbcode.php:800
-#: ../../include/bbcode.php:803
-msgid "Image/photo"
-msgstr "Bild/Foto"
+#: ../../include/account.php:23
+msgid "Not a valid email address"
+msgstr "Ungültige E-Mail-Adresse"
-#: ../../include/bbcode.php:161 ../../include/bbcode.php:814
-msgid "Encrypted content"
-msgstr "Verschlüsselter Inhalt"
+#: ../../include/account.php:25
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Deine E-Mail-Adresse ist dieser Seite nicht erlaubt"
+
+#: ../../include/account.php:31
+msgid "Your email address is already registered at this site."
+msgstr "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert."
-#: ../../include/bbcode.php:178
+#: ../../include/account.php:64
+msgid "An invitation is required."
+msgstr "Eine Einladung wird benötigt"
+
+#: ../../include/account.php:68
+msgid "Invitation could not be verified."
+msgstr "Die Einladung konnte nicht bestätigt werden"
+
+#: ../../include/account.php:119
+msgid "Please enter the required information."
+msgstr "Bitte gib die benötigten Informationen ein."
+
+#: ../../include/account.php:187
+msgid "Failed to store account information."
+msgstr "Speichern der Account-Informationen fehlgeschlagen"
+
+#: ../../include/account.php:245
#, php-format
-msgid "Install %s element: "
-msgstr "Element %s installieren: "
+msgid "Registration confirmation for %s"
+msgstr "Registrierungsbestätigung für %s"
-#: ../../include/bbcode.php:188 ../../mod/impel.php:37
-msgid "webpage"
-msgstr "Webseite"
+#: ../../include/account.php:313
+#, php-format
+msgid "Registration request at %s"
+msgstr "Registrierungsanfrage auf %s"
-#: ../../include/bbcode.php:191 ../../mod/impel.php:47
-msgid "layout"
-msgstr "Gestaltung"
+#: ../../include/account.php:315 ../../include/account.php:342
+#: ../../include/account.php:399
+msgid "Administrator"
+msgstr "Administrator"
-#: ../../include/bbcode.php:194 ../../mod/impel.php:42
-msgid "block"
-msgstr "Block"
+#: ../../include/account.php:337
+msgid "your registration password"
+msgstr "Dein Registrierungspasswort"
-#: ../../include/bbcode.php:197 ../../mod/impel.php:54
-msgid "menu"
-msgstr "Menü"
+#: ../../include/account.php:340 ../../include/account.php:397
+#, php-format
+msgid "Registration details for %s"
+msgstr "Registrierungsdetails für %s"
-#: ../../include/bbcode.php:211
-msgid "QR code"
-msgstr "QR-Code"
+#: ../../include/account.php:406
+msgid "Account approved."
+msgstr "Account bestätigt."
-#: ../../include/bbcode.php:262
+#: ../../include/account.php:440
#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s schrieb den folgenden %2$s %3$s"
+msgid "Registration revoked for %s"
+msgstr "Registrierung für %s widerrufen"
-#: ../../include/bbcode.php:264
-msgid "post"
-msgstr "Beitrag"
+#: ../../include/account.php:486
+msgid "Account verified. Please login."
+msgstr "Konto geprüft. Bitte melde Dich an!"
-#: ../../include/bbcode.php:514
-msgid "Different viewers will see this text differently"
-msgstr "Verschiedene Betrachter werden diesen Text unterschiedlich sehen"
+#: ../../include/account.php:674 ../../include/account.php:676
+msgid "Click here to upgrade."
+msgstr "Klicke hier, um das Upgrade durchzuführen."
-#: ../../include/bbcode.php:725
-msgid "$1 spoiler"
-msgstr "$1 Spoiler"
+#: ../../include/account.php:682
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
-#: ../../include/bbcode.php:752
-msgid "$1 wrote:"
-msgstr "$1 schrieb:"
+#: ../../include/account.php:687
+msgid "This action is not available under your subscription plan."
+msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
-#: ../../include/chat.php:23
-msgid "Missing room name"
-msgstr "Der Chatraum hat keinen Namen"
+#: ../../include/conversation.php:126 ../../mod/like.php:113
+msgid "channel"
+msgstr "Kanal"
-#: ../../include/chat.php:32
-msgid "Duplicate room name"
-msgstr "Name des Chatraums bereits vergeben"
+#: ../../include/conversation.php:167 ../../mod/like.php:385
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s gefällt %2$ss %3$s nicht"
-#: ../../include/chat.php:82 ../../include/chat.php:90
-msgid "Invalid room specifier."
-msgstr "Ungültiger Raumbezeichner."
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s ist jetzt mit %2$s verbunden"
-#: ../../include/chat.php:120
-msgid "Room not found."
-msgstr "Chatraum konnte nicht gefunden werden."
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s stupste %2$s an"
-#: ../../include/chat.php:141
-msgid "Room is full"
-msgstr "Der Raum ist voll"
+#: ../../include/conversation.php:261 ../../mod/mood.php:63
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s ist %2$s"
-#: ../../include/photos.php:94
+#: ../../include/conversation.php:556 ../../mod/photos.php:978
+msgctxt "title"
+msgid "Likes"
+msgstr "Gefällt mir"
+
+#: ../../include/conversation.php:556 ../../mod/photos.php:978
+msgctxt "title"
+msgid "Dislikes"
+msgstr "Gefällt mir nicht"
+
+#: ../../include/conversation.php:557 ../../mod/photos.php:979
+msgctxt "title"
+msgid "Agree"
+msgstr "Zustimmungen"
+
+#: ../../include/conversation.php:557 ../../mod/photos.php:979
+msgctxt "title"
+msgid "Disagree"
+msgstr "Ablehnungen"
+
+#: ../../include/conversation.php:557 ../../mod/photos.php:979
+msgctxt "title"
+msgid "Abstain"
+msgstr "Enthaltungen"
+
+#: ../../include/conversation.php:558 ../../mod/photos.php:980
+msgctxt "title"
+msgid "Attending"
+msgstr "Zusagen"
+
+#: ../../include/conversation.php:558 ../../mod/photos.php:980
+msgctxt "title"
+msgid "Not attending"
+msgstr "Absagen"
+
+#: ../../include/conversation.php:558 ../../mod/photos.php:980
+msgctxt "title"
+msgid "Might attend"
+msgstr "Vielleicht"
+
+#: ../../include/conversation.php:680
#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Bild überschreitet das Limit der Webseite von %lu bytes"
+msgid "View %s's profile @ %s"
+msgstr "%ss Profil auf %s ansehen"
-#: ../../include/photos.php:101
-msgid "Image file is empty."
-msgstr "Bilddatei ist leer."
+#: ../../include/conversation.php:695
+msgid "Categories:"
+msgstr "Kategorien:"
-#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
-msgid "Unable to process image"
-msgstr "Kann Bild nicht verarbeiten"
+#: ../../include/conversation.php:696
+msgid "Filed under:"
+msgstr "Gespeichert unter:"
-#: ../../include/photos.php:199
-msgid "Photo storage failed."
-msgstr "Foto speichern schlug fehl"
+#: ../../include/conversation.php:723
+msgid "View in context"
+msgstr "Im Zusammenhang anschauen"
-#: ../../include/photos.php:363
-msgid "Upload New Photos"
-msgstr "Lade neue Fotos hoch"
+#: ../../include/conversation.php:838
+msgid "remove"
+msgstr "lösche"
+
+#: ../../include/conversation.php:843
+msgid "Delete Selected Items"
+msgstr "Lösche die ausgewählten Elemente"
+
+#: ../../include/conversation.php:934
+msgid "View Source"
+msgstr "Quelle anzeigen"
+
+#: ../../include/conversation.php:935
+msgid "Follow Thread"
+msgstr "Unterhaltung folgen"
+
+#: ../../include/conversation.php:936
+msgid "View Status"
+msgstr "Status ansehen"
+
+#: ../../include/conversation.php:938
+msgid "View Photos"
+msgstr "Fotos ansehen"
+
+#: ../../include/conversation.php:939
+msgid "Matrix Activity"
+msgstr "Matrix-Aktivität"
+
+#: ../../include/conversation.php:941
+msgid "Edit Contact"
+msgstr "Kontakt bearbeiten"
+
+#: ../../include/conversation.php:942
+msgid "Send PM"
+msgstr "Sende PN"
+
+#: ../../include/conversation.php:1061
+#, php-format
+msgid "%s likes this."
+msgstr "%s gefällt das."
+
+#: ../../include/conversation.php:1061
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s gefällt das nicht."
+
+#: ../../include/conversation.php:1065
+#, php-format
+msgid "<span %1$s>%2$d people</span> like this."
+msgid_plural "<span %1$s>%2$d people</span> like this."
+msgstr[0] "<span %1$s>%2$d Person</span> gefällt das."
+msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das."
+
+#: ../../include/conversation.php:1067
+#, php-format
+msgid "<span %1$s>%2$d people</span> don't like this."
+msgid_plural "<span %1$s>%2$d people</span> don't like this."
+msgstr[0] "<span %1$s>%2$d Person</span> gefällt das nicht."
+msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das nicht."
+
+#: ../../include/conversation.php:1073
+msgid "and"
+msgstr "und"
+
+#: ../../include/conversation.php:1076
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] ", und %d andere"
+
+#: ../../include/conversation.php:1077
+#, php-format
+msgid "%s like this."
+msgstr "%s gefällt das."
+
+#: ../../include/conversation.php:1077
+#, php-format
+msgid "%s don't like this."
+msgstr "%s gefällt das nicht."
+
+#: ../../include/conversation.php:1136
+msgid "Visible to <strong>everybody</strong>"
+msgstr "Sichtbar für <strong>jeden</strong>"
+
+#: ../../include/conversation.php:1137 ../../mod/mail.php:174
+#: ../../mod/mail.php:289
+msgid "Please enter a link URL:"
+msgstr "Gib eine URL ein:"
+
+#: ../../include/conversation.php:1138
+msgid "Please enter a video link/URL:"
+msgstr "Gib einen Video-Link/URL ein:"
+
+#: ../../include/conversation.php:1139
+msgid "Please enter an audio link/URL:"
+msgstr "Gib einen Audio-Link/URL ein:"
+
+#: ../../include/conversation.php:1140
+msgid "Tag term:"
+msgstr "Schlagwort:"
+
+#: ../../include/conversation.php:1141 ../../mod/filer.php:49
+msgid "Save to Folder:"
+msgstr "Speichern in Ordner:"
+
+#: ../../include/conversation.php:1142
+msgid "Where are you right now?"
+msgstr "Wo bist Du jetzt grade?"
+
+#: ../../include/conversation.php:1143 ../../mod/editpost.php:52
+#: ../../mod/mail.php:175 ../../mod/mail.php:290
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Verfällt YYYY-MM-DD HH;MM"
+
+#: ../../include/conversation.php:1170 ../../mod/editblock.php:198
+#: ../../mod/editlayout.php:193 ../../mod/editwebpage.php:230
+#: ../../mod/layouts.php:168 ../../mod/photos.php:943
+msgid "Share"
+msgstr "Teilen"
+
+#: ../../include/conversation.php:1172 ../../mod/editwebpage.php:170
+msgid "Page link title"
+msgstr "Seitentitel-Link"
+
+#: ../../include/conversation.php:1175
+msgid "Post as"
+msgstr "Veröffentlichen als"
+
+#: ../../include/conversation.php:1176 ../../mod/editblock.php:144
+#: ../../mod/editpost.php:114 ../../mod/editlayout.php:140
+#: ../../mod/editwebpage.php:175 ../../mod/mail.php:238 ../../mod/mail.php:352
+msgid "Upload photo"
+msgstr "Foto hochladen"
+
+#: ../../include/conversation.php:1177
+msgid "upload photo"
+msgstr "Foto hochladen"
+
+#: ../../include/conversation.php:1178 ../../mod/editblock.php:145
+#: ../../mod/editpost.php:115 ../../mod/editlayout.php:141
+#: ../../mod/editwebpage.php:176 ../../mod/mail.php:239 ../../mod/mail.php:353
+msgid "Attach file"
+msgstr "Datei anhängen"
+
+#: ../../include/conversation.php:1179
+msgid "attach file"
+msgstr "Datei anfügen"
+
+#: ../../include/conversation.php:1180 ../../mod/editblock.php:146
+#: ../../mod/editpost.php:116 ../../mod/editlayout.php:142
+#: ../../mod/editwebpage.php:177 ../../mod/mail.php:240 ../../mod/mail.php:354
+msgid "Insert web link"
+msgstr "Link einfügen"
+
+#: ../../include/conversation.php:1181
+msgid "web link"
+msgstr "Web-Link"
+
+#: ../../include/conversation.php:1182
+msgid "Insert video link"
+msgstr "Video-Link einfügen"
+
+#: ../../include/conversation.php:1183
+msgid "video link"
+msgstr "Video-Link"
+
+#: ../../include/conversation.php:1184
+msgid "Insert audio link"
+msgstr "Audio-Link einfügen"
+
+#: ../../include/conversation.php:1185
+msgid "audio link"
+msgstr "Audio-Link"
+
+#: ../../include/conversation.php:1186 ../../mod/editblock.php:150
+#: ../../mod/editpost.php:120 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:181
+msgid "Set your location"
+msgstr "Standort"
+
+#: ../../include/conversation.php:1187
+msgid "set location"
+msgstr "Standort"
+
+#: ../../include/conversation.php:1188 ../../mod/editpost.php:122
+msgid "Toggle voting"
+msgstr "Umfragewerkzeug aktivieren"
+
+#: ../../include/conversation.php:1191 ../../mod/editblock.php:151
+#: ../../mod/editpost.php:121 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:182
+msgid "Clear browser location"
+msgstr "Browser-Standort löschen"
+
+#: ../../include/conversation.php:1192
+msgid "clear location"
+msgstr "Standort löschen"
+
+#: ../../include/conversation.php:1194 ../../mod/editblock.php:164
+#: ../../mod/editpost.php:136 ../../mod/editlayout.php:159
+#: ../../mod/editwebpage.php:198
+msgid "Title (optional)"
+msgstr "Titel (optional)"
+
+#: ../../include/conversation.php:1197 ../../mod/editblock.php:167
+#: ../../mod/editpost.php:138 ../../mod/editlayout.php:162
+#: ../../mod/editwebpage.php:200
+msgid "Categories (optional, comma-separated list)"
+msgstr "Kategorien (optional, kommagetrennte Liste)"
+
+#: ../../include/conversation.php:1199 ../../mod/editblock.php:153
+#: ../../mod/editpost.php:126 ../../mod/editlayout.php:149
+#: ../../mod/editwebpage.php:184
+msgid "Permission settings"
+msgstr "Berechtigungs-Einstellungen"
+
+#: ../../include/conversation.php:1200
+msgid "permissions"
+msgstr "Berechtigungen"
+
+#: ../../include/conversation.php:1207 ../../mod/editblock.php:161
+#: ../../mod/editpost.php:133 ../../mod/editlayout.php:156
+#: ../../mod/editwebpage.php:193
+msgid "Public post"
+msgstr "Öffentlicher Beitrag"
+
+#: ../../include/conversation.php:1209 ../../mod/editblock.php:168
+#: ../../mod/editpost.php:139 ../../mod/editlayout.php:163
+#: ../../mod/editwebpage.php:201
+msgid "Example: bob@example.com, mary@example.com"
+msgstr "Beispiel: bob@example.com, mary@example.com"
+
+#: ../../include/conversation.php:1222 ../../mod/editblock.php:178
+#: ../../mod/editpost.php:150 ../../mod/editlayout.php:173
+#: ../../mod/editwebpage.php:210 ../../mod/mail.php:245 ../../mod/mail.php:359
+msgid "Set expiration date"
+msgstr "Verfallsdatum"
+
+#: ../../include/conversation.php:1226 ../../mod/editpost.php:154
+#: ../../mod/events.php:635
+msgid "OK"
+msgstr "Ok"
+
+#: ../../include/conversation.php:1227 ../../mod/editpost.php:155
+#: ../../mod/events.php:634 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/settings.php:584
+#: ../../mod/settings.php:610 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: ../../include/conversation.php:1471
+msgid "Discover"
+msgstr "Entdecken"
+
+#: ../../include/conversation.php:1474
+msgid "Imported public streams"
+msgstr "Importierte öffentliche Beiträge"
+
+#: ../../include/conversation.php:1479
+msgid "Commented Order"
+msgstr "Neueste Kommentare"
+
+#: ../../include/conversation.php:1482
+msgid "Sort by Comment Date"
+msgstr "Nach Kommentardatum sortiert"
+
+#: ../../include/conversation.php:1486
+msgid "Posted Order"
+msgstr "Neueste Beiträge"
+
+#: ../../include/conversation.php:1489
+msgid "Sort by Post Date"
+msgstr "Nach Beitragsdatum sortiert"
+
+#: ../../include/conversation.php:1497
+msgid "Posts that mention or involve you"
+msgstr "Beiträge mit Beteiligung Deinerseits"
+
+#: ../../include/conversation.php:1503 ../../mod/connections.php:212
+#: ../../mod/connections.php:225 ../../mod/menu.php:80
+msgid "New"
+msgstr "Neu"
+
+#: ../../include/conversation.php:1506
+msgid "Activity Stream - by date"
+msgstr "Activity Stream – nach Datum sortiert"
+
+#: ../../include/conversation.php:1512
+msgid "Starred"
+msgstr "Markiert"
+
+#: ../../include/conversation.php:1515
+msgid "Favourite Posts"
+msgstr "Markierte Beiträge"
+
+#: ../../include/conversation.php:1522
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1525
+msgid "Posts flagged as SPAM"
+msgstr "Nachrichten, die als SPAM markiert wurden"
+
+#: ../../include/conversation.php:1565 ../../mod/admin.php:870
+msgid "Channel"
+msgstr "Kanal"
+
+#: ../../include/conversation.php:1568
+msgid "Status Messages and Posts"
+msgstr "Statusnachrichten und Beiträge"
+
+#: ../../include/conversation.php:1577
+msgid "About"
+msgstr "Über"
+
+#: ../../include/conversation.php:1580
+msgid "Profile Details"
+msgstr "Profil-Details"
+
+#: ../../include/conversation.php:1598
+msgid "Files and Storage"
+msgstr "Dateien und Speicher"
+
+#: ../../include/conversation.php:1608 ../../include/conversation.php:1611
+msgid "Chatrooms"
+msgstr "Chaträume"
+
+#: ../../include/conversation.php:1624
+msgid "Saved Bookmarks"
+msgstr "Gespeicherte Lesezeichen"
+
+#: ../../include/conversation.php:1635
+msgid "Manage Webpages"
+msgstr "Webseiten verwalten"
+
+#: ../../include/conversation.php:1698
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Zusage"
+msgstr[1] "Zusagen"
+
+#: ../../include/conversation.php:1701
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Absage"
+msgstr[1] "Absagen"
+
+#: ../../include/conversation.php:1704
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] " Unentschlossen"
+msgstr[1] "Unentschlossene"
+
+#: ../../include/conversation.php:1707
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "Zustimmung"
+msgstr[1] "Zustimmungen"
+
+#: ../../include/conversation.php:1710
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Ablehnung"
+msgstr[1] "Ablehnungen"
+
+#: ../../include/conversation.php:1713
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "Enthaltung"
+msgstr[1] "Enthaltungen"
+
+#: ../../include/oembed.php:171
+msgid "Embedded content"
+msgstr "Eingebetteter Inhalt"
+
+#: ../../include/oembed.php:180
+msgid "Embedding disabled"
+msgstr "Einbetten ausgeschaltet"
+
+#: ../../include/permissions.php:26
+msgid "Can view my normal stream and posts"
+msgstr "Kann meine normalen Beiträge sehen"
+
+#: ../../include/permissions.php:27
+msgid "Can view my default channel profile"
+msgstr "Kann mein Standardprofil sehen"
+
+#: ../../include/permissions.php:28
+msgid "Can view my photo albums"
+msgstr "Kann meine Fotoalben betrachten"
+
+#: ../../include/permissions.php:29
+msgid "Can view my connections"
+msgstr "Kann meine Verbindungen sehen"
+
+#: ../../include/permissions.php:30
+msgid "Can view my file storage"
+msgstr "Kann meine Dateiordner lesen"
+
+#: ../../include/permissions.php:31
+msgid "Can view my webpages"
+msgstr "Kann meine Webseiten sehen"
+
+#: ../../include/permissions.php:34
+msgid "Can send me their channel stream and posts"
+msgstr "Kann mir die Beiträge aus seinem/ihrem Kanal schicken"
+
+#: ../../include/permissions.php:35
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen"
+
+#: ../../include/permissions.php:36
+msgid "Can comment on or like my posts"
+msgstr "Darf meine Beiträge kommentieren und mögen/nicht mögen"
+
+#: ../../include/permissions.php:37
+msgid "Can send me private mail messages"
+msgstr "Kann mir private Nachrichten schicken"
+
+#: ../../include/permissions.php:38
+msgid "Can post photos to my photo albums"
+msgstr "Kann Fotos in meinen Fotoalben veröffentlichen"
+
+#: ../../include/permissions.php:39
+msgid "Can like/dislike stuff"
+msgstr "Kann andere Elemente mögen/nicht mögen"
+
+#: ../../include/permissions.php:39
+msgid "Profiles and things other than posts/comments"
+msgstr "Profile und alles außer Beiträge und Kommentare"
+
+#: ../../include/permissions.php:41
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten"
+
+#: ../../include/permissions.php:41
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen"
+
+#: ../../include/permissions.php:42
+msgid "Can chat with me (when available)"
+msgstr "Kann mit mir chatten (wenn verfügbar)"
+
+#: ../../include/permissions.php:43
+msgid "Can write to my file storage"
+msgstr "Kann in meine Dateiordner schreiben"
+
+#: ../../include/permissions.php:44
+msgid "Can edit my webpages"
+msgstr "Kann meine Webseiten bearbeiten"
+
+#: ../../include/permissions.php:46
+msgid "Can source my public posts in derived channels"
+msgstr "Kann meine öffentlichen Beiträge als Quellen für Kanäle verwenden"
+
+#: ../../include/permissions.php:46
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften"
+
+#: ../../include/permissions.php:48
+msgid "Can administer my channel resources"
+msgstr "Kann meine Kanäle administrieren"
+
+#: ../../include/permissions.php:48
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust"
+
+#: ../../include/permissions.php:810
+msgid "Social Networking"
+msgstr "Soziales Netzwerk"
+
+#: ../../include/permissions.php:810 ../../include/permissions.php:811
+#: ../../include/permissions.php:812
+msgid "Mostly Public"
+msgstr "Weitgehend öffentlich"
+
+#: ../../include/permissions.php:810 ../../include/permissions.php:811
+#: ../../include/permissions.php:812
+msgid "Restricted"
+msgstr "Beschränkt"
+
+#: ../../include/permissions.php:810 ../../include/permissions.php:811
+msgid "Private"
+msgstr "Privat"
+
+#: ../../include/permissions.php:811
+msgid "Community Forum"
+msgstr "Forum"
+
+#: ../../include/permissions.php:812
+msgid "Feed Republish"
+msgstr "Teilen von Feeds"
+
+#: ../../include/permissions.php:813
+msgid "Special Purpose"
+msgstr "Für besondere Zwecke"
+
+#: ../../include/permissions.php:813
+msgid "Celebrity/Soapbox"
+msgstr "Mitteilungs-Kanal (keine Kommentare)"
+
+#: ../../include/permissions.php:813
+msgid "Group Repository"
+msgstr "Gruppenarchiv"
+
+#: ../../include/permissions.php:814
+msgid "Custom/Expert Mode"
+msgstr "Benutzerdefiniert/Expertenmodus"
#: ../../mod/achievements.php:34
msgid "Some blurb about what to do when you're new here"
msgstr "Ein Hinweis, was man tun kann, wenn man neu hier ist"
+#: ../../mod/editblock.php:79 ../../mod/editblock.php:95
+#: ../../mod/editpost.php:20 ../../mod/editlayout.php:78
+#: ../../mod/editwebpage.php:77
+msgid "Item not found"
+msgstr "Element nicht gefunden"
+
+#: ../../mod/editblock.php:115
+msgid "Edit Block"
+msgstr "Block bearbeiten"
+
+#: ../../mod/editblock.php:125
+msgid "Delete block?"
+msgstr "Block löschen?"
+
+#: ../../mod/editblock.php:147 ../../mod/editpost.php:117
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:178
+msgid "Insert YouTube video"
+msgstr "YouTube-Video einfügen"
+
+#: ../../mod/editblock.php:148 ../../mod/editpost.php:118
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:179
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Vorbis [.ogg]-Video einfügen"
+
+#: ../../mod/editblock.php:149 ../../mod/editpost.php:119
+#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:180
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Vorbis [.ogg]-Audio einfügen"
+
+#: ../../mod/editblock.php:183
+msgid "Delete Block"
+msgstr "Block löschen"
+
#: ../../mod/manage.php:136
#, php-format
msgid "You have created %1$.0f of %2$.0f allowed channels."
@@ -3919,66 +3899,32 @@ msgstr "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet."
msgid "Create a new channel"
msgstr "Neuen Kanal anlegen"
-#: ../../mod/manage.php:167
+#: ../../mod/manage.php:149
msgid "Current Channel"
msgstr "Aktueller Kanal"
-#: ../../mod/manage.php:169
+#: ../../mod/manage.php:151
msgid "Switch to one of your channels by selecting it."
msgstr "Wechsle zu einem Deiner Kanäle, indem Du auf ihn klickst."
-#: ../../mod/manage.php:170
+#: ../../mod/manage.php:152
msgid "Default Channel"
msgstr "Standard Kanal"
-#: ../../mod/manage.php:171
+#: ../../mod/manage.php:153
msgid "Make Default"
msgstr "Zum Standard machen"
-#: ../../mod/manage.php:174
+#: ../../mod/manage.php:156
#, php-format
msgid "%d new messages"
msgstr "%d neue Nachrichten"
-#: ../../mod/manage.php:175
+#: ../../mod/manage.php:157
#, php-format
msgid "%d new introductions"
msgstr "%d neue Vorstellungen"
-#: ../../mod/manage.php:177
-msgid "Delegated Channels"
-msgstr "Delegierte Kanäle"
-
-#: ../../mod/item.php:174
-msgid "Unable to locate original post."
-msgstr "Originalbeitrag nicht gefunden."
-
-#: ../../mod/item.php:440
-msgid "Empty post discarded."
-msgstr "Leeren Beitrag verworfen."
-
-#: ../../mod/item.php:480
-msgid "Executable content type not permitted to this channel."
-msgstr "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben."
-
-#: ../../mod/item.php:901
-msgid "System error. Post not saved."
-msgstr "Systemfehler. Beitrag nicht gespeichert."
-
-#: ../../mod/item.php:1119
-msgid "Unable to obtain post information from database."
-msgstr "Beitragsinformationen können nicht aus der Datenbank abgerufen werden."
-
-#: ../../mod/item.php:1126
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht."
-
-#: ../../mod/item.php:1133
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht."
-
#: ../../mod/xchan.php:6
msgid "Xchan Lookup"
msgstr "Xchan-Suche"
@@ -3987,7 +3933,7 @@ msgstr "Xchan-Suche"
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Nach xchans oder Webbies (Kanal-Adressen) suchen, die wie folgt beginnen:"
-#: ../../mod/xchan.php:37 ../../mod/menu.php:154 ../../mod/mitem.php:120
+#: ../../mod/xchan.php:37 ../../mod/menu.php:136 ../../mod/mitem.php:111
msgid "Not found."
msgstr "Nicht gefunden."
@@ -4009,49 +3955,371 @@ msgid ""
" and/or create new posts for you?"
msgstr "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?"
-#: ../../mod/api.php:105 ../../mod/photos.php:568 ../../mod/menu.php:91
-#: ../../mod/menu.php:145 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:430
-#: ../../mod/settings.php:579 ../../mod/mitem.php:163 ../../mod/mitem.php:164
-#: ../../mod/mitem.php:234 ../../mod/mitem.php:235 ../../mod/removeme.php:60
-#: ../../view/theme/redbasic/php/config.php:102
-#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1554
+#: ../../mod/api.php:105 ../../mod/settings.php:974 ../../mod/settings.php:979
+#: ../../mod/settings.php:1064 ../../mod/admin.php:396
msgid "Yes"
msgstr "Ja"
-#: ../../mod/api.php:106 ../../mod/photos.php:568 ../../mod/menu.php:91
-#: ../../mod/menu.php:145 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:428
-#: ../../mod/settings.php:579 ../../mod/mitem.php:163 ../../mod/mitem.php:164
-#: ../../mod/mitem.php:234 ../../mod/mitem.php:235 ../../mod/removeme.php:60
-#: ../../view/theme/redbasic/php/config.php:102
-#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1554
+#: ../../mod/api.php:106 ../../mod/settings.php:974 ../../mod/settings.php:979
+#: ../../mod/settings.php:1064 ../../mod/admin.php:394
msgid "No"
msgstr "Nein"
-#: ../../mod/webpages.php:191
-msgid "Page Title"
-msgstr "Seitentitel"
+#: ../../mod/blocks.php:99
+msgid "Block Name"
+msgstr "Block-Name"
-#: ../../mod/follow.php:25
-msgid "Channel added."
-msgstr "Kanal hinzugefügt."
+#: ../../mod/connedit.php:75 ../../mod/connections.php:37
+msgid "Could not access contact record."
+msgstr "Konnte nicht auf den Kontakteintrag zugreifen."
-#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
-msgid "Tag removed"
-msgstr "Schlagwort entfernt"
+#: ../../mod/connedit.php:99 ../../mod/connections.php:51
+msgid "Could not locate selected profile."
+msgstr "Gewähltes Profil nicht gefunden."
-#: ../../mod/tagrm.php:119
-msgid "Remove Item Tag"
-msgstr "Schlagwort entfernen"
+#: ../../mod/connedit.php:204 ../../mod/connections.php:94
+msgid "Connection updated."
+msgstr "Verbindung aktualisiert."
-#: ../../mod/tagrm.php:121
-msgid "Select a tag to remove: "
-msgstr "Schlagwort zum Entfernen auswählen:"
+#: ../../mod/connedit.php:206 ../../mod/connections.php:96
+msgid "Failed to update connection record."
+msgstr "Konnte den Verbindungseintrag nicht aktualisieren."
-#: ../../mod/tagrm.php:133 ../../mod/photos.php:887
-msgid "Remove"
-msgstr "Entferne"
+#: ../../mod/connedit.php:252
+msgid "is now connected to"
+msgstr "ist jetzt verbunden mit"
+
+#: ../../mod/connedit.php:365
+msgid "Could not access address book record."
+msgstr "Konnte nicht auf den Adressbuch-Eintrag zugreifen."
+
+#: ../../mod/connedit.php:379
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar."
+
+#: ../../mod/connedit.php:386
+msgid "Channel has been unblocked"
+msgstr "Kanal nicht mehr blockiert"
+
+#: ../../mod/connedit.php:387
+msgid "Channel has been blocked"
+msgstr "Kanal blockiert"
+
+#: ../../mod/connedit.php:391 ../../mod/connedit.php:403
+#: ../../mod/connedit.php:415 ../../mod/connedit.php:427
+#: ../../mod/connedit.php:443
+msgid "Unable to set address book parameters."
+msgstr "Konnte die Adressbuch-Parameter nicht setzen."
+
+#: ../../mod/connedit.php:398
+msgid "Channel has been unignored"
+msgstr "Kanal wird nicht mehr ignoriert"
+
+#: ../../mod/connedit.php:399
+msgid "Channel has been ignored"
+msgstr "Kanal wird ignoriert"
+
+#: ../../mod/connedit.php:410
+msgid "Channel has been unarchived"
+msgstr "Kanal wurde aus dem Archiv zurück geholt"
+
+#: ../../mod/connedit.php:411
+msgid "Channel has been archived"
+msgstr "Kanal wurde archiviert"
+
+#: ../../mod/connedit.php:422
+msgid "Channel has been unhidden"
+msgstr "Kanal wird nicht mehr versteckt"
+
+#: ../../mod/connedit.php:423
+msgid "Channel has been hidden"
+msgstr "Kanal wurde versteckt"
+
+#: ../../mod/connedit.php:438
+msgid "Channel has been approved"
+msgstr "Kanal wurde zugelassen"
+
+#: ../../mod/connedit.php:439
+msgid "Channel has been unapproved"
+msgstr "Zulassung des Kanals entfernt"
+
+#: ../../mod/connedit.php:467
+msgid "Connection has been removed."
+msgstr "Verbindung wurde gelöscht."
+
+#: ../../mod/connedit.php:487
+#, php-format
+msgid "View %s's profile"
+msgstr "%ss Profil ansehen"
+
+#: ../../mod/connedit.php:491
+msgid "Refresh Permissions"
+msgstr "Zugriffsrechte neu laden"
+
+#: ../../mod/connedit.php:494
+msgid "Fetch updated permissions"
+msgstr "Aktualisierte Zugriffsrechte abfragen"
+
+#: ../../mod/connedit.php:498
+msgid "Recent Activity"
+msgstr "Kürzliche Aktivitäten"
+
+#: ../../mod/connedit.php:501
+msgid "View recent posts and comments"
+msgstr "Betrachte die neuesten Beiträge und Kommentare"
+
+#: ../../mod/connedit.php:507 ../../mod/connedit.php:694
+#: ../../mod/admin.php:737
+msgid "Unblock"
+msgstr "Freigeben"
+
+#: ../../mod/connedit.php:507 ../../mod/connedit.php:694
+#: ../../mod/admin.php:736
+msgid "Block"
+msgstr "Blockieren"
+
+#: ../../mod/connedit.php:510
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen"
+
+#: ../../mod/connedit.php:514 ../../mod/connedit.php:695
+msgid "Unignore"
+msgstr "Nicht ignorieren"
+
+#: ../../mod/connedit.php:514 ../../mod/connedit.php:695
+#: ../../mod/notifications.php:51
+msgid "Ignore"
+msgstr "Ignorieren"
+
+#: ../../mod/connedit.php:517
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen"
+
+#: ../../mod/connedit.php:520
+msgid "Unarchive"
+msgstr "Aus Archiv zurückholen"
+
+#: ../../mod/connedit.php:520
+msgid "Archive"
+msgstr "Archivieren"
+
+#: ../../mod/connedit.php:523
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Verbindung archivieren/aus dem Archiv zurückholen (Archiv = Kanal als erloschen markieren, aber die Beiträge behalten)"
+
+#: ../../mod/connedit.php:526
+msgid "Unhide"
+msgstr "Wieder sichtbar machen"
+
+#: ../../mod/connedit.php:526
+msgid "Hide"
+msgstr "Verstecken"
+
+#: ../../mod/connedit.php:529
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Diese Verbindung vor anderen Verbindungen verstecken/zeigen"
+
+#: ../../mod/connedit.php:536
+msgid "Delete this connection"
+msgstr "Verbindung löschen"
+
+#: ../../mod/connedit.php:611 ../../mod/connedit.php:649
+msgid "Approve this connection"
+msgstr "Verbindung genehmigen"
+
+#: ../../mod/connedit.php:611
+msgid "Accept connection to allow communication"
+msgstr "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen"
+
+#: ../../mod/connedit.php:627
+#, php-format
+msgid "Connections: settings for %s"
+msgstr "Verbindungseinstellungen für %s"
+
+#: ../../mod/connedit.php:628
+msgid "Apply these permissions automatically"
+msgstr "Diese Berechtigungen automatisch anwenden"
+
+#: ../../mod/connedit.php:632
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr "Wende die auf dieser Seite gewählten Berechtigungen auf alle neuen Verbindungen an."
+
+#: ../../mod/connedit.php:636
+msgid "Slide to adjust your degree of friendship"
+msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen"
+
+#: ../../mod/connedit.php:637 ../../mod/rate.php:161
+msgid "Rating (this information is public)"
+msgstr "Bewertung (öffentlich sichtbar)"
+
+#: ../../mod/connedit.php:638 ../../mod/rate.php:162
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Optional kannst du deine Bewertung erklären (öffentlich sichtbar)"
+
+#: ../../mod/connedit.php:645
+msgid ""
+"Default permissions for your channel type have (just) been applied. They "
+"have not yet been submitted. Please review the permissions on this page and "
+"make any desired changes at this time. This new connection may <em>not</em> "
+"be able to communicate with you until you submit this page, which will "
+"install and apply the selected permissions."
+msgstr "Die voreingestellten Zugriffsrechte der Kategorie Deines Kanals sind hier zu sehen, wurden aber noch nicht gespeichert. Bitte sieh Dir die Zugriffsrechte auf dieser Seite an und ändere sie, wenn Du willst. Dieser Kontakt kann evtl. <em>nicht</em> mit Dir kommunizieren, bevor Du nicht auf dieser Seite auf „Senden“ geklickt hast – erst dieser Klick speichert die gewünschten Zugriffsrechte."
+
+#: ../../mod/connedit.php:648
+msgid "inherited"
+msgstr "geerbt"
+
+#: ../../mod/connedit.php:651
+msgid "Connection has no individual permissions!"
+msgstr "Diese Verbindung hat keine individuellen Zugriffsrechte!"
+
+#: ../../mod/connedit.php:652
+msgid ""
+"This may be appropriate based on your <a href=\"settings\">privacy "
+"settings</a>, though you may wish to review the \"Advanced Permissions\"."
+msgstr "Abhängig von Deinen <a href=\"settings\">Privatsphäre-Einstellungen</a> könnte das passen, eventuell solltest Du aber die „Zugriffsrechte für Fortgeschrittene“ überprüfen."
+
+#: ../../mod/connedit.php:654
+msgid "Profile Visibility"
+msgstr "Sichtbarkeit des Profils"
+
+#: ../../mod/connedit.php:655
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird."
+
+#: ../../mod/connedit.php:656
+msgid "Contact Information / Notes"
+msgstr "Kontaktinformationen / Notizen"
+
+#: ../../mod/connedit.php:657
+msgid "Edit contact notes"
+msgstr "Kontaktnotizen bearbeiten"
+
+#: ../../mod/connedit.php:659
+msgid "Their Settings"
+msgstr "Deren Einstellungen"
+
+#: ../../mod/connedit.php:660
+msgid "My Settings"
+msgstr "Meine Einstellungen"
+
+#: ../../mod/connedit.php:662
+msgid ""
+"Default permissions for this channel type have (just) been applied. They "
+"have <em>not</em> been saved and there are currently no stored default "
+"permissions. Please review/edit the applied settings and click [Submit] to "
+"finalize."
+msgstr "Die voreingestellten Zugriffsrechte der Kategorie Deines Kanals sind hier zu sehen, wurden aber noch <em>nicht</em> gespeichert, und Du hast keine Voreinstellungen für die Zugriffsrechte von Verbindungen angelegt. Bitte sieht Dir die Einstellungen an, ändere sie bei Bedarf und klicke [Senden], um den Vorgang abzuschließen."
+
+#: ../../mod/connedit.php:663
+msgid "Clear/Disable Automatic Permissions"
+msgstr "Automatische Berechtigungen abschalten/entfernen"
+
+#: ../../mod/connedit.php:664
+msgid "Forum Members"
+msgstr "Forum Mitglieder"
+
+#: ../../mod/connedit.php:665
+msgid "Soapbox"
+msgstr "Marktschreier"
+
+#: ../../mod/connedit.php:666
+msgid "Full Sharing (typical social network permissions)"
+msgstr "Vollumfängliches Teilen (übliche Berechtigungen in sozialen Netzwerken)"
+
+#: ../../mod/connedit.php:667
+msgid "Cautious Sharing "
+msgstr "Vorsichtiges Teilen"
+
+#: ../../mod/connedit.php:668
+msgid "Follow Only"
+msgstr "Nur folgen"
+
+#: ../../mod/connedit.php:669
+msgid "Individual Permissions"
+msgstr "Individuelle Zugriffsrechte"
+
+#: ../../mod/connedit.php:670
+msgid ""
+"Some permissions may be inherited from your channel <a "
+"href=\"settings\">privacy settings</a>, which have higher priority than "
+"individual settings. Changing those inherited settings on this page will "
+"have no effect."
+msgstr "Einige Berechtigungen werden von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt, die eine höhere Priorität haben als die Einstellungen bei einer Verbindung. Werden geerbte Einstellungen hier geändert, hat das keine Auswirkungen."
+
+#: ../../mod/connedit.php:671
+msgid "Advanced Permissions"
+msgstr "Zugriffsrechte für Fortgeschrittene"
+
+#: ../../mod/connedit.php:672
+msgid "Simple Permissions (select one and submit)"
+msgstr "Einfache Berechtigungs-Einstellungen (wähle eine aus und klicke auf Senden)"
+
+#: ../../mod/connedit.php:676
+#, php-format
+msgid "Visit %s's profile - %s"
+msgstr "%ss Profil besuchen - %s"
+
+#: ../../mod/connedit.php:677
+msgid "Block/Unblock contact"
+msgstr "Kontakt blockieren/freigeben"
+
+#: ../../mod/connedit.php:678
+msgid "Ignore contact"
+msgstr "Kontakt ignorieren"
+
+#: ../../mod/connedit.php:679
+msgid "Repair URL settings"
+msgstr "URL-Einstellungen reparieren"
+
+#: ../../mod/connedit.php:680
+msgid "View conversations"
+msgstr "Unterhaltungen anzeigen"
+
+#: ../../mod/connedit.php:682
+msgid "Delete contact"
+msgstr "Kontakt löschen"
+
+#: ../../mod/connedit.php:686
+msgid "Last update:"
+msgstr "Letzte Aktualisierung:"
+
+#: ../../mod/connedit.php:688
+msgid "Update public posts"
+msgstr "Öffentliche Beiträge aktualisieren"
+
+#: ../../mod/connedit.php:690
+msgid "Update now"
+msgstr "Jetzt aktualisieren"
+
+#: ../../mod/connedit.php:696
+msgid "Currently blocked"
+msgstr "Derzeit blockiert"
+
+#: ../../mod/connedit.php:697
+msgid "Currently ignored"
+msgstr "Derzeit ignoriert"
+
+#: ../../mod/connedit.php:698
+msgid "Currently archived"
+msgstr "Derzeit archiviert"
+
+#: ../../mod/connedit.php:699
+msgid "Currently pending"
+msgstr "Derzeit anstehend"
+
+#: ../../mod/home.php:48
+msgid "Red Matrix - &quot;The Network&quot;"
+msgstr "RedMatrix – &quot;Das Netzwerk&quot;"
+
+#: ../../mod/home.php:101
+#, php-format
+msgid "Welcome to %s"
+msgstr "Willkommen auf %s"
#: ../../mod/connect.php:56 ../../mod/connect.php:104
msgid "Continue"
@@ -4096,72 +4364,31 @@ msgstr "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)"
msgid "Restricted or Premium Channel"
msgstr "Eingeschränkter oder Premium-Kanal"
-#: ../../mod/thing.php:94
-msgid "Thing updated"
-msgstr "Sache aktualisiert"
-
-#: ../../mod/thing.php:153
-msgid "Object store: failed"
-msgstr "Speichern des Objekts fehlgeschlagen"
-
-#: ../../mod/thing.php:157
-msgid "Thing added"
-msgstr "Sache hinzugefügt"
-
-#: ../../mod/thing.php:175
-#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
-
-#: ../../mod/thing.php:226
-msgid "Show Thing"
-msgstr "Sache anzeigen"
-
-#: ../../mod/thing.php:233
-msgid "item not found."
-msgstr "Eintrag nicht gefunden"
-
-#: ../../mod/thing.php:261
-msgid "Edit Thing"
-msgstr "Sache bearbeiten"
-
-#: ../../mod/thing.php:263 ../../mod/thing.php:310
-msgid "Select a profile"
-msgstr "Wähle ein Profil"
-
-#: ../../mod/thing.php:267 ../../mod/thing.php:313
-msgid "Post an activity"
-msgstr "Aktivitätsnachricht senden"
-
-#: ../../mod/thing.php:267 ../../mod/thing.php:313
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Nur an Betrachter des ausgewählten Profils senden"
-
-#: ../../mod/thing.php:269 ../../mod/thing.php:315
-msgid "Name of thing e.g. something"
-msgstr "Name der Sache, z. B. irgendwas"
-
-#: ../../mod/thing.php:271 ../../mod/thing.php:316
-msgid "URL of thing (optional)"
-msgstr "URL der Sache (optional)"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "Element kann nicht bearbeitet werden."
-#: ../../mod/thing.php:273 ../../mod/thing.php:317
-msgid "URL for photo of thing (optional)"
-msgstr "URL eines Fotos der Sache (optional)"
+#: ../../mod/editpost.php:42 ../../mod/rpost.php:97
+msgid "Edit post"
+msgstr "Bearbeite Beitrag"
-#: ../../mod/thing.php:308
-msgid "Add Thing to your Profile"
-msgstr "Die Sache Deinem Profil hinzufügen"
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
+msgstr "Eintrag löschen?"
#: ../../mod/attach.php:9
msgid "Item not available."
msgstr "Element nicht verfügbar."
-#: ../../mod/probe.php:24 ../../mod/probe.php:30
+#: ../../mod/probe.php:23 ../../mod/probe.php:29
#, php-format
msgid "Fetching URL returns error: %1$s"
msgstr "Abrufen der URL gab einen Fehler zurück: %1$s"
+#: ../../mod/dav.php:121
+msgid "RedMatrix channel"
+msgstr "RedMatrix-Kanal"
+
#: ../../mod/profile_photo.php:108
msgid "Image uploaded but image cropping failed."
msgstr "Bild hochgeladen, aber das Zurechtschneiden schlug fehl."
@@ -4201,7 +4428,7 @@ msgstr "Wähle ein Profil:"
msgid "Upload Profile Photo"
msgstr "Lade neues Profilfoto hoch"
-#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
+#: ../../mod/profile_photo.php:366 ../../mod/settings.php:983
msgid "or"
msgstr "oder"
@@ -4238,86 +4465,42 @@ msgstr "Hochladen des Bilds fehlgeschlagen."
msgid "Image size reduction [%s] failed."
msgstr "Reduzierung der Bildgröße [%s] fehlgeschlagen."
-#: ../../mod/block.php:27 ../../mod/page.php:36
+#: ../../mod/block.php:27 ../../mod/page.php:33
msgid "Invalid item."
msgstr "Ungültiges Element."
-#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:52
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:45
msgid "Channel not found."
msgstr "Kanal nicht gefunden."
-#: ../../mod/block.php:75 ../../mod/help.php:79 ../../mod/display.php:106
-#: ../../mod/page.php:89 ../../index.php:230
+#: ../../mod/block.php:75 ../../mod/help.php:79 ../../mod/display.php:102
+#: ../../mod/page.php:81 ../../index.php:241
msgid "Page not found."
msgstr "Seite nicht gefunden."
-#: ../../mod/like.php:15
-msgid "Like/Dislike"
-msgstr "Mögen/Nicht mögen"
-
-#: ../../mod/like.php:20
-msgid "This action is restricted to members."
-msgstr "Diese Aktion kann nur von Mitgliedern ausgeführt werden."
-
-#: ../../mod/like.php:21
-msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
-"href=\"register\">register as a new $Projectname member</a> to continue."
-msgstr "Um fortzufahren <a href=\"rmagic\">melde Dich bitte mit Deiner $Projectname-ID an</a> oder <a href=\"register\">registriere Dich als neues $Projectname-Mitglied</a>."
-
-#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
-msgid "Invalid request."
-msgstr "Ungültige Anfrage."
-
-#: ../../mod/like.php:143
-msgid "thing"
-msgstr "Sache"
-
-#: ../../mod/like.php:189
-msgid "Channel unavailable."
-msgstr "Kanal nicht vorhanden."
-
-#: ../../mod/like.php:228
-msgid "Previous action reversed."
-msgstr "Die vorherige Aktion wurde rückgängig gemacht."
-
-#: ../../mod/like.php:398
-#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
-msgstr "%1$s stimmt %2$ss %3$s zu"
-
-#: ../../mod/like.php:400
-#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
-msgstr "%1$s lehnt %2$ss %3$s ab"
-
-#: ../../mod/like.php:402
-#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
-msgstr "%1$s enthält sich zu %2$ss %3$s"
+#: ../../mod/network.php:84
+msgid "No such group"
+msgstr "Sammlung nicht gefunden"
-#: ../../mod/like.php:404
-#, php-format
-msgid "%1$s is attending %2$s's %3$s"
-msgstr "%1$s nimmt an %2$ss %3$s teil"
+#: ../../mod/network.php:122
+msgid "Search Results For:"
+msgstr "Suchergebnisse für:"
-#: ../../mod/like.php:406
-#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
-msgstr "%1$s nimmt an %2$ss %3$s nicht teil"
+#: ../../mod/network.php:176
+msgid "Collection is empty"
+msgstr "Sammlung ist leer"
-#: ../../mod/like.php:408
-#, php-format
-msgid "%1$s may attend %2$s's %3$s"
-msgstr "%1$s nimmt vielleicht an %2$ss %3$s teil"
+#: ../../mod/network.php:184
+msgid "Collection: "
+msgstr "Sammlung:"
-#: ../../mod/like.php:492
-msgid "Action completed."
-msgstr "Aktion durchgeführt."
+#: ../../mod/network.php:197
+msgid "Connection: "
+msgstr "Verbindung:"
-#: ../../mod/like.php:493
-msgid "Thank you."
-msgstr "Vielen Dank."
+#: ../../mod/network.php:200
+msgid "Invalid connection."
+msgstr "Ungültige Verbindung."
#: ../../mod/events.php:87
msgid "Event can not end before it has started."
@@ -4351,11 +4534,11 @@ msgstr "Termin löschen"
msgid "Create New Event"
msgstr "Neuen Termin erstellen"
-#: ../../mod/events.php:474 ../../mod/photos.php:839
+#: ../../mod/events.php:474 ../../mod/photos.php:827
msgid "Previous"
msgstr "Voriges"
-#: ../../mod/events.php:475 ../../mod/photos.php:848 ../../mod/setup.php:281
+#: ../../mod/events.php:475 ../../mod/setup.php:265 ../../mod/photos.php:836
msgid "Next"
msgstr "Nächste"
@@ -4371,49 +4554,49 @@ msgstr "Termin gelöscht"
msgid "Failed to remove event"
msgstr "Termin konnte nicht gelöscht werden"
-#: ../../mod/events.php:627
+#: ../../mod/events.php:625
msgid "Event details"
msgstr "Termin-Details"
-#: ../../mod/events.php:628
+#: ../../mod/events.php:626
msgid "Starting date and Title are required."
msgstr "Startdatum und Titel sind erforderlich."
-#: ../../mod/events.php:630
+#: ../../mod/events.php:628
msgid "Categories (comma-separated list)"
msgstr "Kategorien (Kommagetrennte Liste)"
-#: ../../mod/events.php:632
+#: ../../mod/events.php:630
msgid "Event Starts:"
msgstr "Termin beginnt:"
-#: ../../mod/events.php:639
+#: ../../mod/events.php:637
msgid "Finish date/time is not known or not relevant"
msgstr "Ende Datum/Zeit sind unbekannt oder unwichtig"
-#: ../../mod/events.php:641
+#: ../../mod/events.php:639
msgid "Event Finishes:"
msgstr "Termin endet:"
-#: ../../mod/events.php:643 ../../mod/events.php:644
+#: ../../mod/events.php:641 ../../mod/events.php:642
msgid "Adjust for viewer timezone"
msgstr "An die Zeitzone des Betrachters anpassen"
-#: ../../mod/events.php:643
+#: ../../mod/events.php:641
msgid ""
"Important for events that happen in a particular place. Not practical for "
"global holidays."
msgstr "Wichtig für Veranstaltungen die an bestimmten Orten stattfinden. Nicht sinnvoll für globale Feiertage / Ferien."
-#: ../../mod/events.php:645
+#: ../../mod/events.php:643
msgid "Description:"
msgstr "Beschreibung:"
-#: ../../mod/events.php:649
+#: ../../mod/events.php:647
msgid "Title:"
msgstr "Titel:"
-#: ../../mod/events.php:651
+#: ../../mod/events.php:649
msgid "Share this event"
msgstr "Den Termin teilen"
@@ -4428,12 +4611,12 @@ msgstr "Öffentliche Server"
#: ../../mod/pubsites.php:19
msgid ""
-"The listed sites allow public registration for the $Projectname network. All"
-" sites in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some sites may require subscription or"
-" provide tiered service plans. The provider links <strong>may</strong> "
-"provide additional details."
-msgstr "Die hier aufgeführten Server sind öffentlich und erlauben die Registrierung bei $Projectname. Alle Server dieses Netzwerks sind miteinander verbunden, so dass die Mitgliedschaft auf einem Server eine Verbindung zu beliebigen anderen Servern ermöglicht. Es könnte sein, dass einige dieser Server kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den jeweiligen Seiten <strong>könnten</strong> nähere Details dazu stehen."
+"The listed sites allow public registration into the Red Matrix. All sites in"
+" the matrix are interlinked so membership on any of them conveys membership "
+"in the matrix as a whole. Some sites may require subscription or provide "
+"tiered service plans. The provider links <strong>may</strong> provide "
+"additional details."
+msgstr "Die hier aufgeführten Server erlauben Dir, einen Account in der Red-Matrix anzulegen. Alle Server der Matrix sind miteinander verbunden, so dass die Mitgliedschaft auf einem Server eine Verbindung zu beliebigen anderen Servern der Matrix ermöglicht. Es könnte sein, dass einige dieser Server kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den jeweiligen Seiten <strong>könnten</strong> nähere Details dazu stehen."
#: ../../mod/pubsites.php:25
msgid "Rate this hub"
@@ -4467,13 +4650,599 @@ msgstr "Bewerten"
msgid "View ratings"
msgstr "Bewertungen ansehen"
-#: ../../mod/rpost.php:131 ../../mod/editpost.php:42
-msgid "Edit post"
-msgstr "Bearbeite Beitrag"
+#: ../../mod/settings.php:73
+msgid "Name is required"
+msgstr "Name ist erforderlich"
-#: ../../mod/dav.php:121
-msgid "$Projectname channel"
-msgstr "$Projectname-Kanal"
+#: ../../mod/settings.php:77
+msgid "Key and Secret are required"
+msgstr "Schlüssel und Geheimnis werden benötigt"
+
+#: ../../mod/settings.php:120
+msgid "Diaspora Policy Settings updated."
+msgstr "Diaspora-Einstellungen aktualisiert."
+
+#: ../../mod/settings.php:228
+msgid "Passwords do not match. Password unchanged."
+msgstr "Kennwörter stimmen nicht überein. Kennwort nicht verändert."
+
+#: ../../mod/settings.php:232
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert."
+
+#: ../../mod/settings.php:246
+msgid "Password changed."
+msgstr "Kennwort geändert."
+
+#: ../../mod/settings.php:248
+msgid "Password update failed. Please try again."
+msgstr "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal."
+
+#: ../../mod/settings.php:262
+msgid "Not valid email."
+msgstr "Keine gültige E-Mail Adresse."
+
+#: ../../mod/settings.php:265
+msgid "Protected email address. Cannot change to that email."
+msgstr "Geschützte E-Mail Adresse. Diese kann nicht verändert werden."
+
+#: ../../mod/settings.php:274
+msgid "System failure storing new email. Please try again."
+msgstr "Systemfehler während des Speicherns der neuen Mail. Bitte versuche es noch einmal."
+
+#: ../../mod/settings.php:513
+msgid "Settings updated."
+msgstr "Einstellungen aktualisiert."
+
+#: ../../mod/settings.php:582 ../../mod/settings.php:608
+#: ../../mod/settings.php:644
+msgid "Add application"
+msgstr "Anwendung hinzufügen"
+
+#: ../../mod/settings.php:585
+msgid "Name of application"
+msgstr "Name der Anwendung"
+
+#: ../../mod/settings.php:586 ../../mod/settings.php:612
+msgid "Consumer Key"
+msgstr "Consumer Key"
+
+#: ../../mod/settings.php:586 ../../mod/settings.php:587
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20"
+
+#: ../../mod/settings.php:587 ../../mod/settings.php:613
+msgid "Consumer Secret"
+msgstr "Consumer Secret"
+
+#: ../../mod/settings.php:588 ../../mod/settings.php:614
+msgid "Redirect"
+msgstr "Umleitung"
+
+#: ../../mod/settings.php:588
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert"
+
+#: ../../mod/settings.php:589 ../../mod/settings.php:615
+msgid "Icon url"
+msgstr "Symbol-URL"
+
+#: ../../mod/settings.php:589
+msgid "Optional"
+msgstr "Optional"
+
+#: ../../mod/settings.php:600
+msgid "You can't edit this application."
+msgstr "Diese Anwendung kann nicht bearbeitet werden."
+
+#: ../../mod/settings.php:643
+msgid "Connected Apps"
+msgstr "Verbundene Apps"
+
+#: ../../mod/settings.php:647
+msgid "Client key starts with"
+msgstr "Client Key beginnt mit"
+
+#: ../../mod/settings.php:648
+msgid "No name"
+msgstr "Kein Name"
+
+#: ../../mod/settings.php:649
+msgid "Remove authorization"
+msgstr "Authorisierung aufheben"
+
+#: ../../mod/settings.php:663
+msgid "No feature settings configured"
+msgstr "Keine Funktions-Einstellungen konfiguriert"
+
+#: ../../mod/settings.php:676
+msgid "Feature Settings"
+msgstr "Funktions-Einstellungen"
+
+#: ../../mod/settings.php:679
+msgid "Diaspora Policy Settings"
+msgstr "Diaspora-Einstellungen"
+
+#: ../../mod/settings.php:680
+msgid "Allow any Diaspora member to comment on your public posts."
+msgstr "Allen Diaspora-Mitgliedern erlauben, Deine öffentlichen Beiträge zu kommentieren."
+
+#: ../../mod/settings.php:681
+msgid "Submit Diaspora Policy Settings"
+msgstr "Diaspora-Einstellungen speichern"
+
+#: ../../mod/settings.php:704
+msgid "Account Settings"
+msgstr "Konto-Einstellungen"
+
+#: ../../mod/settings.php:705
+msgid "Password Settings"
+msgstr "Kennwort-Einstellungen"
+
+#: ../../mod/settings.php:706
+msgid "New Password:"
+msgstr "Neues Passwort:"
+
+#: ../../mod/settings.php:707
+msgid "Confirm:"
+msgstr "Bestätigen:"
+
+#: ../../mod/settings.php:707
+msgid "Leave password fields blank unless changing"
+msgstr "Lasse die Passwort-Felder leer, außer Du möchtest das Passwort ändern"
+
+#: ../../mod/settings.php:709 ../../mod/settings.php:1045
+msgid "Email Address:"
+msgstr "Email Adresse:"
+
+#: ../../mod/settings.php:710 ../../mod/removeaccount.php:61
+msgid "Remove Account"
+msgstr "Konto entfernen"
+
+#: ../../mod/settings.php:711
+msgid "Remove this account from this server including all its channels"
+msgstr "Lösche dieses Konto einschließlich aller zugehörigen Kanäle von diesem Server"
+
+#: ../../mod/settings.php:712 ../../mod/settings.php:1126
+msgid "Warning: This action is permanent and cannot be reversed."
+msgstr "Achtung: Diese Aktion ist endgültig und kann nicht rückgängig gemacht werden."
+
+#: ../../mod/settings.php:728
+msgid "Off"
+msgstr "Aus"
+
+#: ../../mod/settings.php:728
+msgid "On"
+msgstr "An"
+
+#: ../../mod/settings.php:735
+msgid "Additional Features"
+msgstr "Zusätzliche Funktionen"
+
+#: ../../mod/settings.php:759
+msgid "Connector Settings"
+msgstr "Connector-Einstellungen"
+
+#: ../../mod/settings.php:798
+msgid "No special theme for mobile devices"
+msgstr "Keine spezielle Theme für mobile Geräte"
+
+#: ../../mod/settings.php:801
+#, php-format
+msgid "%s - (Experimental)"
+msgstr "%s – (experimentell)"
+
+#: ../../mod/settings.php:804 ../../mod/admin.php:367
+msgid "mobile"
+msgstr "mobil"
+
+#: ../../mod/settings.php:840
+msgid "Display Settings"
+msgstr "Anzeige-Einstellungen"
+
+#: ../../mod/settings.php:846
+msgid "Display Theme:"
+msgstr "Anzeige-Theme:"
+
+#: ../../mod/settings.php:847
+msgid "Mobile Theme:"
+msgstr "Mobile Theme:"
+
+#: ../../mod/settings.php:848
+msgid "Enable user zoom on mobile devices"
+msgstr "Zoom auf Mobilgeräten aktivieren"
+
+#: ../../mod/settings.php:849
+msgid "Update browser every xx seconds"
+msgstr "Browser alle xx Sekunden aktualisieren"
+
+#: ../../mod/settings.php:849
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimum 10 Sekunden, kein Maximum"
+
+#: ../../mod/settings.php:850
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:"
+
+#: ../../mod/settings.php:850
+msgid "Maximum of 100 items"
+msgstr "Maximum: 100 Beiträge"
+
+#: ../../mod/settings.php:851
+msgid "Don't show emoticons"
+msgstr "Emoticons nicht anzeigen"
+
+#: ../../mod/settings.php:852
+msgid "Link post titles to source"
+msgstr "Beitragstitel zum Originalbeitrag verlinken"
+
+#: ../../mod/settings.php:853
+msgid "System Page Layout Editor - (advanced)"
+msgstr "System-Seitenlayout-Editor (für Experten)"
+
+#: ../../mod/settings.php:856
+msgid "Use blog/list mode on channel page"
+msgstr "Blog-/Listenmodus auf der Kanalseite verwenden"
+
+#: ../../mod/settings.php:856 ../../mod/settings.php:857
+msgid "(comments displayed separately)"
+msgstr "(Kommentare werden separat angezeigt)"
+
+#: ../../mod/settings.php:857
+msgid "Use blog/list mode on matrix page"
+msgstr "Blog-/Listenmodus auf der Matrixseite verwenden"
+
+#: ../../mod/settings.php:858
+msgid "Channel page max height of content (in pixels)"
+msgstr "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)"
+
+#: ../../mod/settings.php:858 ../../mod/settings.php:859
+msgid "click to expand content exceeding this height"
+msgstr "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden."
+
+#: ../../mod/settings.php:859
+msgid "Matrix page max height of content (in pixels)"
+msgstr "Maximale Höhe von Beitragsblöcken auf der Matrixseite (in Pixeln)"
+
+#: ../../mod/settings.php:893
+msgid "Nobody except yourself"
+msgstr "Niemand außer Dir selbst"
+
+#: ../../mod/settings.php:894
+msgid "Only those you specifically allow"
+msgstr "Nur die, denen Du es explizit erlaubst"
+
+#: ../../mod/settings.php:895
+msgid "Approved connections"
+msgstr "Angenommene Verbindungen"
+
+#: ../../mod/settings.php:896
+msgid "Any connections"
+msgstr "Beliebige Verbindungen"
+
+#: ../../mod/settings.php:897
+msgid "Anybody on this website"
+msgstr "Jeder auf dieser Website"
+
+#: ../../mod/settings.php:898
+msgid "Anybody in this network"
+msgstr "Alle Red-Nutzer"
+
+#: ../../mod/settings.php:899
+msgid "Anybody authenticated"
+msgstr "Jeder authentifizierte"
+
+#: ../../mod/settings.php:900
+msgid "Anybody on the internet"
+msgstr "Jeder im Internet"
+
+#: ../../mod/settings.php:974
+msgid "Publish your default profile in the network directory"
+msgstr "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen"
+
+#: ../../mod/settings.php:979
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?"
+
+#: ../../mod/settings.php:988
+msgid "Your channel address is"
+msgstr "Deine Kanal-Adresse lautet"
+
+#: ../../mod/settings.php:1036
+msgid "Channel Settings"
+msgstr "Kanal-Einstellungen"
+
+#: ../../mod/settings.php:1043
+msgid "Basic Settings"
+msgstr "Grundeinstellungen"
+
+#: ../../mod/settings.php:1046
+msgid "Your Timezone:"
+msgstr "Ihre Zeitzone:"
+
+#: ../../mod/settings.php:1047
+msgid "Default Post Location:"
+msgstr "Standardstandort:"
+
+#: ../../mod/settings.php:1047
+msgid "Geographical location to display on your posts"
+msgstr "Geografischer Ort, der bei Deinen Beiträgen angezeigt werden soll"
+
+#: ../../mod/settings.php:1048
+msgid "Use Browser Location:"
+msgstr "Standort des Browsers verwenden:"
+
+#: ../../mod/settings.php:1050
+msgid "Adult Content"
+msgstr "Nicht jugendfreie Inhalte"
+
+#: ../../mod/settings.php:1050
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "Dieser Kanal veröffentlicht regelmäßig Inhalte, die für Minderjährige ungeeignet sind. (Bitte markiere solche Inhalte mit dem Schlagwort #NSFW)"
+
+#: ../../mod/settings.php:1052
+msgid "Security and Privacy Settings"
+msgstr "Sicherheits- und Datenschutz-Einstellungen"
+
+#: ../../mod/settings.php:1054
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "Deine Zugriffsrechte sind schon konfiguriert. Klicke hier, um sie zu betrachten oder zu ändern"
+
+#: ../../mod/settings.php:1056
+msgid "Hide my online presence"
+msgstr "Meine Online-Präsenz verbergen"
+
+#: ../../mod/settings.php:1056
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Verhindert die Anzeige Deines Online-Status in deinem Profil"
+
+#: ../../mod/settings.php:1058
+msgid "Simple Privacy Settings:"
+msgstr "Einfache Privatsphäre-Einstellungen"
+
+#: ../../mod/settings.php:1059
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "Komplett offen – <em>extrem ungeschützt (mit großer Vorsicht verwenden!)</em>"
+
+#: ../../mod/settings.php:1060
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "Typisch – <em>Standard öffentlich, Privatsphäre, wo sie erwünscht ist (ähnlich den Einstellungen in sozialen Netzwerken, aber mit besser geschützter Privatsphäre)</em>"
+
+#: ../../mod/settings.php:1061
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Privat – <em>Standard privat, nie offen oder öffentlich</em>"
+
+#: ../../mod/settings.php:1062
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Blockiert – <em>Alle standardmäßig blockiert</em>"
+
+#: ../../mod/settings.php:1064
+msgid "Allow others to tag your posts"
+msgstr "Erlaube anderen, Deine Beiträge zu verschlagworten"
+
+#: ../../mod/settings.php:1064
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren"
+
+#: ../../mod/settings.php:1066
+msgid "Advanced Privacy Settings"
+msgstr "Fortgeschrittene Privatsphäre-Einstellungen"
+
+#: ../../mod/settings.php:1068
+msgid "Expire other channel content after this many days"
+msgstr "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen"
+
+#: ../../mod/settings.php:1068
+msgid "0 or blank prevents expiration"
+msgstr "0 oder kein Inhalt verhindern das Verfallen"
+
+#: ../../mod/settings.php:1069
+msgid "Maximum Friend Requests/Day:"
+msgstr "Maximale Kontaktanfragen pro Tag:"
+
+#: ../../mod/settings.php:1069
+msgid "May reduce spam activity"
+msgstr "Kann die Spam-Aktivität verringern"
+
+#: ../../mod/settings.php:1070
+msgid "Default Post Permissions"
+msgstr "Standardeinstellungen für Beitrags-Zugriffsrechte"
+
+#: ../../mod/settings.php:1071 ../../mod/mitem.php:161 ../../mod/mitem.php:204
+msgid "(click to open/close)"
+msgstr "(zum öffnen/schließen anklicken)"
+
+#: ../../mod/settings.php:1075
+msgid "Channel permissions category:"
+msgstr "Zugriffsrechte-Kategorie des Kanals:"
+
+#: ../../mod/settings.php:1081
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:"
+
+#: ../../mod/settings.php:1081
+msgid "Useful to reduce spamming"
+msgstr "Nützlich, um Spam zu verringern"
+
+#: ../../mod/settings.php:1084
+msgid "Notification Settings"
+msgstr "Benachrichtigungs-Einstellungen"
+
+#: ../../mod/settings.php:1085
+msgid "By default post a status message when:"
+msgstr "Sende standardmäßig Status-Nachrichten, wenn:"
+
+#: ../../mod/settings.php:1086
+msgid "accepting a friend request"
+msgstr "Du eine Verbindungsanfrage annimmst"
+
+#: ../../mod/settings.php:1087
+msgid "joining a forum/community"
+msgstr "Du einem Forum beitrittst"
+
+#: ../../mod/settings.php:1088
+msgid "making an <em>interesting</em> profile change"
+msgstr "Du eine <em>interessante</em> Änderung an Deinem Profil vornimmst"
+
+#: ../../mod/settings.php:1089
+msgid "Send a notification email when:"
+msgstr "Eine E-Mail-Benachrichtigung senden, wenn:"
+
+#: ../../mod/settings.php:1090
+msgid "You receive a connection request"
+msgstr "Du eine Verbindungsanfrage erhältst"
+
+#: ../../mod/settings.php:1091
+msgid "Your connections are confirmed"
+msgstr "Eine Verbindung bestätigt wurde"
+
+#: ../../mod/settings.php:1092
+msgid "Someone writes on your profile wall"
+msgstr "Jemand auf Deine Pinnwand schreibt"
+
+#: ../../mod/settings.php:1093
+msgid "Someone writes a followup comment"
+msgstr "Jemand einen Beitrag kommentiert"
+
+#: ../../mod/settings.php:1094
+msgid "You receive a private message"
+msgstr "Du eine private Nachricht erhältst"
+
+#: ../../mod/settings.php:1095
+msgid "You receive a friend suggestion"
+msgstr "Du einen Kontaktvorschlag erhältst"
+
+#: ../../mod/settings.php:1096
+msgid "You are tagged in a post"
+msgstr "Du in einem Beitrag erwähnt wurdest"
+
+#: ../../mod/settings.php:1097
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest"
+
+#: ../../mod/settings.php:1100
+msgid "Show visual notifications including:"
+msgstr "Visuelle Benachrichtigungen anzeigen für:"
+
+#: ../../mod/settings.php:1102
+msgid "Unseen matrix activity"
+msgstr "Ungesehene Matrix-Aktivität"
+
+#: ../../mod/settings.php:1103
+msgid "Unseen channel activity"
+msgstr "Ungesehene Kanal-Aktivität"
+
+#: ../../mod/settings.php:1104
+msgid "Unseen private messages"
+msgstr "Ungelesene persönliche Nachrichten"
+
+#: ../../mod/settings.php:1104 ../../mod/settings.php:1109
+#: ../../mod/settings.php:1110 ../../mod/settings.php:1111
+msgid "Recommended"
+msgstr "Empfohlen"
+
+#: ../../mod/settings.php:1105
+msgid "Upcoming events"
+msgstr "Baldige Termine"
+
+#: ../../mod/settings.php:1106
+msgid "Events today"
+msgstr "Heutige Termine"
+
+#: ../../mod/settings.php:1107
+msgid "Upcoming birthdays"
+msgstr "Baldige Geburtstage"
+
+#: ../../mod/settings.php:1107
+msgid "Not available in all themes"
+msgstr "Nicht in allen Themes verfügbar"
+
+#: ../../mod/settings.php:1108
+msgid "System (personal) notifications"
+msgstr "System – (persönliche) Benachrichtigungen"
+
+#: ../../mod/settings.php:1109
+msgid "System info messages"
+msgstr "System – Info-Nachrichten"
+
+#: ../../mod/settings.php:1110
+msgid "System critical alerts"
+msgstr "System – kritische Warnungen"
+
+#: ../../mod/settings.php:1111
+msgid "New connections"
+msgstr "Neue Verbindungen"
+
+#: ../../mod/settings.php:1112
+msgid "System Registrations"
+msgstr "System – Registrierungen"
+
+#: ../../mod/settings.php:1113
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr "Zeigt neue Pinnwand-Nachrichten, private Nachrichten und Verbindungen unter Benachrichtigungen an"
+
+#: ../../mod/settings.php:1115
+msgid "Notify me of events this many days in advance"
+msgstr "Benachrichtige mich zu Terminen so viele Tage im Voraus"
+
+#: ../../mod/settings.php:1115
+msgid "Must be greater than 0"
+msgstr "Muss größer als 0 sein"
+
+#: ../../mod/settings.php:1117
+msgid "Advanced Account/Page Type Settings"
+msgstr "Erweiterte Account- und Seitenart-Einstellungen"
+
+#: ../../mod/settings.php:1118
+msgid "Change the behaviour of this account for special situations"
+msgstr "Ändere das Verhalten dieses Accounts unter speziellen Umständen"
+
+#: ../../mod/settings.php:1121
+msgid ""
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr "Aktiviere den Expertenmodus (unter <a href=\"settings/features\">Settings > Zusätzliche Funktionen</a>), um hier Einstellungen vorzunehmen!"
+
+#: ../../mod/settings.php:1122
+msgid "Miscellaneous Settings"
+msgstr "Sonstige Einstellungen"
+
+#: ../../mod/settings.php:1124
+msgid "Personal menu to display in your channel pages"
+msgstr "Eigenes Menü zur Anzeige auf den Seiten deines Kanals"
+
+#: ../../mod/settings.php:1125
+msgid "Remove this channel"
+msgstr "Diesen Kanal löschen"
+
+#: ../../mod/cloud.php:120
+msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
+msgstr "RedMatrix – Gäste: Username: {Deine E-Mail-Adresse}, Passwort: +++"
+
+#: ../../mod/tagrm.php:44 ../../mod/tagrm.php:94
+msgid "Tag removed"
+msgstr "Schlagwort entfernt"
+
+#: ../../mod/tagrm.php:119
+msgid "Remove Item Tag"
+msgstr "Schlagwort entfernen"
+
+#: ../../mod/tagrm.php:121
+msgid "Select a tag to remove: "
+msgstr "Schlagwort zum Entfernen auswählen:"
+
+#: ../../mod/tagrm.php:133 ../../mod/delegate.php:130 ../../mod/photos.php:873
+msgid "Remove"
+msgstr "Entferne"
#: ../../mod/group.php:20
msgid "Collection created."
@@ -4511,74 +5280,70 @@ msgstr "Löschen der Sammlung nicht möglich."
msgid "Collection Editor"
msgstr "Sammlung-Editor"
-#: ../../mod/group.php:196 ../../mod/bulksetclose.php:89
+#: ../../mod/group.php:196
msgid "Members"
msgstr "Mitglieder"
-#: ../../mod/group.php:198 ../../mod/bulksetclose.php:91
+#: ../../mod/group.php:198
msgid "All Connected Channels"
msgstr "Alle verbundenen Kanäle"
-#: ../../mod/group.php:233 ../../mod/bulksetclose.php:126
+#: ../../mod/group.php:233
msgid "Click on a channel to add or remove."
msgstr "Wähle einen Kanal zum hinzufügen oder entfernen aus."
-#: ../../mod/siteinfo.php:112
+#: ../../mod/siteinfo.php:93
#, php-format
msgid "Version %s"
msgstr "Version %s"
-#: ../../mod/siteinfo.php:133
+#: ../../mod/siteinfo.php:114
msgid "Installed plugins/addons/apps:"
msgstr "Installierte Plugins/Addons/Apps"
-#: ../../mod/siteinfo.php:146
+#: ../../mod/siteinfo.php:127
msgid "No installed plugins/addons/apps"
msgstr "Keine installierten Plugins/Addons/Apps"
-#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:64
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../mod/siteinfo.php:136
+msgid "Red"
+msgstr "Red"
-#: ../../mod/siteinfo.php:156
+#: ../../mod/siteinfo.php:137
msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
+"This is a hub of the Red Matrix - a global cooperative network of "
"decentralized privacy enhanced websites."
-msgstr "Dieser Hub ist Teil von $Projectname – ein globales, kooperatives Netzwerk aus dezentralen Websites, die Rücksicht auf Deine Privatsphäre nehmen."
+msgstr "Dieser Hub ist Teil der RedMatrix – eines globalen, kooperativen Netzwerks aus dezentralen Websites, die Rücksicht auf Deine Privatsphäre nehmen."
-#: ../../mod/siteinfo.php:158
+#: ../../mod/siteinfo.php:139
msgid "Tag: "
msgstr "Schlagwort: "
-#: ../../mod/siteinfo.php:160
+#: ../../mod/siteinfo.php:141
msgid "Last background fetch: "
msgstr "Letzter Hintergrundabruf:"
-#: ../../mod/siteinfo.php:163
+#: ../../mod/siteinfo.php:144
msgid "Running at web location"
msgstr "Erreichbar unter der Web-Adresse"
-#: ../../mod/siteinfo.php:164
+#: ../../mod/siteinfo.php:145
msgid ""
-"Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more"
-" about $Projectname."
-msgstr "Bitte besuchen Sie <a href=\"https://redmatrix.me\">redmatrix.me</a>, um mehr über $Projectname zu erfahren."
+"Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more"
+" about the Red Matrix."
+msgstr "Bitte besuchen Sie <a href=\"https://redmatrix.me\">RedMatrix.me</a>, um mehr über RedMatrix zu erfahren."
-#: ../../mod/siteinfo.php:165
+#: ../../mod/siteinfo.php:146
msgid "Bug reports and issues: please visit"
msgstr "Probleme oder Fehler gefunden? Bitte besuche"
-#: ../../mod/siteinfo.php:167
-msgid "$projectname issues"
-msgstr "$projectname-Bugtracker"
-
-#: ../../mod/siteinfo.php:168
+#: ../../mod/siteinfo.php:149
msgid ""
"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
"com"
msgstr "Vorschläge, Lob, usw.: E-Mail an 'redmatrix' at librelist - dot - com"
-#: ../../mod/siteinfo.php:170
+#: ../../mod/siteinfo.php:151
msgid "Site Administrators"
msgstr "Administratoren"
@@ -4586,37 +5351,394 @@ msgstr "Administratoren"
msgid "Help:"
msgstr "Hilfe:"
-#: ../../mod/help.php:76 ../../index.php:227
+#: ../../mod/help.php:76 ../../index.php:238
msgid "Not Found"
msgstr "Nicht gefunden"
-#: ../../mod/network.php:91
-msgid "No such group"
-msgstr "Sammlung nicht gefunden"
+#: ../../mod/setup.php:166
+msgid "Red Matrix Server - Setup"
+msgstr "Red Matrix Server - Installation"
-#: ../../mod/network.php:129
-msgid "No such channel"
-msgstr "Kanal nicht gefunden"
+#: ../../mod/setup.php:172
+msgid "Could not connect to database."
+msgstr "Kann nicht mit der Datenbank verbinden."
-#: ../../mod/network.php:143
-msgid "Search Results For:"
-msgstr "Suchergebnisse für:"
+#: ../../mod/setup.php:176
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS."
-#: ../../mod/network.php:198
-msgid "Collection is empty"
-msgstr "Sammlung ist leer"
+#: ../../mod/setup.php:183
+msgid "Could not create table."
+msgstr "Kann Tabelle nicht erstellen."
-#: ../../mod/network.php:207
-msgid "Collection: "
-msgstr "Sammlung:"
+#: ../../mod/setup.php:189
+msgid "Your site database has been installed."
+msgstr "Die Datenbank Deines Hubs wurde installiert."
-#: ../../mod/network.php:226
-msgid "Connection: "
-msgstr "Verbindung:"
+#: ../../mod/setup.php:194
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren."
-#: ../../mod/network.php:233
-msgid "Invalid connection."
-msgstr "Ungültige Verbindung."
+#: ../../mod/setup.php:195 ../../mod/setup.php:264 ../../mod/setup.php:662
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Lies die Datei \"install/INSTALL.txt\"."
+
+#: ../../mod/setup.php:261
+msgid "System check"
+msgstr "Systemprüfung"
+
+#: ../../mod/setup.php:266
+msgid "Check again"
+msgstr "Bitte nochmal prüfen"
+
+#: ../../mod/setup.php:289
+msgid "Database connection"
+msgstr "Datenbank Verbindung"
+
+#: ../../mod/setup.php:290
+msgid ""
+"In order to install Red Matrix we need to know how to connect to your "
+"database."
+msgstr "Um die Red-Matrix installieren zu können, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können."
+
+#: ../../mod/setup.php:291
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast."
+
+#: ../../mod/setup.php:292
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst."
+
+#: ../../mod/setup.php:296
+msgid "Database Server Name"
+msgstr "Datenbank-Servername"
+
+#: ../../mod/setup.php:296
+msgid "Default is localhost"
+msgstr "Standard ist localhost"
+
+#: ../../mod/setup.php:297
+msgid "Database Port"
+msgstr "Datenbank-Port"
+
+#: ../../mod/setup.php:297
+msgid "Communication port number - use 0 for default"
+msgstr "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung"
+
+#: ../../mod/setup.php:298
+msgid "Database Login Name"
+msgstr "Datenbank-Benutzername"
+
+#: ../../mod/setup.php:299
+msgid "Database Login Password"
+msgstr "Datenbank-Kennwort"
+
+#: ../../mod/setup.php:300
+msgid "Database Name"
+msgstr "Datenbank-Name"
+
+#: ../../mod/setup.php:301
+msgid "Database Type"
+msgstr "Datenbanktyp"
+
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid "Site administrator email address"
+msgstr "E-Mail Adresse des Seiten-Administrators"
+
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst."
+
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Website URL"
+msgstr "Server-URL"
+
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Please use SSL (https) URL if available."
+msgstr "Nutze wenn möglich eine SSL-URL (https)."
+
+#: ../../mod/setup.php:307 ../../mod/setup.php:352
+msgid "Please select a default timezone for your website"
+msgstr "Standard-Zeitzone für Deinen Server"
+
+#: ../../mod/setup.php:335
+msgid "Site settings"
+msgstr "Seiteneinstellungen"
+
+#: ../../mod/setup.php:395
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden."
+
+#: ../../mod/setup.php:396
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen."
+
+#: ../../mod/setup.php:400
+msgid "PHP executable path"
+msgstr "PHP Pfad zu ausführbarer Datei"
+
+#: ../../mod/setup.php:400
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren."
+
+#: ../../mod/setup.php:405
+msgid "Command line PHP"
+msgstr "PHP Befehlszeile"
+
+#: ../../mod/setup.php:414
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert."
+
+#: ../../mod/setup.php:415
+msgid "This is required for message delivery to work."
+msgstr "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert."
+
+#: ../../mod/setup.php:417
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
+
+#: ../../mod/setup.php:438
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen."
+
+#: ../../mod/setup.php:439
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung."
+
+#: ../../mod/setup.php:441
+msgid "Generate encryption keys"
+msgstr "Verschlüsselungsschlüssel generieren"
+
+#: ../../mod/setup.php:448
+msgid "libCurl PHP module"
+msgstr "libCurl-PHP-Modul"
+
+#: ../../mod/setup.php:449
+msgid "GD graphics PHP module"
+msgstr "GD-Grafik-PHP-Modul"
+
+#: ../../mod/setup.php:450
+msgid "OpenSSL PHP module"
+msgstr "OpenSSL-PHP-Modul"
+
+#: ../../mod/setup.php:451
+msgid "mysqli or postgres PHP module"
+msgstr "mysqli oder postgres PHP-Modul"
+
+#: ../../mod/setup.php:452
+msgid "mb_string PHP module"
+msgstr "mb_string-PHP-Modul"
+
+#: ../../mod/setup.php:453
+msgid "mcrypt PHP module"
+msgstr "mcrypt-PHP-Modul"
+
+#: ../../mod/setup.php:458 ../../mod/setup.php:460
+msgid "Apache mod_rewrite module"
+msgstr "Apache-mod_rewrite-Modul"
+
+#: ../../mod/setup.php:458
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:464 ../../mod/setup.php:467
+msgid "proc_open"
+msgstr "proc_open"
+
+#: ../../mod/setup.php:464
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert"
+
+#: ../../mod/setup.php:472
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:476
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:480
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:484
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert."
+
+#: ../../mod/setup.php:488
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:492
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul mcrypt wird benötigt, ist aber nicht installiert."
+
+#: ../../mod/setup.php:508
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht."
+
+#: ../../mod/setup.php:509
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst."
+
+#: ../../mod/setup.php:510
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Red-Installation speichern musst."
+
+#: ../../mod/setup.php:511
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt."
+
+#: ../../mod/setup.php:514
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php ist beschreibbar"
+
+#: ../../mod/setup.php:524
+msgid ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Red verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen."
+
+#: ../../mod/setup.php:525
+#, php-format
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the Red top level folder."
+msgstr "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Red-Installationsverzeichnisses."
+
+#: ../../mod/setup.php:526 ../../mod/setup.php:544
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat."
+
+#: ../../mod/setup.php:527
+#, php-format
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht auf die Template-Dateien (.tpl), die das Verzeichnis enthält."
+
+#: ../../mod/setup.php:530
+#, php-format
+msgid "%s is writable"
+msgstr "%s ist beschreibbar"
+
+#: ../../mod/setup.php:543
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr "Red benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red-Stammverzeichnisses"
+
+#: ../../mod/setup.php:547
+msgid "store is writable"
+msgstr "store ist schreibbar"
+
+#: ../../mod/setup.php:577
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server."
+
+#: ../../mod/setup.php:578
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich."
+
+#: ../../mod/setup.php:579
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können."
+
+#: ../../mod/setup.php:580
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer Red-Server (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird)."
+
+#: ../../mod/setup.php:581
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen."
+
+#: ../../mod/setup.php:582
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind."
+
+#: ../../mod/setup.php:584
+msgid "SSL certificate validation"
+msgstr "SSL Zertifikatverifizierung"
+
+#: ../../mod/setup.php:590
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:"
+
+#: ../../mod/setup.php:592
+msgid "Url rewrite is working"
+msgstr "Url rewrite funktioniert"
+
+#: ../../mod/setup.php:602
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen."
+
+#: ../../mod/setup.php:625
+msgid "Errors encountered creating database tables."
+msgstr "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten."
+
+#: ../../mod/setup.php:660
+msgid "<h1>What next</h1>"
+msgstr "<h1>Was als Nächstes</h1>"
+
+#: ../../mod/setup.php:661
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten."
#: ../../mod/common.php:10
msgid "No channel."
@@ -4630,25 +5752,11 @@ msgstr "Gemeinsame Verbindungen"
msgid "No connections in common."
msgstr "Keine gemeinsamen Verbindungen."
-#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21
-msgid "This site is not a directory server"
-msgstr "Diese Website ist kein Verzeichnis-Server"
-
-#: ../../mod/connections.php:37 ../../mod/connedit.php:75
-msgid "Could not access contact record."
-msgstr "Konnte nicht auf den Kontakteintrag zugreifen."
-
-#: ../../mod/connections.php:51 ../../mod/connedit.php:99
-msgid "Could not locate selected profile."
-msgstr "Gewähltes Profil nicht gefunden."
-
-#: ../../mod/connections.php:94 ../../mod/connedit.php:214
-msgid "Connection updated."
-msgstr "Verbindung aktualisiert."
-
-#: ../../mod/connections.php:96 ../../mod/connedit.php:216
-msgid "Failed to update connection record."
-msgstr "Konnte den Verbindungseintrag nicht aktualisieren."
+#: ../../mod/suggest.php:35
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal."
#: ../../mod/connections.php:192 ../../mod/connections.php:293
msgid "Blocked"
@@ -4666,6 +5774,10 @@ msgstr "Versteckt"
msgid "Archived"
msgstr "Archiviert"
+#: ../../mod/connections.php:231 ../../mod/connections.php:246
+msgid "All"
+msgstr "Alle"
+
#: ../../mod/connections.php:271
msgid "Suggest new connections"
msgstr "Neue Verbindungen vorschlagen"
@@ -4727,193 +5839,116 @@ msgstr "Verbindungen durchsuchen"
msgid "Finding: "
msgstr "Ergebnisse:"
-#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
-msgid "Block Name"
-msgstr "Datenblockname"
+#: ../../mod/impel.php:33
+msgid "webpage"
+msgstr "Webseite"
+
+#: ../../mod/impel.php:38
+msgid "block"
+msgstr "Block"
+
+#: ../../mod/impel.php:43
+msgid "layout"
+msgstr "Layout"
-#: ../../mod/blocks.php:149
-msgid "Block Title"
-msgstr "Titel des Blocks"
+#: ../../mod/impel.php:117
+#, php-format
+msgid "%s element installed"
+msgstr "Element für %s installiert"
#: ../../mod/tagger.php:96
#, php-format
msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr "%1$s hat %2$ss %3$s mit %4$s verschlagwortet"
-#: ../../mod/cloud.php:120
-msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
-msgstr "$Projectname-Gäste: Benutzername: {Ihre E-Mail-Adresse}, Passwort: +++"
-
-#: ../../mod/photos.php:78
-msgid "Page owner information could not be retrieved."
-msgstr "Informationen über den Besitzer der Seite konnten nicht gefunden werden."
-
-#: ../../mod/photos.php:98
-msgid "Album not found."
-msgstr "Album nicht gefunden."
-
-#: ../../mod/photos.php:120 ../../mod/photos.php:655
-msgid "Delete Album"
-msgstr "Album löschen"
-
-#: ../../mod/photos.php:160 ../../mod/photos.php:942
-msgid "Delete Photo"
-msgstr "Foto löschen"
+#: ../../mod/item.php:165
+msgid "Unable to locate original post."
+msgstr "Originalbeitrag nicht gefunden."
-#: ../../mod/photos.php:441 ../../mod/search.php:13 ../../mod/display.php:13
-#: ../../mod/ratings.php:82 ../../mod/directory.php:47
-#: ../../mod/viewconnections.php:17
-msgid "Public access denied."
-msgstr "Öffentlicher Zugang verweigert."
+#: ../../mod/item.php:424
+msgid "Empty post discarded."
+msgstr "Leeren Beitrag verworfen."
-#: ../../mod/photos.php:452
-msgid "No photos selected"
-msgstr "Keine Fotos ausgewählt"
+#: ../../mod/item.php:466
+msgid "Executable content type not permitted to this channel."
+msgstr "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben."
-#: ../../mod/photos.php:496
-msgid "Access to this item is restricted."
-msgstr "Der Zugriff auf dieses Foto ist eingeschränkt."
+#: ../../mod/item.php:865
+msgid "System error. Post not saved."
+msgstr "Systemfehler. Beitrag nicht gespeichert."
-#: ../../mod/photos.php:535
+#: ../../mod/item.php:1083
#, php-format
-msgid "%1$.2f MB of %2$.2f MB photo storage used."
-msgstr "%1$.2f MB von %2$.2f MB Foto-Speicher belegt."
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht."
-#: ../../mod/photos.php:538
+#: ../../mod/item.php:1089
#, php-format
-msgid "%1$.2f MB photo storage used."
-msgstr "%1$.2f MB Foto-Speicher belegt."
-
-#: ../../mod/photos.php:562
-msgid "Upload Photos"
-msgstr "Fotos hochladen"
-
-#: ../../mod/photos.php:566 ../../mod/photos.php:648 ../../mod/photos.php:927
-msgid "Enter a new album name"
-msgstr "Gib einen Namen für ein neues Album ein"
-
-#: ../../mod/photos.php:567 ../../mod/photos.php:649 ../../mod/photos.php:928
-msgid "or select an existing one (doubleclick)"
-msgstr "oder wähle ein bereits vorhandenes aus (Doppelklick)"
-
-#: ../../mod/photos.php:568
-msgid "Create a status post for this upload"
-msgstr "Einen Statusbeitrag für diesen Upload erzeugen"
-
-#: ../../mod/photos.php:596
-msgid "Album name could not be decoded"
-msgstr "Albumname konnte nicht dekodiert werden"
-
-#: ../../mod/photos.php:637 ../../mod/photos.php:1169
-#: ../../mod/photos.php:1185
-msgid "Contact Photos"
-msgstr "Kontakt-Bilder"
-
-#: ../../mod/photos.php:661
-msgid "Show Newest First"
-msgstr "Neueste zuerst anzeigen"
-
-#: ../../mod/photos.php:663
-msgid "Show Oldest First"
-msgstr "Älteste zuerst anzeigen"
-
-#: ../../mod/photos.php:687 ../../mod/photos.php:1217
-msgid "View Photo"
-msgstr "Foto ansehen"
-
-#: ../../mod/photos.php:716
-msgid "Edit Album"
-msgstr "Album bearbeiten"
-
-#: ../../mod/photos.php:761
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden."
-
-#: ../../mod/photos.php:763
-msgid "Photo not available"
-msgstr "Foto nicht verfügbar"
-
-#: ../../mod/photos.php:821
-msgid "Use as profile photo"
-msgstr "Als Profilfoto verwenden"
-
-#: ../../mod/photos.php:828
-msgid "Private Photo"
-msgstr "Privates Foto"
-
-#: ../../mod/photos.php:843
-msgid "View Full Size"
-msgstr "In voller Größe anzeigen"
-
-#: ../../mod/photos.php:921
-msgid "Edit photo"
-msgstr "Foto bearbeiten"
-
-#: ../../mod/photos.php:923
-msgid "Rotate CW (right)"
-msgstr "Drehen im UZS (rechts)"
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht."
-#: ../../mod/photos.php:924
-msgid "Rotate CCW (left)"
-msgstr "Drehen gegen UZS (links)"
+#: ../../mod/search.php:13 ../../mod/display.php:9 ../../mod/ratings.php:82
+#: ../../mod/directory.php:22 ../../mod/viewconnections.php:17
+#: ../../mod/photos.php:429
+msgid "Public access denied."
+msgstr "Öffentlicher Zugang verweigert."
-#: ../../mod/photos.php:931
-msgid "Caption"
-msgstr "Bildunterschrift"
+#: ../../mod/thing.php:96
+msgid "Thing updated"
+msgstr "Sache aktualisiert"
-#: ../../mod/photos.php:933
-msgid "Add a Tag"
-msgstr "Schlagwort hinzufügen"
+#: ../../mod/thing.php:156
+msgid "Object store: failed"
+msgstr "Speichern des Objekts fehlgeschlagen"
-#: ../../mod/photos.php:937
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
-msgstr "Beispiele: @ben, @Karl_Prester, @lieschen@example.com"
+#: ../../mod/thing.php:160
+msgid "Thing added"
+msgstr "Sache hinzugefügt"
-#: ../../mod/photos.php:940
-msgid "Flag as adult in album view"
-msgstr "In der Albumansicht als nicht jugendfrei markieren"
+#: ../../mod/thing.php:180
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../mod/photos.php:1132
-msgid "In This Photo:"
-msgstr "Auf diesem Foto:"
+#: ../../mod/thing.php:232
+msgid "Show Thing"
+msgstr "Sache anzeigen"
-#: ../../mod/photos.php:1137
-msgid "Map"
-msgstr "Karte"
+#: ../../mod/thing.php:239
+msgid "item not found."
+msgstr "Eintrag nicht gefunden"
-#: ../../mod/photos.php:1223
-msgid "View Album"
-msgstr "Album ansehen"
+#: ../../mod/thing.php:270
+msgid "Edit Thing"
+msgstr "Sache bearbeiten"
-#: ../../mod/photos.php:1246
-msgid "Recent Photos"
-msgstr "Neueste Fotos"
+#: ../../mod/thing.php:272 ../../mod/thing.php:319
+msgid "Select a profile"
+msgstr "Wähle ein Profil"
-#: ../../mod/search.php:206
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "Beiträge mit Schlagwort: %s"
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Post an activity"
+msgstr "Aktivitätsnachricht senden"
-#: ../../mod/search.php:208
-#, php-format
-msgid "Search results for: %s"
-msgstr "Suchergebnisse für: %s"
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Nur an Betrachter des ausgewählten Profils senden"
-#: ../../mod/match.php:22
-msgid "Profile Match"
-msgstr "Profil-Übereinstimmungen"
+#: ../../mod/thing.php:278 ../../mod/thing.php:324
+msgid "Name of thing e.g. something"
+msgstr "Name der Sache, z. B. irgendwas"
-#: ../../mod/match.php:31
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu."
+#: ../../mod/thing.php:280 ../../mod/thing.php:325
+msgid "URL of thing (optional)"
+msgstr "URL der Sache (optional)"
-#: ../../mod/match.php:63
-msgid "is interested in:"
-msgstr "interessiert sich für:"
+#: ../../mod/thing.php:282 ../../mod/thing.php:326
+msgid "URL for photo of thing (optional)"
+msgstr "URL eines Fotos der Sache (optional)"
-#: ../../mod/match.php:70
-msgid "No matches"
-msgstr "Keine Übereinstimmungen"
+#: ../../mod/thing.php:317
+msgid "Add Thing to your Profile"
+msgstr "Die Sache Deinem Profil hinzufügen"
#: ../../mod/chatsvc.php:111
msgid "Away"
@@ -4923,25 +5958,9 @@ msgstr "Abwesend"
msgid "Online"
msgstr "Online"
-#: ../../mod/rbmark.php:88
-msgid "Select a bookmark folder"
-msgstr "Lesezeichenordner wählen"
-
-#: ../../mod/rbmark.php:93
-msgid "Save Bookmark"
-msgstr "Lesezeichen speichern"
-
-#: ../../mod/rbmark.php:94
-msgid "URL of bookmark"
-msgstr "URL des Lesezeichens"
-
-#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
-msgid "Description"
-msgstr "Beschreibung"
-
-#: ../../mod/rbmark.php:99
-msgid "Or enter new bookmark folder name"
-msgstr "Oder gib einen neuen Namen für den Lesezeichenordner ein"
+#: ../../mod/follow.php:25
+msgid "Channel added."
+msgstr "Kanal hinzugefügt."
#: ../../mod/notify.php:53 ../../mod/notifications.php:94
msgid "No more system notifications."
@@ -4961,7 +5980,7 @@ msgstr "RSS"
#: ../../mod/pdledit.php:13
msgid "Layout updated."
-msgstr "Gestaltung aktualisiert."
+msgstr "Layout aktualisiert."
#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
msgid "Edit System Page Description"
@@ -4969,15 +5988,67 @@ msgstr "Systemseitenbeschreibung bearbeiten"
#: ../../mod/pdledit.php:48
msgid "Layout not found."
-msgstr "Gestaltung nicht gefunden."
+msgstr "Layout nicht gefunden."
#: ../../mod/pdledit.php:54
msgid "Module Name:"
msgstr "Modulname:"
-#: ../../mod/pdledit.php:55
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:107
msgid "Layout Help"
-msgstr "Gestaltungshilfe"
+msgstr "Layout-Hilfe"
+
+#: ../../mod/appman.php:28 ../../mod/appman.php:44
+msgid "App installed."
+msgstr "App installiert."
+
+#: ../../mod/appman.php:37
+msgid "Malformed app."
+msgstr "Fehlerhafte App."
+
+#: ../../mod/appman.php:80
+msgid "Embed code"
+msgstr "Code einbetten"
+
+#: ../../mod/appman.php:86
+msgid "Edit App"
+msgstr "App bearbeiten"
+
+#: ../../mod/appman.php:86
+msgid "Create App"
+msgstr "App erstellen"
+
+#: ../../mod/appman.php:91
+msgid "Name of app"
+msgstr "Name der App"
+
+#: ../../mod/appman.php:92
+msgid "Location (URL) of app"
+msgstr "Ort (URL) der App"
+
+#: ../../mod/appman.php:93 ../../mod/rbmark.php:95
+msgid "Description"
+msgstr "Beschreibung"
+
+#: ../../mod/appman.php:94
+msgid "Photo icon URL"
+msgstr "URL zum Icon"
+
+#: ../../mod/appman.php:94
+msgid "80 x 80 pixels - optional"
+msgstr "80 x 80 Pixel – optional"
+
+#: ../../mod/appman.php:95
+msgid "Version ID"
+msgstr "Versions-ID"
+
+#: ../../mod/appman.php:96
+msgid "Price of app"
+msgstr "Preis der App"
+
+#: ../../mod/appman.php:97
+msgid "Location (URL) to purchase app"
+msgstr "Ort (URL), um die App zu kaufen"
#: ../../mod/filer.php:49
msgid "- select -"
@@ -5073,43 +6144,17 @@ msgstr "Dieser Red-Server ist mein primärer Server."
msgid "Import existing posts if possible"
msgstr "Existierende Beiträge importieren, falls möglich"
-#: ../../mod/editlayout.php:76 ../../mod/editwebpage.php:77
-#: ../../mod/editpost.php:20 ../../mod/editblock.php:78
-#: ../../mod/editblock.php:94
-msgid "Item not found"
-msgstr "Element nicht gefunden"
-
-#: ../../mod/editlayout.php:106
+#: ../../mod/editlayout.php:108
msgid "Edit Layout"
-msgstr "Gestaltung bearbeiten"
+msgstr "Layout bearbeiten"
#: ../../mod/editlayout.php:117
msgid "Delete layout?"
-msgstr "Gestaltung löschen?"
+msgstr "Layout löschen?"
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:187
-#: ../../mod/editpost.php:122 ../../mod/editblock.php:150
-msgid "Insert YouTube video"
-msgstr "YouTube-Video einfügen"
-
-#: ../../mod/editlayout.php:149 ../../mod/editwebpage.php:188
-#: ../../mod/editpost.php:123 ../../mod/editblock.php:151
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Vorbis [.ogg]-Video einfügen"
-
-#: ../../mod/editlayout.php:150 ../../mod/editwebpage.php:189
-#: ../../mod/editpost.php:124 ../../mod/editblock.php:152
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Vorbis [.ogg]-Audio einfügen"
-
-#: ../../mod/editlayout.php:164 ../../mod/layouts.php:124
-msgid "Layout Description (Optional)"
-msgstr "Gestaltungsbeschreibung (Optional)"
-
-#: ../../mod/editlayout.php:166 ../../mod/layouts.php:121
-#: ../../mod/layouts.php:179
-msgid "Layout Name"
-msgstr "Gestaltungsname"
+#: ../../mod/editlayout.php:178
+msgid "Delete Layout"
+msgstr "Layout löschen"
#: ../../mod/chat.php:19 ../../mod/channel.php:25
msgid "You must be logged in to see this page."
@@ -5152,21 +6197,21 @@ msgstr "Name des Chatraums"
msgid "%1$s's Chatrooms"
msgstr "%1$ss Chaträume"
-#: ../../mod/editwebpage.php:152
+#: ../../mod/editwebpage.php:140
+msgid "Edit Webpage"
+msgstr "Webseite bearbeiten"
+
+#: ../../mod/editwebpage.php:150
msgid "Delete webpage?"
msgstr "Webseite löschen?"
-#: ../../mod/editwebpage.php:173
-msgid "Page link title"
-msgstr "Seitentitel-Link"
-
-#: ../../mod/editwebpage.php:224
-msgid "Edit Webpage"
-msgstr "Webseite bearbeiten"
+#: ../../mod/editwebpage.php:215
+msgid "Delete Webpage"
+msgstr "Webseite löschen"
-#: ../../mod/dirsearch.php:29
-msgid "This directory server requires an access token"
-msgstr "Dieser Verzeichnis-Server benötigt ein Zugangstoken"
+#: ../../mod/dirsearch.php:20 ../../mod/regdir.php:22
+msgid "This site is not a directory server"
+msgstr "Diese Website ist kein Verzeichnis-Server"
#: ../../mod/lostpass.php:15
msgid "No valid account found."
@@ -5192,7 +6237,7 @@ msgid ""
"Password reset failed."
msgstr "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen."
-#: ../../mod/lostpass.php:85 ../../boot.php:1558
+#: ../../mod/lostpass.php:85 ../../boot.php:1560
msgid "Password Reset"
msgstr "Zurücksetzen des Kennworts"
@@ -5216,7 +6261,7 @@ msgstr "Klicke hier, um dich anzumelden"
msgid ""
"Your password may be changed from the <em>Settings</em> page after "
"successful login."
-msgstr "Ihr Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden."
+msgstr "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden."
#: ../../mod/lostpass.php:107
#, php-format
@@ -5250,22 +6295,6 @@ msgstr "Webseite:"
msgid "Remote Channel [%s] (not yet known on this site)"
msgstr "Kanal [%s] (auf diesem Server noch unbekannt)"
-#: ../../mod/rate.php:161 ../../mod/connedit.php:663
-msgid "Rating (this information is public)"
-msgstr "Bewertung (öffentlich sichtbar)"
-
-#: ../../mod/rate.php:162 ../../mod/connedit.php:664
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Optional kannst du deine Bewertung erklären (öffentlich sichtbar)"
-
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Element kann nicht bearbeitet werden."
-
-#: ../../mod/editpost.php:53
-msgid "Delete item?"
-msgstr "Eintrag löschen?"
-
#: ../../mod/invite.php:25
msgid "Total invitation limit exceeded."
msgstr "Einladungslimit überschritten."
@@ -5312,21 +6341,20 @@ msgid "Your message:"
msgstr "Deine Nachricht:"
#: ../../mod/invite.php:132
-msgid "Please join my community on $Projectname."
-msgstr "Schließe Dich uns auf $Projectname an!"
+msgid "Please join my community on RedMatrix."
+msgstr "Schließe Dich uns in der RedMatrix an!"
#: ../../mod/invite.php:134
msgid "You will need to supply this invitation code: "
msgstr "Gib folgenden Einladungs-Code ein:"
#: ../../mod/invite.php:135
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registriere Dich auf irgendeinem $Projectname-Server (sie sind alle miteinander verbunden)"
+msgid "1. Register at any RedMatrix location (they are all inter-connected)"
+msgstr "1. Registriere Dich auf irgendeinem RedMatrix-Server (sie sind alle miteinander verbunden)"
#: ../../mod/invite.php:137
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Gib meine $Projectname-Adresse im Suchfeld ein."
+msgid "2. Enter my RedMatrix network address into the site searchbar."
+msgstr "2. Gib meine RedMatrix-Adresse im Suchfeld ein."
#: ../../mod/invite.php:138
msgid "or visit "
@@ -5392,7 +6420,7 @@ msgstr "Neue Quelle"
msgid ""
"Import all or selected content from the following channel into this channel "
"and distribute it according to your channel settings."
-msgstr "Importieren Sie alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteilen Sie sie gemäß der Ihrer Kanaleinstellungen."
+msgstr "Importiere alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteile sie gemäß der Einstellungen dieses Kanals."
#: ../../mod/sources.php:102 ../../mod/sources.php:134
msgid "Only import content with these words (one per line)"
@@ -5427,141 +6455,145 @@ msgstr "Quelle gelöscht"
msgid "Unable to remove source."
msgstr "Konnte die Quelle nicht löschen."
-#: ../../mod/menu.php:44
+#: ../../mod/menu.php:31
+msgid "Menu updated."
+msgstr "Menü aktualisiert."
+
+#: ../../mod/menu.php:35
msgid "Unable to update menu."
msgstr "Kann Menü nicht aktualisieren."
-#: ../../mod/menu.php:53
+#: ../../mod/menu.php:40
+msgid "Menu created."
+msgstr "Menü erstellt."
+
+#: ../../mod/menu.php:44
msgid "Unable to create menu."
msgstr "Kann Menü nicht erstellen."
-#: ../../mod/menu.php:89 ../../mod/menu.php:101
-msgid "Menu Name"
-msgstr "Name des Menüs"
+#: ../../mod/menu.php:76
+msgid "Manage Menus"
+msgstr "Menüs verwalten"
-#: ../../mod/menu.php:89
-msgid "Unique name (not visible on webpage) - required"
-msgstr "Eindeutiger Name (nicht sichtbar auf der Webseite) – erforderlich"
-
-#: ../../mod/menu.php:90 ../../mod/menu.php:102
-msgid "Menu Title"
-msgstr "Menütitel"
-
-#: ../../mod/menu.php:90
-msgid "Visible on webpage - leave empty for no title"
-msgstr "Sichtbar auf der Webseite – für keinen Titel leer lassen"
-
-#: ../../mod/menu.php:91
-msgid "Allow Bookmarks"
-msgstr "Lesezeichen erlauben"
-
-#: ../../mod/menu.php:91 ../../mod/menu.php:145
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Im Menü können gespeicherte Lesezeichen abgelegt werden"
-
-#: ../../mod/menu.php:92 ../../mod/menu.php:147
-msgid "Submit and proceed"
-msgstr "Absenden und fortfahren"
-
-#: ../../mod/menu.php:104
+#: ../../mod/menu.php:79
msgid "Drop"
msgstr "Löschen"
-#: ../../mod/menu.php:108
+#: ../../mod/menu.php:81
msgid "Bookmarks allowed"
msgstr "Lesezeichen erlaubt"
-#: ../../mod/menu.php:110
+#: ../../mod/menu.php:82
+msgid "Create a new menu"
+msgstr "Neues Menü erstellen"
+
+#: ../../mod/menu.php:83
msgid "Delete this menu"
msgstr "Lösche dieses Menü"
-#: ../../mod/menu.php:111 ../../mod/menu.php:142
+#: ../../mod/menu.php:84 ../../mod/menu.php:125
msgid "Edit menu contents"
msgstr "Bearbeite Menü Inhalte"
-#: ../../mod/menu.php:112
+#: ../../mod/menu.php:85
msgid "Edit this menu"
msgstr "Dieses Menü bearbeiten"
-#: ../../mod/menu.php:126
-msgid "Menu could not be deleted."
-msgstr "Menü konnte nicht gelöscht werden."
-
-#: ../../mod/menu.php:134 ../../mod/mitem.php:24
-msgid "Menu not found."
-msgstr "Menü nicht gefunden"
-
-#: ../../mod/menu.php:139
-msgid "Edit Menu"
-msgstr "Menü bearbeiten"
-
-#: ../../mod/menu.php:141
-msgid "Add or remove entries to this menu"
-msgstr "Einträge zu diesem Menü hinzufügen oder entfernen"
+#: ../../mod/menu.php:96
+msgid "New Menu"
+msgstr "Neues Menü"
-#: ../../mod/menu.php:143
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
msgid "Menu name"
msgstr "Menü Name"
-#: ../../mod/menu.php:143
+#: ../../mod/menu.php:97 ../../mod/menu.php:126
msgid "Must be unique, only seen by you"
msgstr "Muss eindeutig sein, ist aber nur für Dich sichtbar"
-#: ../../mod/menu.php:144
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
msgid "Menu title"
msgstr "Menü Titel"
-#: ../../mod/menu.php:144
+#: ../../mod/menu.php:98 ../../mod/menu.php:127
msgid "Menu title as seen by others"
msgstr "Menü Titel wie er von anderen gesehen wird"
-#: ../../mod/menu.php:145
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
msgid "Allow bookmarks"
msgstr "Erlaube Lesezeichen"
-#: ../../mod/filestorage.php:82
+#: ../../mod/menu.php:99 ../../mod/menu.php:128
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Im Menü können gespeicherte Lesezeichen abgelegt werden"
+
+#: ../../mod/menu.php:108 ../../mod/mitem.php:24
+msgid "Menu not found."
+msgstr "Menü nicht gefunden"
+
+#: ../../mod/menu.php:114
+msgid "Menu deleted."
+msgstr "Menü gelöscht."
+
+#: ../../mod/menu.php:116
+msgid "Menu could not be deleted."
+msgstr "Menü konnte nicht gelöscht werden."
+
+#: ../../mod/menu.php:122
+msgid "Edit Menu"
+msgstr "Menü bearbeiten"
+
+#: ../../mod/menu.php:124
+msgid "Add or remove entries to this menu"
+msgstr "Einträge zu diesem Menü hinzufügen oder entfernen"
+
+#: ../../mod/menu.php:130 ../../mod/mitem.php:213
+msgid "Modify"
+msgstr "Ändern"
+
+#: ../../mod/filestorage.php:81
msgid "Permission Denied."
msgstr "Zugriff verweigert."
-#: ../../mod/filestorage.php:98
+#: ../../mod/filestorage.php:97
msgid "File not found."
msgstr "Datei nicht gefunden."
-#: ../../mod/filestorage.php:141
+#: ../../mod/filestorage.php:140
msgid "Edit file permissions"
msgstr "Dateiberechtigungen bearbeiten"
-#: ../../mod/filestorage.php:150
+#: ../../mod/filestorage.php:149
msgid "Set/edit permissions"
msgstr "Berechtigungen setzen/ändern"
-#: ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:150
msgid "Include all files and sub folders"
msgstr "Alle Dateien und Unterverzeichnisse einbinden"
-#: ../../mod/filestorage.php:152
+#: ../../mod/filestorage.php:151
msgid "Return to file list"
msgstr "Zurück zur Dateiliste"
-#: ../../mod/filestorage.php:154
+#: ../../mod/filestorage.php:153
msgid "Copy/paste this code to attach file to a post"
msgstr "Diesen Code kopieren und einfügen, um die Datei an einen Beitrag anzuhängen"
-#: ../../mod/filestorage.php:155
+#: ../../mod/filestorage.php:154
msgid "Copy/paste this URL to link file from a web page"
msgstr "Diese URL verwenden, um von einer Webseite aus auf die Datei zu verlinken"
-#: ../../mod/filestorage.php:157
-msgid "Share this file"
-msgstr "Diese Datei freigeben"
+#: ../../mod/filestorage.php:156
+msgid "Attach this file to a new post"
+msgstr "Diese Datei an einen neuen Beitrag anhängen"
-#: ../../mod/filestorage.php:158
+#: ../../mod/filestorage.php:157
msgid "Show URL to this file"
msgstr "URL zu dieser Datei anzeigen"
-#: ../../mod/filestorage.php:159
-msgid "Notify your contacts about this file"
-msgstr "Meine Kontakte über diese Datei benachrichtigen"
+#: ../../mod/filestorage.php:158
+msgid "Do not show in shared with me folder of your connections"
+msgstr "Nicht im Ordner „Dateien, die mit mir geteilt wurden“ meiner Verbindungen anzeigen"
#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
msgid "Contact not found."
@@ -5580,7 +6612,7 @@ msgstr "Kontakte vorschlagen"
msgid "Suggest a friend for %s"
msgstr "Schlage %s einen Kontakt vor"
-#: ../../mod/magic.php:69
+#: ../../mod/magic.php:70
msgid "Hub not found."
msgstr "Server nicht gefunden."
@@ -5620,15 +6652,13 @@ msgstr "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen."
msgid "Visible To"
msgstr "Sichtbar für"
-#: ../../mod/impel.php:191
-#, php-format
-msgid "%s element installed"
-msgstr "Element für %s installiert"
+#: ../../mod/lockview.php:31
+msgid "Remote privacy information not available."
+msgstr "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar."
-#: ../../mod/impel.php:194
-#, php-format
-msgid "%s element installation failed"
-msgstr "Installation des Elements %s ist fehlgeschlagen"
+#: ../../mod/lockview.php:52
+msgid "Visible to:"
+msgstr "Sichtbar für:"
#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
#: ../../mod/profiles.php:231 ../../mod/profiles.php:600
@@ -5657,7 +6687,7 @@ msgstr "Dieses Profil kann nicht exportiert werden."
#: ../../mod/profiles.php:241
msgid "Profile Name is required."
-msgstr "Profilname ist erforderlich."
+msgstr "Profil-Name erforderlich."
#: ../../mod/profiles.php:404
msgid "Marital Status"
@@ -5687,7 +6717,7 @@ msgstr "Religion"
msgid "Political Views"
msgstr "Politische Ansichten"
-#: ../../mod/profiles.php:431 ../../mod/id.php:33
+#: ../../mod/profiles.php:431
msgid "Gender"
msgstr "Geschlecht"
@@ -5703,7 +6733,7 @@ msgstr "Webseite"
msgid "Interests"
msgstr "Hobbys/Interessen"
-#: ../../mod/profiles.php:447 ../../mod/admin.php:994
+#: ../../mod/profiles.php:447 ../../mod/admin.php:871
msgid "Address"
msgstr "Adresse"
@@ -5871,7 +6901,7 @@ msgstr "Schule/Ausbildung"
msgid "This is your default profile."
msgstr "Das ist Dein Standardprofil."
-#: ../../mod/profiles.php:728 ../../mod/directory.php:218
+#: ../../mod/profiles.php:728 ../../mod/directory.php:188
msgid "Age: "
msgstr "Alter:"
@@ -5907,483 +6937,108 @@ msgstr "Webseite: "
msgid "Description: "
msgstr "Beschreibung: "
-#: ../../mod/viewsrc.php:38
-msgid "Source of Item"
-msgstr "Quelle des Elements"
-
-#: ../../mod/setup.php:187
-msgid "$Projectname Server - Setup"
-msgstr "$Projectname Server-Einrichtung"
-
-#: ../../mod/setup.php:191
-msgid "Could not connect to database."
-msgstr "Kann nicht mit der Datenbank verbinden."
-
-#: ../../mod/setup.php:195
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS."
-
-#: ../../mod/setup.php:202
-msgid "Could not create table."
-msgstr "Kann Tabelle nicht erstellen."
-
-#: ../../mod/setup.php:207
-msgid "Your site database has been installed."
-msgstr "Die Datenbank Deines Hubs wurde installiert."
-
-#: ../../mod/setup.php:211
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren."
-
-#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Lies die Datei \"install/INSTALL.txt\"."
-
-#: ../../mod/setup.php:277
-msgid "System check"
-msgstr "Systemprüfung"
-
-#: ../../mod/setup.php:282
-msgid "Check again"
-msgstr "Bitte nochmal prüfen"
-
-#: ../../mod/setup.php:304
-msgid "Database connection"
-msgstr "Datenbank Verbindung"
-
-#: ../../mod/setup.php:305
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "Um $Projectname installieren zu können, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können."
+#: ../../mod/delegate.php:95
+msgid "No potential page delegates located."
+msgstr "Keine potentiellen Bevollmächtigten für die Seite gefunden."
-#: ../../mod/setup.php:306
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Bitte kontaktieren Sie Ihren Hosting-Provider oder Administrator, falls Sie Fragen zu diesen Einstellungen haben."
+#: ../../mod/delegate.php:121
+msgid "Delegate Page Management"
+msgstr "Delegiere das Management für diese Seite"
-#: ../../mod/setup.php:307
+#: ../../mod/delegate.php:123
msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst."
-
-#: ../../mod/setup.php:311
-msgid "Database Server Name"
-msgstr "Datenbank-Servername"
-
-#: ../../mod/setup.php:311
-msgid "Default is localhost"
-msgstr "Standard ist localhost"
-
-#: ../../mod/setup.php:312
-msgid "Database Port"
-msgstr "Datenbank-Port"
-
-#: ../../mod/setup.php:312
-msgid "Communication port number - use 0 for default"
-msgstr "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung"
-
-#: ../../mod/setup.php:313
-msgid "Database Login Name"
-msgstr "Datenbank-Benutzername"
-
-#: ../../mod/setup.php:314
-msgid "Database Login Password"
-msgstr "Datenbank-Kennwort"
-
-#: ../../mod/setup.php:315
-msgid "Database Name"
-msgstr "Datenbank-Name"
-
-#: ../../mod/setup.php:316
-msgid "Database Type"
-msgstr "Datenbanktyp"
+"Delegates are able to manage all aspects of this account/page except for "
+"basic account settings. Please do not delegate your personal account to "
+"anybody that you do not trust completely."
+msgstr "Bevollmächtigte sind in der Lage, alle Aspekte dieses Kontos/dieser Seite zu verwalten, abgesehen von den Grundeinstellungen des Kontos. Gib niemandem eine Bevollmächtigung für Deinen privaten Account, dem Du nicht absolut vertraust!"
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid "Site administrator email address"
-msgstr "E-Mail Adresse des Seiten-Administrators"
+#: ../../mod/delegate.php:124
+msgid "Existing Page Managers"
+msgstr "Vorhandene Seitenmanager"
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst."
+#: ../../mod/delegate.php:126
+msgid "Existing Page Delegates"
+msgstr "Vorhandene Bevollmächtigte für die Seite"
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Website URL"
-msgstr "Server-URL"
+#: ../../mod/delegate.php:128
+msgid "Potential Delegates"
+msgstr "Potentielle Bevollmächtigte"
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Please use SSL (https) URL if available."
-msgstr "Nutze wenn möglich eine SSL-URL (https)."
+#: ../../mod/delegate.php:131
+msgid "Add"
+msgstr "Hinzufügen"
-#: ../../mod/setup.php:321 ../../mod/setup.php:363
-msgid "Please select a default timezone for your website"
-msgstr "Standard-Zeitzone für Deinen Server"
+#: ../../mod/delegate.php:132
+msgid "No entries."
+msgstr "Keine Einträge."
-#: ../../mod/setup.php:348
-msgid "Site settings"
-msgstr "Seiteneinstellungen"
-
-#: ../../mod/setup.php:413
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden."
-
-#: ../../mod/setup.php:414
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen."
-
-#: ../../mod/setup.php:418
-msgid "PHP executable path"
-msgstr "PHP Pfad zu ausführbarer Datei"
-
-#: ../../mod/setup.php:418
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren."
-
-#: ../../mod/setup.php:423
-msgid "Command line PHP"
-msgstr "PHP Befehlszeile"
-
-#: ../../mod/setup.php:432
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert."
-
-#: ../../mod/setup.php:433
-msgid "This is required for message delivery to work."
-msgstr "Das ist für die funktionierende Auslieferung von Nachrichten erforderlich."
-
-#: ../../mod/setup.php:436
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
-
-#: ../../mod/setup.php:454
-#, php-format
-msgid ""
-"Your max allowed total upload size is set to %s. Maximum size of one file to"
-" upload is set to %s. You are allowed to upload up to %d files at once."
-msgstr "Die Maximalgröße für Uploads insgesamt liegt bei %s. Die Maximalgröße für eine Datei liegt bei %s. Es können maximal %d Dateien gleichzeitig hochgeladen werden."
-
-#: ../../mod/setup.php:459
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "Du kannst diese Einstellungen in der php.ini des Servers ändern."
-
-#: ../../mod/setup.php:461
-msgid "PHP upload limits"
-msgstr "PHP-Hochladebeschränkungen"
-
-#: ../../mod/setup.php:484
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen."
-
-#: ../../mod/setup.php:485
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung."
-
-#: ../../mod/setup.php:488
-msgid "Generate encryption keys"
-msgstr "Verschlüsselungsschlüssel generieren"
-
-#: ../../mod/setup.php:500
-msgid "libCurl PHP module"
-msgstr "libCurl-PHP-Modul"
-
-#: ../../mod/setup.php:501
-msgid "GD graphics PHP module"
-msgstr "GD-Grafik-PHP-Modul"
-
-#: ../../mod/setup.php:502
-msgid "OpenSSL PHP module"
-msgstr "OpenSSL-PHP-Modul"
-
-#: ../../mod/setup.php:503
-msgid "mysqli or postgres PHP module"
-msgstr "mysqli oder postgres PHP-Modul"
-
-#: ../../mod/setup.php:504
-msgid "mb_string PHP module"
-msgstr "mb_string-PHP-Modul"
-
-#: ../../mod/setup.php:505
-msgid "mcrypt PHP module"
-msgstr "mcrypt-PHP-Modul"
-
-#: ../../mod/setup.php:506
-msgid "xml PHP module"
-msgstr "xml-PHP-Modul"
-
-#: ../../mod/setup.php:510 ../../mod/setup.php:512
-msgid "Apache mod_rewrite module"
-msgstr "Apache-mod_rewrite-Modul"
-
-#: ../../mod/setup.php:510
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Fehler: Das Apache-Modul mod-rewrite ist erforderlich, aber nicht installiert."
-
-#: ../../mod/setup.php:516 ../../mod/setup.php:519
-msgid "proc_open"
-msgstr "proc_open"
-
-#: ../../mod/setup.php:516
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Fehler: proc_open ist erforderlich, aber entweder nicht installiert oder wurde in der php.ini deaktiviert"
-
-#: ../../mod/setup.php:524
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul libCURL ist erforderlich, aber nicht installiert."
-
-#: ../../mod/setup.php:528
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung ist erforderlich, aber nicht installiert."
-
-#: ../../mod/setup.php:532
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul openssl ist erforderlich, aber nicht installiert."
-
-#: ../../mod/setup.php:536
-msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert."
-
-#: ../../mod/setup.php:540
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul mb_string ist erforderlich, aber nicht installiert."
-
-#: ../../mod/setup.php:544
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul mcrypt ist erforderlich, aber nicht installiert."
-
-#: ../../mod/setup.php:548
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Fehler: Das xml-PHP-Modul wird für DAV benötigt, ist aber nicht installiert."
-
-#: ../../mod/setup.php:566
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht."
-
-#: ../../mod/setup.php:567
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst."
-
-#: ../../mod/setup.php:568
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Red-Installation speichern musst."
-
-#: ../../mod/setup.php:569
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt."
-
-#: ../../mod/setup.php:572
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php ist beschreibbar"
-
-#: ../../mod/setup.php:586
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Red verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen."
-
-#: ../../mod/setup.php:587
-#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Red-Installationsverzeichnisses."
-
-#: ../../mod/setup.php:588 ../../mod/setup.php:609
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat."
-
-#: ../../mod/setup.php:589
-#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
-msgstr "Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht auf die Template-Dateien (.tpl), die das Verzeichnis enthält."
-
-#: ../../mod/setup.php:592
-#, php-format
-msgid "%s is writable"
-msgstr "%s ist beschreibbar"
-
-#: ../../mod/setup.php:608
-msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to"
-" have write access to the store directory under the Red top level folder"
-msgstr "Red benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red-Stammverzeichnisses"
-
-#: ../../mod/setup.php:612
-msgid "store is writable"
-msgstr "store ist schreibbar"
-
-#: ../../mod/setup.php:645
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server."
-
-#: ../../mod/setup.php:646
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich."
-
-#: ../../mod/setup.php:647
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können."
-
-#: ../../mod/setup.php:648
-msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer Red-Server (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird)."
-
-#: ../../mod/setup.php:649
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen."
-
-#: ../../mod/setup.php:650
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind."
-
-#: ../../mod/setup.php:652
-msgid "SSL certificate validation"
-msgstr "SSL Zertifikatverifizierung"
-
-#: ../../mod/setup.php:658
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:"
-
-#: ../../mod/setup.php:661
-msgid "Url rewrite is working"
-msgstr "Url rewrite funktioniert"
-
-#: ../../mod/setup.php:670
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen."
-
-#: ../../mod/setup.php:694
-msgid "Errors encountered creating database tables."
-msgstr "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten."
-
-#: ../../mod/setup.php:728
-msgid "<h1>What next</h1>"
-msgstr "<h1>Was als Nächstes</h1>"
-
-#: ../../mod/setup.php:729
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten."
-
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "OpenID Protokollfehler. Keine ID zurückgegeben."
-
-#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Willkommen %s. Entfernte Authentifizierung erfolgreich."
-
-#: ../../mod/directory.php:224
+#: ../../mod/directory.php:194
#, php-format
msgid "%d rating"
msgid_plural "%d ratings"
msgstr[0] "%d Bewertung"
msgstr[1] "%d Bewertungen"
-#: ../../mod/directory.php:236
+#: ../../mod/directory.php:206
msgid "Gender: "
msgstr "Geschlecht:"
-#: ../../mod/directory.php:238
+#: ../../mod/directory.php:208
msgid "Status: "
msgstr "Status:"
-#: ../../mod/directory.php:240
+#: ../../mod/directory.php:210
msgid "Homepage: "
msgstr "Webseite:"
-#: ../../mod/directory.php:243
+#: ../../mod/directory.php:213
msgid "Hometown: "
msgstr "Wohnort:"
-#: ../../mod/directory.php:245
+#: ../../mod/directory.php:215
msgid "About: "
msgstr "Über:"
-#: ../../mod/directory.php:303
+#: ../../mod/directory.php:273
msgid "Public Forum:"
msgstr "Öffentliches Forum:"
-#: ../../mod/directory.php:306
+#: ../../mod/directory.php:276
msgid "Keywords: "
msgstr "Schlüsselwörter:"
-#: ../../mod/directory.php:311
-#, php-format
-msgid "Common connections: %s"
-msgstr "Gemeinsame Verbindungen: %s"
-
-#: ../../mod/directory.php:363
+#: ../../mod/directory.php:331
msgid "Finding:"
msgstr "Ergebnisse:"
-#: ../../mod/directory.php:368
+#: ../../mod/directory.php:336
msgid "next page"
msgstr "nächste Seite"
-#: ../../mod/directory.php:368
+#: ../../mod/directory.php:336
msgid "previous page"
msgstr "vorherige Seite"
-#: ../../mod/directory.php:385
+#: ../../mod/directory.php:353
msgid "No entries (some entries may be hidden)."
msgstr "Keine Einträge gefunden (einige könnten versteckt sein)."
+#: ../../mod/rbmark.php:88
+msgid "Select a bookmark folder"
+msgstr "Lesezeichenordner wählen"
+
+#: ../../mod/rbmark.php:93
+msgid "Save Bookmark"
+msgstr "Lesezeichen speichern"
+
+#: ../../mod/rbmark.php:94
+msgid "URL of bookmark"
+msgstr "URL des Lesezeichens"
+
+#: ../../mod/rbmark.php:99
+msgid "Or enter new bookmark folder name"
+msgstr "Oder gib einen neuen Namen für den Lesezeichenordner ein"
+
#: ../../mod/uexport.php:33 ../../mod/uexport.php:34
msgid "Export Channel"
msgstr "Kanal exportieren"
@@ -6409,11 +7064,11 @@ msgid ""
"minutes for this download to begin."
msgstr "Exportiert Deine Kanal-Informationen sowie alle zugehörigen Inhalte in eine JSON-Sicherungsdatei. Die sichert alle Verbindungen, Berechtigungen, Profildaten und Inhalte Deines Kanals, ist aber nicht unbedingt für den Import eines Kanals auf einem anderen Hub geeignet, da die Datei SEHR groß werden kann. Bitte habe ein wenig Geduld – es kann mehrere Minuten dauern, bis der Download startet."
-#: ../../mod/viewconnections.php:62
+#: ../../mod/viewconnections.php:58
msgid "No connections."
msgstr "Keine Verbindungen."
-#: ../../mod/viewconnections.php:75
+#: ../../mod/viewconnections.php:71
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "%ss Profil [%s] besuchen"
@@ -6426,784 +7081,654 @@ msgstr "Ungültige Signatur des Ziels"
msgid "Theme settings updated."
msgstr "Theme-Einstellungen aktualisiert."
-#: ../../mod/admin.php:93 ../../mod/admin.php:452
+#: ../../mod/admin.php:97 ../../mod/admin.php:415
msgid "Site"
msgstr "Seite"
-#: ../../mod/admin.php:94
+#: ../../mod/admin.php:98
msgid "Accounts"
msgstr "Konten"
-#: ../../mod/admin.php:95 ../../mod/admin.php:985
+#: ../../mod/admin.php:99 ../../mod/admin.php:863
msgid "Channels"
msgstr "Kanäle"
-#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
+#: ../../mod/admin.php:100 ../../mod/admin.php:954 ../../mod/admin.php:996
msgid "Plugins"
msgstr "Plug-Ins"
-#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
+#: ../../mod/admin.php:101 ../../mod/admin.php:1159 ../../mod/admin.php:1195
msgid "Themes"
msgstr "Themes"
-#: ../../mod/admin.php:98
-msgid "Inspect queue"
-msgstr "Warteschlange kontrollieren"
+#: ../../mod/admin.php:102 ../../mod/admin.php:517
+msgid "Server"
+msgstr "Server"
-#: ../../mod/admin.php:100
+#: ../../mod/admin.php:103
msgid "Profile Config"
msgstr "Profilkonfiguration"
-#: ../../mod/admin.php:101
+#: ../../mod/admin.php:104
msgid "DB updates"
msgstr "DB-Aktualisierungen"
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
+#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1282
msgid "Logs"
msgstr "Protokolle"
-#: ../../mod/admin.php:121
+#: ../../mod/admin.php:124
msgid "Plugin Features"
msgstr "Plug-In Funktionen"
-#: ../../mod/admin.php:123
+#: ../../mod/admin.php:126
msgid "User registrations waiting for confirmation"
msgstr "Nutzer-Anmeldungen, die auf Bestätigung warten"
-#: ../../mod/admin.php:200
-msgid "# Accounts"
-msgstr "Anzahl der Konten"
-
-#: ../../mod/admin.php:201
-msgid "# blocked accounts"
-msgstr "Anzahl der blockierten Konten"
-
-#: ../../mod/admin.php:202
-msgid "# expired accounts"
-msgstr "Anzahl der abgelaufenen Konten"
-
-#: ../../mod/admin.php:203
-msgid "# expiring accounts"
-msgstr "Anzahl der ablaufenden Konten"
-
-#: ../../mod/admin.php:216
-msgid "# Channels"
-msgstr "Anzahl der Kanäle"
-
-#: ../../mod/admin.php:217
-msgid "# primary"
-msgstr "Anzahl der primären Kanäle"
-
-#: ../../mod/admin.php:218
-msgid "# clones"
-msgstr "Anzahl der Klone"
-
-#: ../../mod/admin.php:224
+#: ../../mod/admin.php:206
msgid "Message queues"
msgstr "Nachrichten-Warteschlangen"
-#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
-#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
-#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
-#: ../../mod/admin.php:1395
+#: ../../mod/admin.php:211 ../../mod/admin.php:414 ../../mod/admin.php:516
+#: ../../mod/admin.php:726 ../../mod/admin.php:862 ../../mod/admin.php:953
+#: ../../mod/admin.php:995 ../../mod/admin.php:1158 ../../mod/admin.php:1194
+#: ../../mod/admin.php:1281
msgid "Administration"
msgstr "Administration"
-#: ../../mod/admin.php:241
+#: ../../mod/admin.php:212
msgid "Summary"
msgstr "Zusammenfassung"
-#: ../../mod/admin.php:244
-msgid "Registered accounts"
-msgstr "Registrierte Konten"
+#: ../../mod/admin.php:214
+msgid "Registered users"
+msgstr "Registrierte Benutzer"
-#: ../../mod/admin.php:245 ../../mod/admin.php:552
+#: ../../mod/admin.php:216 ../../mod/admin.php:520
msgid "Pending registrations"
msgstr "Ausstehende Registrierungen"
-#: ../../mod/admin.php:246
-msgid "Registered channels"
-msgstr "Registrierte Kanäle"
+#: ../../mod/admin.php:217
+msgid "Version"
+msgstr "Version"
-#: ../../mod/admin.php:247 ../../mod/admin.php:553
+#: ../../mod/admin.php:219 ../../mod/admin.php:521
msgid "Active plugins"
msgstr "Aktive Plug-Ins"
-#: ../../mod/admin.php:248
-msgid "Version"
-msgstr "Version"
-
-#: ../../mod/admin.php:363
+#: ../../mod/admin.php:330
msgid "Site settings updated."
-msgstr "Seiteneinstellungen aktualisiert."
-
-#: ../../mod/admin.php:400 ../../mod/settings.php:813
-msgid "mobile"
-msgstr "mobil"
+msgstr "Site-Einstellungen aktualisiert."
-#: ../../mod/admin.php:402
+#: ../../mod/admin.php:369
msgid "experimental"
msgstr "experimentell"
-#: ../../mod/admin.php:404
+#: ../../mod/admin.php:371
msgid "unsupported"
msgstr "nicht unterstützt"
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:395
msgid "Yes - with approval"
msgstr "Ja - mit Zustimmung"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:401
msgid "My site is not a public server"
msgstr "Mein Server ist kein öffentlicher Server"
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:402
msgid "My site has paid access only"
msgstr "Mein Server erlaubt nur bezahlten Zugang"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:403
msgid "My site has free access only"
msgstr "Mein Server erlaubt ausschließlich freien Zugang"
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:404
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades"
-#: ../../mod/admin.php:454 ../../mod/register.php:207
+#: ../../mod/admin.php:417 ../../mod/register.php:207
msgid "Registration"
msgstr "Registrierung"
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:418
msgid "File upload"
msgstr "Dateiupload"
-#: ../../mod/admin.php:456
+#: ../../mod/admin.php:419
msgid "Policies"
msgstr "Richtlinien"
-#: ../../mod/admin.php:461
+#: ../../mod/admin.php:424
msgid "Site name"
msgstr "Seitenname"
-#: ../../mod/admin.php:462
+#: ../../mod/admin.php:425
msgid "Banner/Logo"
msgstr "Banner/Logo"
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:426
msgid "Administrator Information"
msgstr "Administrator-Informationen"
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:426
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden."
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:427
msgid "System language"
msgstr "System-Sprache"
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:428
msgid "System theme"
msgstr "System-Theme"
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:428
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:429
msgid "Mobile system theme"
msgstr "Mobile System-Theme:"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:429
msgid "Theme for mobile devices"
msgstr "Theme für mobile Geräte"
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:431
msgid "Enable Diaspora Protocol"
msgstr "Diaspora-Protokoll aktivieren"
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:431
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr "Kommunikation mit Diaspora und Friendica – experimentell"
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:432
msgid "Allow Feeds as Connections"
msgstr "Feeds als Verbindungen erlauben"
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:432
msgid "(Heavy system resource usage)"
msgstr "(führt zu hoher Systemlast)"
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:433
msgid "Maximum image size"
msgstr "Maximale Bildgröße"
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:433
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung)."
-#: ../../mod/admin.php:471
+#: ../../mod/admin.php:434
msgid "Does this site allow new member registration?"
msgstr "Erlaubt dieser Server die Registrierung neuer Nutzer?"
-#: ../../mod/admin.php:472
+#: ../../mod/admin.php:435
msgid "Which best describes the types of account offered by this hub?"
msgstr "Was ist die passendste Beschreibung der Konten auf diesem Hub?"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:436
msgid "Register text"
msgstr "Registrierungstext"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:436
msgid "Will be displayed prominently on the registration page."
msgstr "Wird gut sichtbar auf der Registrierungs-Seite angezeigt."
-#: ../../mod/admin.php:474
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Homepage des Servers, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)"
-
-#: ../../mod/admin.php:474
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen."
-
-#: ../../mod/admin.php:475
-msgid "Preserve site homepage URL"
-msgstr "Homepage-URL schützen"
-
-#: ../../mod/admin.php:475
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten."
-
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:437
msgid "Accounts abandoned after x days"
msgstr "Konten gelten nach X Tagen als unbenutzt"
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:437
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit."
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:438
msgid "Allowed friend domains"
msgstr "Erlaubte Domains für Kontakte"
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:438
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:439
msgid "Allowed email domains"
msgstr "Erlaubte Domains für E-Mails"
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:439
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:440
msgid "Not allowed email domains"
msgstr "Nicht erlaubte Domains für E-Mails"
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:440
msgid ""
"Comma separated list of domains which are not allowed in email addresses for"
" registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr "Domains in E-Mail-Adressen, die keine Erlaubnis erhalten, sich auf Deinem Hub zu registrieren. Mehrere Domains können durch Kommas getrennt werden. Platzhalter (*/?) sind möglich. Keine Eingabe bedeutet keine Einschränkung, unabhängig davon, ob unter erlaubte Domains etwas eingegeben wurde."
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:441
msgid "Block public"
msgstr "Öffentlichen Zugriff blockieren"
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:441
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Zugriff auf sonst öffentliche persönliche Seiten blockieren, wenn man nicht eingeloggt ist."
-#: ../../mod/admin.php:481
+#: ../../mod/admin.php:442
msgid "Verify Email Addresses"
msgstr "E-Mail-Adressen überprüfen"
-#: ../../mod/admin.php:481
+#: ../../mod/admin.php:442
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen)."
-#: ../../mod/admin.php:482
+#: ../../mod/admin.php:443
msgid "Force publish"
msgstr "Veröffentlichung erzwingen"
-#: ../../mod/admin.php:482
+#: ../../mod/admin.php:443
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen."
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:444
msgid "Disable discovery tab"
msgstr "Den „Entdecken“-Reiter ausblenden"
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:444
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr "Entferne den „Entdecken“-Reiter aus der Matrix-Seite, in dem öffentliche Inhalte angezeigt werden, die von anderen RedMatrix-Hubs geholt wurden."
-#: ../../mod/admin.php:484
-msgid "login on Homepage"
-msgstr "Anmeldemaske auf der Homepage"
+#: ../../mod/admin.php:445
+msgid "No login on Homepage"
+msgstr "Kein Login auf der Homepage"
-#: ../../mod/admin.php:484
+#: ../../mod/admin.php:445
msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden."
+"Check to hide the login form from your sites homepage when visitors arrive "
+"who are not logged in (e.g. when you put the content of the homepage in via "
+"the site channel)."
+msgstr "Aktivieren, um das Login-Formular auf der Startseite der Seite zu verbergen (z.B. weil es das Layout der Homepage des Seiten-Kanals stört)."
-#: ../../mod/admin.php:486
+#: ../../mod/admin.php:447
msgid "Proxy user"
msgstr "Proxy Benutzer"
-#: ../../mod/admin.php:487
+#: ../../mod/admin.php:448
msgid "Proxy URL"
msgstr "Proxy URL"
-#: ../../mod/admin.php:488
+#: ../../mod/admin.php:449
msgid "Network timeout"
msgstr "Netzwerk-Timeout"
-#: ../../mod/admin.php:488
+#: ../../mod/admin.php:449
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen)."
-#: ../../mod/admin.php:489
+#: ../../mod/admin.php:450
msgid "Delivery interval"
msgstr "Auslieferung Intervall"
-#: ../../mod/admin.php:489
+#: ../../mod/admin.php:450
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server."
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:451
msgid "Poll interval"
msgstr "Abfrageintervall"
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:451
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet."
-#: ../../mod/admin.php:491
+#: ../../mod/admin.php:452
msgid "Maximum Load Average"
msgstr "Maximales Load Average"
-#: ../../mod/admin.php:491
+#: ../../mod/admin.php:452
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50"
-#: ../../mod/admin.php:492
-msgid "Expiration period in days for imported (matrix/network) content"
-msgstr "Setze den Zeitraum (in Tagen), ab wann importierte Inhalte aus der RedMatrix (dem Netzwerk) ablaufen sollen"
-
-#: ../../mod/admin.php:492
-msgid "0 for no expiration of imported content"
-msgstr "Setze 0, damit importierte Inhalte niemals ablaufen (entfernt werden)"
-
-#: ../../mod/admin.php:540
+#: ../../mod/admin.php:508
msgid "No server found"
msgstr "Kein Server gefunden"
-#: ../../mod/admin.php:547 ../../mod/admin.php:831
+#: ../../mod/admin.php:515 ../../mod/admin.php:740
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:515
msgid "for channel"
msgstr "für Kanal"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:515
msgid "on server"
msgstr "auf Server"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:515
msgid "Status"
msgstr "Status"
-#: ../../mod/admin.php:549
-msgid "Server"
-msgstr "Server"
-
-#: ../../mod/admin.php:566
+#: ../../mod/admin.php:536
msgid "Update has been marked successful"
msgstr "Update wurde als erfolgreich markiert"
-#: ../../mod/admin.php:576
+#: ../../mod/admin.php:546
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle."
-#: ../../mod/admin.php:579
+#: ../../mod/admin.php:549
#, php-format
msgid "Update %s was successfully applied."
msgstr "Update %s wurde erfolgreich ausgeführt."
-#: ../../mod/admin.php:583
+#: ../../mod/admin.php:553
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt."
-#: ../../mod/admin.php:586
+#: ../../mod/admin.php:556
#, php-format
msgid "Update function %s could not be found."
msgstr "Update-Funktion %s konnte nicht gefunden werden."
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:571
msgid "No failed updates."
msgstr "Keine fehlgeschlagenen Aktualisierungen."
-#: ../../mod/admin.php:606
+#: ../../mod/admin.php:575
msgid "Failed Updates"
msgstr "Fehlgeschlagene Aktualisierungen"
-#: ../../mod/admin.php:608
+#: ../../mod/admin.php:577
msgid "Mark success (if update was manually applied)"
msgstr "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)"
-#: ../../mod/admin.php:609
+#: ../../mod/admin.php:578
msgid "Attempt to execute this update step automatically"
msgstr "Versuche, diesen Updateschritt automatisch auszuführen"
-#: ../../mod/admin.php:641
-msgid "Queue Statistics"
-msgstr "Warteschlangenstatistiken"
-
-#: ../../mod/admin.php:642
-msgid "Total Entries"
-msgstr "Einträge insgesamt"
-
-#: ../../mod/admin.php:643
-msgid "Priority"
-msgstr "Priorität"
-
-#: ../../mod/admin.php:644
-msgid "Destination URL"
-msgstr "Ziel-URL"
-
-#: ../../mod/admin.php:645
-msgid "Mark hub permanently offline"
-msgstr "Hub als permanent offline markieren"
-
-#: ../../mod/admin.php:646
-msgid "Empty queue for this hub"
-msgstr "Warteschlange für diesen Hub leeren"
-
-#: ../../mod/admin.php:647
-msgid "Last known contact"
-msgstr "Letzter bekannter Kontakt"
-
-#: ../../mod/admin.php:683
+#: ../../mod/admin.php:604
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s Nutzer blockiert/freigegeben"
msgstr[1] "%s Nutzer blockiert/freigegeben"
-#: ../../mod/admin.php:691
+#: ../../mod/admin.php:611
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] "%s Nutzer gelöscht"
msgstr[1] "%s Nutzer gelöscht"
-#: ../../mod/admin.php:727
+#: ../../mod/admin.php:640
msgid "Account not found"
msgstr "Konto nicht gefunden"
-#: ../../mod/admin.php:747
-#, php-format
-msgid "User '%s' blocked"
-msgstr "Benutzer '%s' blockiert"
-
-#: ../../mod/admin.php:755
+#: ../../mod/admin.php:660
#, php-format
msgid "User '%s' unblocked"
msgstr "Benutzer '%s' freigegeben"
-#: ../../mod/admin.php:818 ../../mod/admin.php:830
+#: ../../mod/admin.php:660
+#, php-format
+msgid "User '%s' blocked"
+msgstr "Benutzer '%s' blockiert"
+
+#: ../../mod/admin.php:727 ../../mod/admin.php:739
msgid "Users"
msgstr "Benutzer"
-#: ../../mod/admin.php:820 ../../mod/admin.php:987
+#: ../../mod/admin.php:729 ../../mod/admin.php:865
msgid "select all"
msgstr "Alle auswählen"
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:730
msgid "User registrations waiting for confirm"
msgstr "Neuanmeldungen, die auf Deine Bestätigung warten"
-#: ../../mod/admin.php:822
+#: ../../mod/admin.php:731
msgid "Request date"
msgstr "Antragsdatum"
-#: ../../mod/admin.php:823
+#: ../../mod/admin.php:732
msgid "No registrations."
msgstr "Keine Registrierungen."
-#: ../../mod/admin.php:824
+#: ../../mod/admin.php:733
msgid "Approve"
msgstr "Genehmigen"
-#: ../../mod/admin.php:825
+#: ../../mod/admin.php:734
msgid "Deny"
msgstr "Verweigern"
-#: ../../mod/admin.php:827 ../../mod/connedit.php:517
-#: ../../mod/connedit.php:720
-msgid "Block"
-msgstr "Blockieren"
-
-#: ../../mod/admin.php:828 ../../mod/connedit.php:517
-#: ../../mod/connedit.php:720
-msgid "Unblock"
-msgstr "Freigeben"
-
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:740
msgid "Register date"
msgstr "Registrierungs-Datum"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:740
msgid "Last login"
msgstr "Letzte Anmeldung"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:740
msgid "Expires"
msgstr "Verfällt"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:740
msgid "Service Class"
msgstr "Service-Klasse"
-#: ../../mod/admin.php:833
+#: ../../mod/admin.php:742
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Die markierten Nutzer werden gelöscht!\\n\\nAlles, was diese Nutzer auf dieser Seite veröffentlicht haben, wird endgültig gelöscht!\\n\\nBist Du sicher?"
-#: ../../mod/admin.php:834
+#: ../../mod/admin.php:743
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Der Nutzer {0} wird gelöscht!\\n\\nAlles, was dieser Nutzer auf dieser Seite veröffentlicht hat, wird endgültig gelöscht werden!\\n\\nBist Du sicher?"
-#: ../../mod/admin.php:870
+#: ../../mod/admin.php:776
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s Kanal gesperrt/freigegeben"
msgstr[1] "%s Kanäle gesperrt/freigegeben"
-#: ../../mod/admin.php:879
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "Code für %s Kanal gesperrt/freigegeben."
-msgstr[1] "Code für %s Kanäle gesperrt/freigegeben"
-
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:783
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s Kanal gelöscht"
msgstr[1] "%s Kanäle gelöscht"
-#: ../../mod/admin.php:906
+#: ../../mod/admin.php:802
msgid "Channel not found"
msgstr "Kanal nicht gefunden"
-#: ../../mod/admin.php:917
+#: ../../mod/admin.php:813
#, php-format
msgid "Channel '%s' deleted"
msgstr "Kanal '%s' gelöscht"
-#: ../../mod/admin.php:929
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Kanal '%s' gesperrt"
-
-#: ../../mod/admin.php:929
+#: ../../mod/admin.php:824
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Kanal '%s' freigegeben"
-#: ../../mod/admin.php:940
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Code für Kanal '%s' freigegeben"
-
-#: ../../mod/admin.php:940
+#: ../../mod/admin.php:824
#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Code für Kanal '%s' gesperrt."
+msgid "Channel '%s' censored"
+msgstr "Kanal '%s' gesperrt"
-#: ../../mod/admin.php:989
+#: ../../mod/admin.php:867
msgid "Censor"
msgstr "Sperren"
-#: ../../mod/admin.php:990
+#: ../../mod/admin.php:868
msgid "Uncensor"
msgstr "Freigeben"
-#: ../../mod/admin.php:991
-msgid "Allow Code"
-msgstr "Code erlauben"
-
-#: ../../mod/admin.php:992
-msgid "Disallow Code"
-msgstr "Code nicht erlauben"
-
-#: ../../mod/admin.php:994
+#: ../../mod/admin.php:871
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:996
+#: ../../mod/admin.php:873
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?"
-#: ../../mod/admin.php:997
+#: ../../mod/admin.php:874
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?"
-#: ../../mod/admin.php:1037
+#: ../../mod/admin.php:913
#, php-format
msgid "Plugin %s disabled."
msgstr "Plug-In %s deaktiviert."
-#: ../../mod/admin.php:1041
+#: ../../mod/admin.php:917
#, php-format
msgid "Plugin %s enabled."
msgstr "Plug-In %s aktiviert."
-#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
+#: ../../mod/admin.php:927 ../../mod/admin.php:1129
msgid "Disable"
msgstr "Deaktivieren"
-#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
+#: ../../mod/admin.php:929 ../../mod/admin.php:1131
msgid "Enable"
msgstr "Aktivieren"
-#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
+#: ../../mod/admin.php:955 ../../mod/admin.php:1160
msgid "Toggle"
msgstr "Umschalten"
-#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
+#: ../../mod/admin.php:963 ../../mod/admin.php:1170
msgid "Author: "
msgstr "Autor: "
-#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
+#: ../../mod/admin.php:964 ../../mod/admin.php:1171
msgid "Maintainer: "
msgstr "Betreuer:"
-#: ../../mod/admin.php:1214
+#: ../../mod/admin.php:1093
msgid "No themes found."
msgstr "Keine Theme gefunden."
-#: ../../mod/admin.php:1270
+#: ../../mod/admin.php:1152
msgid "Screenshot"
msgstr "Bildschirmfoto"
-#: ../../mod/admin.php:1316
+#: ../../mod/admin.php:1200
msgid "[Experimental]"
msgstr "[Experimentell]"
-#: ../../mod/admin.php:1317
+#: ../../mod/admin.php:1201
msgid "[Unsupported]"
msgstr "[Nicht unterstützt]"
-#: ../../mod/admin.php:1341
+#: ../../mod/admin.php:1228
msgid "Log settings updated."
-msgstr "Protokolleinstellungen aktualisiert."
+msgstr "Protokoll-Einstellungen aktualisiert."
-#: ../../mod/admin.php:1398
+#: ../../mod/admin.php:1284
msgid "Clear"
msgstr "Leeren"
-#: ../../mod/admin.php:1404
+#: ../../mod/admin.php:1290
msgid "Debugging"
msgstr "Debugging"
-#: ../../mod/admin.php:1405
+#: ../../mod/admin.php:1291
msgid "Log file"
msgstr "Protokolldatei"
-#: ../../mod/admin.php:1405
+#: ../../mod/admin.php:1291
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr "Muss für den Web-Server schreibbar sein. Relativ zum Red-Stammverzeichnis."
-#: ../../mod/admin.php:1406
+#: ../../mod/admin.php:1292
msgid "Log level"
msgstr "Protokollstufe"
-#: ../../mod/admin.php:1452
+#: ../../mod/admin.php:1339
msgid "New Profile Field"
msgstr "Neues Profilfeld"
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
msgid "Field nickname"
msgstr "Kurzname für das Feld"
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
msgid "System name of field"
msgstr "Systemname des Feldes"
-#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
+#: ../../mod/admin.php:1341 ../../mod/admin.php:1362
msgid "Input type"
msgstr "Art des Inhalts"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../mod/admin.php:1342 ../../mod/admin.php:1363
msgid "Field Name"
msgstr "Feldname"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../mod/admin.php:1342 ../../mod/admin.php:1363
msgid "Label on profile pages"
msgstr "Bezeichnung auf Profilseiten"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../mod/admin.php:1343 ../../mod/admin.php:1364
msgid "Help text"
msgstr "Hilfetext"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../mod/admin.php:1343 ../../mod/admin.php:1364
msgid "Additional info (optional)"
msgstr "Zusätzliche Informationen (optional)"
-#: ../../mod/admin.php:1466
+#: ../../mod/admin.php:1354
msgid "Field definition not found"
msgstr "Feld-Definition nicht gefunden"
-#: ../../mod/admin.php:1472
+#: ../../mod/admin.php:1360
msgid "Edit Profile Field"
msgstr "Profilfeld bearbeiten"
@@ -7215,88 +7740,20 @@ msgstr "Konnte Deinen Server nicht finden."
msgid "Post successful."
msgstr "Veröffentlichung erfolgreich."
-#: ../../mod/editblock.php:112
-msgid "Edit Block"
-msgstr "Block bearbeiten"
-
-#: ../../mod/editblock.php:123
-msgid "Delete block?"
-msgstr "Block löschen?"
-
-#: ../../mod/register.php:44
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal."
-
-#: ../../mod/register.php:50
-msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen."
-
-#: ../../mod/register.php:84
-msgid "Passwords do not match."
-msgstr "Passwörter stimmen nicht überein."
-
-#: ../../mod/register.php:117
-msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet."
-
-#: ../../mod/register.php:123
-msgid "Your registration is pending approval by the site owner."
-msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden."
-
-#: ../../mod/register.php:126
-msgid "Your registration can not be processed."
-msgstr "Deine Registrierung konnte nicht verarbeitet werden."
-
-#: ../../mod/register.php:163
-msgid "Registration on this site/hub is by approval only."
-msgstr "Anmeldungen auf diesem Server erfordern Zustimmung durch den Administrator"
-
-#: ../../mod/register.php:164
-msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
-msgstr "<a href=\"pubsites\">Registrierung auf einem anderen, angeschlossenen Server</a>"
-
-#: ../../mod/register.php:174
+#: ../../mod/post.php:229
msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal."
-
-#: ../../mod/register.php:185
-msgid "Terms of Service"
-msgstr "Nutzungsbedingungen"
-
-#: ../../mod/register.php:191
-#, php-format
-msgid "I accept the %s for this website"
-msgstr "Ich akzeptiere die %s für diese Webseite"
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angemeldet. Bitte melde Dich ab und versuche es erneut."
-#: ../../mod/register.php:193
+#: ../../mod/post.php:261 ../../mod/openid.php:72 ../../mod/openid.php:180
#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite"
-
-#: ../../mod/register.php:212
-msgid "Membership on this site is by invitation only."
-msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
-
-#: ../../mod/register.php:213
-msgid "Please enter your invitation code"
-msgstr "Bitte trage Deinen Einladungs-Code ein"
-
-#: ../../mod/register.php:216
-msgid "Your email address"
-msgstr "Ihre E-Mail Adresse"
-
-#: ../../mod/register.php:217
-msgid "Choose a password"
-msgstr "Passwort"
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Willkommen %s. Entfernte Authentifizierung erfolgreich."
-#: ../../mod/register.php:218
-msgid "Please re-enter your password"
-msgstr "Bitte gib Dein Passwort noch einmal ein"
+#: ../../mod/regmod.php:11
+msgid "Please login."
+msgstr "Bitte melde dich an."
#: ../../mod/removeaccount.php:30
msgid ""
@@ -7308,19 +7765,11 @@ msgstr "Das Löschen von Konten innerhalb 48 Stunden nachdem deren Passwort geä
msgid "Remove This Account"
msgstr "Dieses Konto löschen"
-#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
-msgid "WARNING: "
-msgstr "WARNUNG: "
-
#: ../../mod/removeaccount.php:58
msgid ""
-"This account and all its channels will be completely removed from the "
-"network. "
-msgstr "Dieses Konto mit all seinen Kanälen wird vollständig aus dem Netzwerk gelöscht."
-
-#: ../../mod/removeaccount.php:58 ../../mod/removeme.php:58
-msgid "This action is permanent and can not be undone!"
-msgstr "Dieser Schritt ist endgültig und kann nicht rückgängig gemacht werden!"
+"This will completely remove this account including all its channels from the"
+" network. Once this has been done it is not recoverable."
+msgstr "Hiermit wird dieses Nutzerkonto einschließlich all seiner Kanäle komplett aus dem Netzwerk entfernt. Dieser Vorgang kann nicht rückgängig gemacht werden."
#: ../../mod/removeaccount.php:59 ../../mod/removeme.php:59
msgid "Please enter your password for verification:"
@@ -7338,669 +7787,31 @@ msgid ""
"removed from the network"
msgstr "Standardmäßig werden nur die Kanalklone auf diesem RedMatrix-Hub aus dem Netzwerk entfernt"
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:720
-msgid "Remove Account"
-msgstr "Konto entfernen"
-
#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-#: ../../mod/update_home.php:21 ../../mod/update_public.php:21
+#: ../../mod/update_home.php:21
msgid "[Embedded content - reload page to view]"
msgstr "[Eingebettete Inhalte – lade die Seite neu, um sie anzuzeigen]"
-#: ../../mod/lockview.php:37
-msgid "Remote privacy information not available."
-msgstr "Privatsphäreeinstellungen anderer Nutzer sind nicht verfügbar."
-
-#: ../../mod/lockview.php:58
-msgid "Visible to:"
-msgstr "Sichtbar für:"
-
-#: ../../mod/settings.php:76
-msgid "Name is required"
-msgstr "Name ist erforderlich"
-
-#: ../../mod/settings.php:80
-msgid "Key and Secret are required"
-msgstr "Schlüssel und Geheimnis sind erforderlich"
-
-#: ../../mod/settings.php:130
-msgid "Diaspora Policy Settings updated."
-msgstr "Diaspora-Richtlinieneinstellungen aktualisiert."
-
-#: ../../mod/settings.php:238
-msgid "Passwords do not match. Password unchanged."
-msgstr "Kennwörter stimmen nicht überein. Kennwort nicht verändert."
-
-#: ../../mod/settings.php:242
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert."
-
-#: ../../mod/settings.php:256
-msgid "Password changed."
-msgstr "Kennwort geändert."
-
-#: ../../mod/settings.php:258
-msgid "Password update failed. Please try again."
-msgstr "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal."
-
-#: ../../mod/settings.php:272
-msgid "Not valid email."
-msgstr "Keine gültige E-Mail Adresse."
-
-#: ../../mod/settings.php:275
-msgid "Protected email address. Cannot change to that email."
-msgstr "Geschützte E-Mail Adresse. Diese kann nicht verändert werden."
-
-#: ../../mod/settings.php:284
-msgid "System failure storing new email. Please try again."
-msgstr "Systemfehler während des Speicherns der neuen Mail. Bitte versuche es noch einmal."
-
-#: ../../mod/settings.php:523
-msgid "Settings updated."
-msgstr "Einstellungen aktualisiert."
-
-#: ../../mod/settings.php:587 ../../mod/settings.php:613
-#: ../../mod/settings.php:649
-msgid "Add application"
-msgstr "Anwendung hinzufügen"
-
-#: ../../mod/settings.php:590
-msgid "Name of application"
-msgstr "Name der Anwendung"
-
-#: ../../mod/settings.php:591 ../../mod/settings.php:617
-msgid "Consumer Key"
-msgstr "Consumer Key"
-
-#: ../../mod/settings.php:591 ../../mod/settings.php:592
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20"
-
-#: ../../mod/settings.php:592 ../../mod/settings.php:618
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
-
-#: ../../mod/settings.php:593 ../../mod/settings.php:619
-msgid "Redirect"
-msgstr "Umleitung"
-
-#: ../../mod/settings.php:593
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert"
-
-#: ../../mod/settings.php:594 ../../mod/settings.php:620
-msgid "Icon url"
-msgstr "Symbol-URL"
-
-#: ../../mod/settings.php:594
-msgid "Optional"
-msgstr "Optional"
-
-#: ../../mod/settings.php:605
-msgid "You can't edit this application."
-msgstr "Diese Anwendung kann nicht bearbeitet werden."
-
-#: ../../mod/settings.php:648
-msgid "Connected Apps"
-msgstr "Verbundene Apps"
-
-#: ../../mod/settings.php:652
-msgid "Client key starts with"
-msgstr "Client Key beginnt mit"
-
-#: ../../mod/settings.php:653
-msgid "No name"
-msgstr "Kein Name"
-
-#: ../../mod/settings.php:654
-msgid "Remove authorization"
-msgstr "Authorisierung aufheben"
-
-#: ../../mod/settings.php:668
-msgid "No feature settings configured"
-msgstr "Keine Funktionseinstellungen konfiguriert"
-
-#: ../../mod/settings.php:685
-msgid "Feature/Addon Settings"
-msgstr "Funktions-/Addon-Einstellungen"
-
-#: ../../mod/settings.php:687
-msgid "Settings for the built-in Diaspora emulator"
-msgstr "Einstellungen für den eingebauten Diaspora-Emulator"
-
-#: ../../mod/settings.php:688
-msgid "Allow any Diaspora member to comment on your public posts"
-msgstr "Jedem Diaspora-Mitglied erlauben, Deine öffentlichen Beiträge zu kommentieren"
-
-#: ../../mod/settings.php:689
-msgid "Enable the Diaspora protocol for this channel"
-msgstr "Diaspora-Protokoll für diesen Kanal aktivieren"
-
-#: ../../mod/settings.php:690
-msgid "Diaspora Policy Settings"
-msgstr "Diaspora-Richtlinieneinstellungen"
-
-#: ../../mod/settings.php:691
-msgid "Prevent your hashtags from being redirected to other sites"
-msgstr "Verhindern, dass Deine hashtags zu anderen Seiten umgeleitet werden"
-
-#: ../../mod/settings.php:715
-msgid "Account Settings"
-msgstr "Kontoeinstellungen"
-
-#: ../../mod/settings.php:716
-msgid "Enter New Password:"
-msgstr "Neues Passwort eingeben:"
-
-#: ../../mod/settings.php:717
-msgid "Confirm New Password:"
-msgstr "Neues Passwort bestätigen:"
-
-#: ../../mod/settings.php:717
-msgid "Leave password fields blank unless changing"
-msgstr "Lasse die Passwort-Felder leer, außer Du möchtest das Passwort ändern"
-
-#: ../../mod/settings.php:719 ../../mod/settings.php:1057
-msgid "Email Address:"
-msgstr "Email Adresse:"
-
-#: ../../mod/settings.php:721
-msgid "Remove this account including all its channels"
-msgstr "Dieses Konto inklusive all seiner Kanäle löschen"
-
-#: ../../mod/settings.php:737
-msgid "Off"
-msgstr "Aus"
-
-#: ../../mod/settings.php:737
-msgid "On"
-msgstr "An"
-
-#: ../../mod/settings.php:744
-msgid "Additional Features"
-msgstr "Zusätzliche Funktionen"
-
-#: ../../mod/settings.php:768
-msgid "Connector Settings"
-msgstr "Verbindereinstellungen"
-
-#: ../../mod/settings.php:807
-msgid "No special theme for mobile devices"
-msgstr "Keine spezielle Theme für mobile Geräte"
-
-#: ../../mod/settings.php:810
-#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s – (experimentell)"
-
-#: ../../mod/settings.php:849
-msgid "Display Settings"
-msgstr "Anzeigeeinstellungen"
-
-#: ../../mod/settings.php:850
-msgid "Theme Settings"
-msgstr "Theme-Einstellungen"
-
-#: ../../mod/settings.php:851
-msgid "Custom Theme Settings"
-msgstr "Benutzerdefinierte Theme-Einstellungen"
-
-#: ../../mod/settings.php:852
-msgid "Content Settings"
-msgstr "Inhaltseinstellungen"
-
-#: ../../mod/settings.php:858
-msgid "Display Theme:"
-msgstr "Anzeige-Theme:"
-
-#: ../../mod/settings.php:859
-msgid "Mobile Theme:"
-msgstr "Mobile Theme:"
-
-#: ../../mod/settings.php:860
-msgid "Enable user zoom on mobile devices"
-msgstr "Zoom auf Mobilgeräten aktivieren"
-
-#: ../../mod/settings.php:861
-msgid "Update browser every xx seconds"
-msgstr "Browser alle xx Sekunden aktualisieren"
-
-#: ../../mod/settings.php:861
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimum 10 Sekunden, kein Maximum"
-
-#: ../../mod/settings.php:862
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:"
-
-#: ../../mod/settings.php:862
-msgid "Maximum of 100 items"
-msgstr "Maximum: 100 Beiträge"
-
-#: ../../mod/settings.php:863
-msgid "Show emoticons (smilies) as images"
-msgstr "Emoticons (Smilies) als Bilder anzeigen"
-
-#: ../../mod/settings.php:864
-msgid "Link post titles to source"
-msgstr "Beitragstitel zum Originalbeitrag verlinken"
-
-#: ../../mod/settings.php:865
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Systemseitengestaltungseditor - (erweitert)"
-
-#: ../../mod/settings.php:868
-msgid "Use blog/list mode on channel page"
-msgstr "Blog-/Listenmodus auf der Kanalseite verwenden"
-
-#: ../../mod/settings.php:868 ../../mod/settings.php:869
-msgid "(comments displayed separately)"
-msgstr "(Kommentare werden separat angezeigt)"
-
-#: ../../mod/settings.php:869
-msgid "Use blog/list mode on matrix page"
-msgstr "Blog-/Listenmodus auf der Matrixseite verwenden"
-
-#: ../../mod/settings.php:870
-msgid "Channel page max height of content (in pixels)"
-msgstr "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)"
-
-#: ../../mod/settings.php:870 ../../mod/settings.php:871
-msgid "click to expand content exceeding this height"
-msgstr "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden."
-
-#: ../../mod/settings.php:871
-msgid "Matrix page max height of content (in pixels)"
-msgstr "Maximale Höhe von Beitragsblöcken auf der Matrixseite (in Pixeln)"
-
-#: ../../mod/settings.php:905
-msgid "Nobody except yourself"
-msgstr "Niemand außer Dir selbst"
-
-#: ../../mod/settings.php:906
-msgid "Only those you specifically allow"
-msgstr "Nur die, denen Du es explizit erlaubst"
-
-#: ../../mod/settings.php:907
-msgid "Approved connections"
-msgstr "Angenommene Verbindungen"
-
-#: ../../mod/settings.php:908
-msgid "Any connections"
-msgstr "Beliebige Verbindungen"
-
-#: ../../mod/settings.php:909
-msgid "Anybody on this website"
-msgstr "Jeder auf dieser Website"
-
-#: ../../mod/settings.php:910
-msgid "Anybody in this network"
-msgstr "Alle Red-Nutzer"
-
-#: ../../mod/settings.php:911
-msgid "Anybody authenticated"
-msgstr "Jeder authentifizierte"
-
-#: ../../mod/settings.php:912
-msgid "Anybody on the internet"
-msgstr "Jeder im Internet"
-
-#: ../../mod/settings.php:986
-msgid "Publish your default profile in the network directory"
-msgstr "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen"
-
-#: ../../mod/settings.php:991
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?"
-
-#: ../../mod/settings.php:1000
-msgid "Your channel address is"
-msgstr "Deine Kanal-Adresse lautet"
-
-#: ../../mod/settings.php:1048
-msgid "Channel Settings"
-msgstr "Kanaleinstellungen"
-
-#: ../../mod/settings.php:1055
-msgid "Basic Settings"
-msgstr "Grundeinstellungen"
-
-#: ../../mod/settings.php:1058
-msgid "Your Timezone:"
-msgstr "Ihre Zeitzone:"
-
-#: ../../mod/settings.php:1059
-msgid "Default Post Location:"
-msgstr "Standardstandort:"
-
-#: ../../mod/settings.php:1059
-msgid "Geographical location to display on your posts"
-msgstr "Geografischer Ort, der bei Deinen Beiträgen angezeigt werden soll"
-
-#: ../../mod/settings.php:1060
-msgid "Use Browser Location:"
-msgstr "Standort des Browsers verwenden:"
-
-#: ../../mod/settings.php:1062
-msgid "Adult Content"
-msgstr "Nicht jugendfreie Inhalte"
-
-#: ../../mod/settings.php:1062
-msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Dieser Kanal veröffentlicht regelmäßig Inhalte, die für Minderjährige ungeeignet sind. (Bitte markiere solche Inhalte mit dem Schlagwort #NSFW)"
-
-#: ../../mod/settings.php:1064
-msgid "Security and Privacy Settings"
-msgstr "Sicherheits- und Datenschutzeinstellungen"
-
-#: ../../mod/settings.php:1066
-msgid "Your permissions are already configured. Click to view/adjust"
-msgstr "Deine Zugriffsrechte sind schon konfiguriert. Klicke hier, um sie zu betrachten oder zu ändern"
-
-#: ../../mod/settings.php:1068
-msgid "Hide my online presence"
-msgstr "Meine Online-Präsenz verbergen"
-
-#: ../../mod/settings.php:1068
-msgid "Prevents displaying in your profile that you are online"
-msgstr "Verhindert die Anzeige Deines Online-Status in deinem Profil"
-
-#: ../../mod/settings.php:1070
-msgid "Simple Privacy Settings:"
-msgstr "Einfache Privatsphäreeinstellungen:"
-
-#: ../../mod/settings.php:1071
-msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr "Komplett offen – <em>extrem ungeschützt (mit großer Vorsicht verwenden!)</em>"
-
-#: ../../mod/settings.php:1072
-msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Typisch – <em>Standard öffentlich, Privatsphäre, wo sie erwünscht ist (ähnlich den Einstellungen in sozialen Netzwerken, aber mit besser geschützter Privatsphäre)</em>"
-
-#: ../../mod/settings.php:1073
-msgid "Private - <em>default private, never open or public</em>"
-msgstr "Privat – <em>Standard privat, nie offen oder öffentlich</em>"
-
-#: ../../mod/settings.php:1074
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Blockiert – <em>Alle standardmäßig blockiert</em>"
-
-#: ../../mod/settings.php:1076
-msgid "Allow others to tag your posts"
-msgstr "Erlaube anderen, Deine Beiträge zu verschlagworten"
-
-#: ../../mod/settings.php:1076
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren"
-
-#: ../../mod/settings.php:1078
-msgid "Advanced Privacy Settings"
-msgstr "Fortgeschrittene Privatsphäreeinstellungen"
-
-#: ../../mod/settings.php:1080
-msgid "Expire other channel content after this many days"
-msgstr "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen"
-
-#: ../../mod/settings.php:1080
-msgid "0 or blank prevents expiration"
-msgstr "0 oder kein Inhalt verhindern das Verfallen"
-
-#: ../../mod/settings.php:1081
-msgid "Maximum Friend Requests/Day:"
-msgstr "Maximale Kontaktanfragen pro Tag:"
-
-#: ../../mod/settings.php:1081
-msgid "May reduce spam activity"
-msgstr "Kann die Spam-Aktivität verringern"
-
-#: ../../mod/settings.php:1082
-msgid "Default Post Permissions"
-msgstr "Standardmäßige Beitragsberechtigungen"
-
-#: ../../mod/settings.php:1083 ../../mod/mitem.php:159 ../../mod/mitem.php:229
-msgid "(click to open/close)"
-msgstr "(zum öffnen/schließen anklicken)"
-
-#: ../../mod/settings.php:1087
-msgid "Channel permissions category:"
-msgstr "Zugriffsrechte-Kategorie des Kanals:"
-
-#: ../../mod/settings.php:1093
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:"
-
-#: ../../mod/settings.php:1093
-msgid "Useful to reduce spamming"
-msgstr "Nützlich, um Spam zu verringern"
-
-#: ../../mod/settings.php:1096
-msgid "Notification Settings"
-msgstr "Benachrichtigungseinstellungen"
-
-#: ../../mod/settings.php:1097
-msgid "By default post a status message when:"
-msgstr "Sende standardmäßig Status-Nachrichten, wenn:"
-
-#: ../../mod/settings.php:1098
-msgid "accepting a friend request"
-msgstr "Du eine Verbindungsanfrage annimmst"
-
-#: ../../mod/settings.php:1099
-msgid "joining a forum/community"
-msgstr "Du einem Forum beitrittst"
-
-#: ../../mod/settings.php:1100
-msgid "making an <em>interesting</em> profile change"
-msgstr "Du eine <em>interessante</em> Änderung an Deinem Profil vornimmst"
-
-#: ../../mod/settings.php:1101
-msgid "Send a notification email when:"
-msgstr "Eine E-Mail-Benachrichtigung senden, wenn:"
-
-#: ../../mod/settings.php:1102
-msgid "You receive a connection request"
-msgstr "Du eine Verbindungsanfrage erhältst"
-
-#: ../../mod/settings.php:1103
-msgid "Your connections are confirmed"
-msgstr "Eine Verbindung bestätigt wurde"
-
-#: ../../mod/settings.php:1104
-msgid "Someone writes on your profile wall"
-msgstr "Jemand auf Deine Pinnwand schreibt"
-
-#: ../../mod/settings.php:1105
-msgid "Someone writes a followup comment"
-msgstr "Jemand einen Beitrag kommentiert"
-
-#: ../../mod/settings.php:1106
-msgid "You receive a private message"
-msgstr "Du eine private Nachricht erhältst"
-
-#: ../../mod/settings.php:1107
-msgid "You receive a friend suggestion"
-msgstr "Du einen Kontaktvorschlag erhältst"
-
-#: ../../mod/settings.php:1108
-msgid "You are tagged in a post"
-msgstr "Du in einem Beitrag erwähnt wurdest"
-
-#: ../../mod/settings.php:1109
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest"
-
-#: ../../mod/settings.php:1112
-msgid "Show visual notifications including:"
-msgstr "Visuelle Benachrichtigungen anzeigen für:"
-
-#: ../../mod/settings.php:1114
-msgid "Unseen matrix activity"
-msgstr "Ungesehene Matrix-Aktivität"
-
-#: ../../mod/settings.php:1115
-msgid "Unseen channel activity"
-msgstr "Ungesehene Kanal-Aktivität"
-
-#: ../../mod/settings.php:1116
-msgid "Unseen private messages"
-msgstr "Ungelesene persönliche Nachrichten"
-
-#: ../../mod/settings.php:1116 ../../mod/settings.php:1121
-#: ../../mod/settings.php:1122 ../../mod/settings.php:1123
-msgid "Recommended"
-msgstr "Empfohlen"
-
-#: ../../mod/settings.php:1117
-msgid "Upcoming events"
-msgstr "Baldige Termine"
-
-#: ../../mod/settings.php:1118
-msgid "Events today"
-msgstr "Heutige Termine"
-
-#: ../../mod/settings.php:1119
-msgid "Upcoming birthdays"
-msgstr "Baldige Geburtstage"
+#: ../../mod/wall_upload.php:35
+msgid "Wall Photos"
+msgstr "Wall Fotos"
-#: ../../mod/settings.php:1119
-msgid "Not available in all themes"
-msgstr "Nicht in allen Themes verfügbar"
-
-#: ../../mod/settings.php:1120
-msgid "System (personal) notifications"
-msgstr "System – (persönliche) Benachrichtigungen"
-
-#: ../../mod/settings.php:1121
-msgid "System info messages"
-msgstr "System – Info-Nachrichten"
-
-#: ../../mod/settings.php:1122
-msgid "System critical alerts"
-msgstr "System – kritische Warnungen"
-
-#: ../../mod/settings.php:1123
-msgid "New connections"
-msgstr "Neue Verbindungen"
-
-#: ../../mod/settings.php:1124
-msgid "System Registrations"
-msgstr "System – Registrierungen"
-
-#: ../../mod/settings.php:1125
-msgid ""
-"Also show new wall posts, private messages and connections under Notices"
-msgstr "Zeigt neue Pinnwand-Nachrichten, private Nachrichten und Verbindungen unter Benachrichtigungen an"
-
-#: ../../mod/settings.php:1127
-msgid "Notify me of events this many days in advance"
-msgstr "Benachrichtige mich zu Terminen so viele Tage im Voraus"
-
-#: ../../mod/settings.php:1127
-msgid "Must be greater than 0"
-msgstr "Muss größer als 0 sein"
-
-#: ../../mod/settings.php:1129
-msgid "Advanced Account/Page Type Settings"
-msgstr "Erweiterte Konto-/Seitentypeinstellungen"
-
-#: ../../mod/settings.php:1130
-msgid "Change the behaviour of this account for special situations"
-msgstr "Ändere das Verhalten dieses Accounts unter speziellen Umständen"
-
-#: ../../mod/settings.php:1133
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Bitte aktivieren Sie den Expertenmodus (unter <a href=\"settings/features\">Einstellungen > Zusätzliche Funktionen</a>), um hier Einstellungen vorzunehmen!"
-
-#: ../../mod/settings.php:1134
-msgid "Miscellaneous Settings"
-msgstr "Sonstige Einstellungen"
-
-#: ../../mod/settings.php:1136
-msgid "Personal menu to display in your channel pages"
-msgstr "Eigenes Menü zur Anzeige auf den Seiten deines Kanals"
-
-#: ../../mod/settings.php:1137 ../../mod/removeme.php:61
-msgid "Remove Channel"
-msgstr "Kanal löschen"
-
-#: ../../mod/settings.php:1138
-msgid "Remove this channel."
-msgstr "Diesen Kanal löschen"
-
-#: ../../mod/id.php:11
-msgid "First Name"
-msgstr "Vorname"
-
-#: ../../mod/id.php:12
-msgid "Last Name"
-msgstr "Nachname"
-
-#: ../../mod/id.php:13
-msgid "Nickname"
-msgstr "Spitzname"
-
-#: ../../mod/id.php:14
-msgid "Full Name"
-msgstr "Voller Name"
-
-#: ../../mod/id.php:20
-msgid "Profile Photo 16px"
-msgstr "Profilfoto 16 px"
-
-#: ../../mod/id.php:21
-msgid "Profile Photo 32px"
-msgstr "Profilfoto 32 px"
-
-#: ../../mod/id.php:22
-msgid "Profile Photo 48px"
-msgstr "Profilfoto 48 px"
-
-#: ../../mod/id.php:23
-msgid "Profile Photo 64px"
-msgstr "Profilfoto 64 px"
-
-#: ../../mod/id.php:24
-msgid "Profile Photo 80px"
-msgstr "Profilfoto 80 px"
-
-#: ../../mod/id.php:25
-msgid "Profile Photo 128px"
-msgstr "Profilfoto 128 px"
-
-#: ../../mod/id.php:26
-msgid "Timezone"
-msgstr "Zeitzone"
-
-#: ../../mod/id.php:27
-msgid "Homepage URL"
-msgstr "Homepage-URL"
-
-#: ../../mod/id.php:29
-msgid "Birth Year"
-msgstr "Geburtsjahr"
+#: ../../mod/match.php:16
+msgid "Profile Match"
+msgstr "Profil-Übereinstimmungen"
-#: ../../mod/id.php:30
-msgid "Birth Month"
-msgstr "Geburtsmonat"
+#: ../../mod/match.php:24
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu."
-#: ../../mod/id.php:31
-msgid "Birth Day"
-msgstr "Geburtstag"
+#: ../../mod/match.php:61
+msgid "is interested in:"
+msgstr "interessiert sich für:"
-#: ../../mod/id.php:32
-msgid "Birthdate"
-msgstr "Geburtsdatum"
+#: ../../mod/match.php:69
+msgid "No matches"
+msgstr "Keine Übereinstimmungen"
#: ../../mod/message.php:41
msgid "Conversation removed."
@@ -8018,125 +7829,113 @@ msgstr "Unterhaltung löschen"
msgid "D, d M Y - g:i A"
msgstr "D, d. M Y - G:i"
-#: ../../mod/mitem.php:51
-msgid "Unable to create element."
-msgstr "Element konnte nicht erstellt werden."
+#: ../../mod/mitem.php:67
+msgid "Menu element updated."
+msgstr "Menü-Element aktualisiert."
-#: ../../mod/mitem.php:74
+#: ../../mod/mitem.php:71
msgid "Unable to update menu element."
msgstr "Kann Menü-Element nicht aktualisieren."
-#: ../../mod/mitem.php:89
+#: ../../mod/mitem.php:77
+msgid "Menu element added."
+msgstr "Menü-Bestandteil hinzugefügt."
+
+#: ../../mod/mitem.php:81
msgid "Unable to add menu element."
msgstr "Kann Menü-Bestandteil nicht hinzufügen."
-#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
-msgid "Menu Item Permissions"
-msgstr "Zugriffsrechte des Menü-Elements"
-
-#: ../../mod/mitem.php:161 ../../mod/mitem.php:176
-msgid "Link Name"
-msgstr "Name des Links"
-
-#: ../../mod/mitem.php:162 ../../mod/mitem.php:233
-msgid "Link or Submenu Target"
-msgstr "Ziel des Links oder Untermenüs"
-
-#: ../../mod/mitem.php:162
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr "URL des Links eingeben oder Menünamen wählen, um ein Untermenü anzulegen."
-
-#: ../../mod/mitem.php:163 ../../mod/mitem.php:234
-msgid "Use magic-auth if available"
-msgstr "Magic-Auth verwenden, falls verfügbar"
-
-#: ../../mod/mitem.php:164 ../../mod/mitem.php:235
-msgid "Open link in new window"
-msgstr "Öffne Link in neuem Fenster"
-
-#: ../../mod/mitem.php:165 ../../mod/mitem.php:236
-msgid "Order in list"
-msgstr "Reihenfolge in der Liste"
-
-#: ../../mod/mitem.php:165 ../../mod/mitem.php:236
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "Größere Nummern werden weiter unten in der Auflistung einsortiert"
-
-#: ../../mod/mitem.php:166
-msgid "Submit and finish"
-msgstr "Absenden und fertigstellen"
-
-#: ../../mod/mitem.php:167
-msgid "Submit and continue"
-msgstr "Absenden und fortfahren"
+#: ../../mod/mitem.php:127
+msgid "Manage Menu Elements"
+msgstr "Menü-Bestandteile verwalten"
-#: ../../mod/mitem.php:174
-msgid "Menu:"
-msgstr "Menü:"
-
-#: ../../mod/mitem.php:177
-msgid "Link Target"
-msgstr "Ziel des Links"
-
-#: ../../mod/mitem.php:180
+#: ../../mod/mitem.php:130
msgid "Edit menu"
msgstr "Menü bearbeiten"
-#: ../../mod/mitem.php:183
+#: ../../mod/mitem.php:133
msgid "Edit element"
msgstr "Bestandteil bearbeiten"
-#: ../../mod/mitem.php:184
+#: ../../mod/mitem.php:134
msgid "Drop element"
msgstr "Bestandteil löschen"
-#: ../../mod/mitem.php:185
+#: ../../mod/mitem.php:135
msgid "New element"
msgstr "Neues Bestandteil"
-#: ../../mod/mitem.php:186
+#: ../../mod/mitem.php:136
msgid "Edit this menu container"
msgstr "Diesen Menü-Container bearbeiten"
-#: ../../mod/mitem.php:187
+#: ../../mod/mitem.php:137
msgid "Add menu element"
msgstr "Menüelement hinzufügen"
-#: ../../mod/mitem.php:188
+#: ../../mod/mitem.php:138
msgid "Delete this menu item"
msgstr "Lösche dieses Menü-Bestandteil"
-#: ../../mod/mitem.php:189
+#: ../../mod/mitem.php:139
msgid "Edit this menu item"
msgstr "Bearbeite dieses Menü-Bestandteil"
-#: ../../mod/mitem.php:206
+#: ../../mod/mitem.php:158
+msgid "New Menu Element"
+msgstr "Neues Menü-Bestandteil"
+
+#: ../../mod/mitem.php:160 ../../mod/mitem.php:203
+msgid "Menu Item Permissions"
+msgstr "Zugriffsrechte des Menü-Elements"
+
+#: ../../mod/mitem.php:163 ../../mod/mitem.php:207
+msgid "Link text"
+msgstr "Link Text"
+
+#: ../../mod/mitem.php:164 ../../mod/mitem.php:208
+msgid "URL of link"
+msgstr "URL des Links"
+
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
+msgid "Use RedMatrix magic-auth if available"
+msgstr "Verwende die automatische RedMatrix-Authentifizierung (magic-auth), wenn verfügbar"
+
+#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
+msgid "Open link in new window"
+msgstr "Öffne Link in neuem Fenster"
+
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
+msgid "Order in list"
+msgstr "Reihenfolge in der Liste"
+
+#: ../../mod/mitem.php:168 ../../mod/mitem.php:212
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Größere Nummern werden weiter unten in der Auflistung einsortiert"
+
+#: ../../mod/mitem.php:181
msgid "Menu item not found."
msgstr "Menü-Bestandteil nicht gefunden."
-#: ../../mod/mitem.php:217
+#: ../../mod/mitem.php:190
msgid "Menu item deleted."
msgstr "Menü-Bestandteil gelöscht."
-#: ../../mod/mitem.php:219
+#: ../../mod/mitem.php:192
msgid "Menu item could not be deleted."
msgstr "Menü-Bestandteil kann nicht gelöscht werden."
-#: ../../mod/mitem.php:226
+#: ../../mod/mitem.php:201
msgid "Edit Menu Element"
msgstr "Bearbeite Menü-Bestandteil"
-#: ../../mod/mitem.php:232
-msgid "Link text"
-msgstr "Link Text"
-
#: ../../mod/mood.php:131
msgid "Set your current mood and tell your friends"
msgstr "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden"
#: ../../mod/vote.php:97
msgid "Total votes"
-msgstr "Stimmen insgesamt"
+msgstr "Stimmen gesamt"
#: ../../mod/vote.php:98
msgid "Average Rating"
@@ -8153,8 +7952,10 @@ msgid "Remove This Channel"
msgstr "Diesen Kanal löschen"
#: ../../mod/removeme.php:58
-msgid "This channel will be completely removed from the network. "
-msgstr "Dieser Kanal wird vollständig aus dem Netzwerk gelöscht."
+msgid ""
+"This will completely remove this channel from the network. Once this has "
+"been done it is not recoverable."
+msgstr "Hiermit wird dieser Kanal komplett aus dem Netzwerk gelöscht. Einmal eingeleitet, kann dieser Prozess nicht wieder rückgängig gemacht werden."
#: ../../mod/removeme.php:60
msgid "Remove this channel and all its clones from the network"
@@ -8166,340 +7967,85 @@ msgid ""
"removed from the network"
msgstr "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk"
-#: ../../mod/connedit.php:262
-msgid "is now connected to"
-msgstr "ist jetzt verbunden mit"
-
-#: ../../mod/connedit.php:375
-msgid "Could not access address book record."
-msgstr "Konnte nicht auf den Adressbuch-Eintrag zugreifen."
-
-#: ../../mod/connedit.php:389
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar."
-
-#: ../../mod/connedit.php:396
-msgid "Channel has been unblocked"
-msgstr "Kanal nicht mehr blockiert"
-
-#: ../../mod/connedit.php:397
-msgid "Channel has been blocked"
-msgstr "Kanal blockiert"
-
-#: ../../mod/connedit.php:401 ../../mod/connedit.php:413
-#: ../../mod/connedit.php:425 ../../mod/connedit.php:437
-#: ../../mod/connedit.php:453
-msgid "Unable to set address book parameters."
-msgstr "Konnte die Adressbuch-Parameter nicht setzen."
-
-#: ../../mod/connedit.php:408
-msgid "Channel has been unignored"
-msgstr "Kanal wird nicht mehr ignoriert"
-
-#: ../../mod/connedit.php:409
-msgid "Channel has been ignored"
-msgstr "Kanal wird ignoriert"
-
-#: ../../mod/connedit.php:420
-msgid "Channel has been unarchived"
-msgstr "Kanal wurde aus dem Archiv zurück geholt"
-
-#: ../../mod/connedit.php:421
-msgid "Channel has been archived"
-msgstr "Kanal wurde archiviert"
-
-#: ../../mod/connedit.php:432
-msgid "Channel has been unhidden"
-msgstr "Kanal wird nicht mehr versteckt"
-
-#: ../../mod/connedit.php:433
-msgid "Channel has been hidden"
-msgstr "Kanal wurde versteckt"
-
-#: ../../mod/connedit.php:448
-msgid "Channel has been approved"
-msgstr "Kanal wurde zugelassen"
-
-#: ../../mod/connedit.php:449
-msgid "Channel has been unapproved"
-msgstr "Zulassung des Kanals entfernt"
-
-#: ../../mod/connedit.php:477
-msgid "Connection has been removed."
-msgstr "Verbindung wurde gelöscht."
-
-#: ../../mod/connedit.php:497
-#, php-format
-msgid "View %s's profile"
-msgstr "%ss Profil ansehen"
-
-#: ../../mod/connedit.php:501
-msgid "Refresh Permissions"
-msgstr "Zugriffsrechte neu laden"
-
-#: ../../mod/connedit.php:504
-msgid "Fetch updated permissions"
-msgstr "Aktualisierte Zugriffsrechte abfragen"
-
-#: ../../mod/connedit.php:508
-msgid "Recent Activity"
-msgstr "Kürzliche Aktivitäten"
-
-#: ../../mod/connedit.php:511
-msgid "View recent posts and comments"
-msgstr "Betrachte die neuesten Beiträge und Kommentare"
-
-#: ../../mod/connedit.php:520
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen"
-
-#: ../../mod/connedit.php:524 ../../mod/connedit.php:721
-msgid "Unignore"
-msgstr "Nicht ignorieren"
+#: ../../mod/removeme.php:61
+msgid "Remove Channel"
+msgstr "Kanal löschen"
-#: ../../mod/connedit.php:524 ../../mod/connedit.php:721
-#: ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Ignorieren"
+#: ../../mod/layouts.php:110
+msgid "Help with this feature"
+msgstr "Hilfe zu dieser Funktion"
-#: ../../mod/connedit.php:527
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen"
+#: ../../mod/layouts.php:130
+msgid "Layout Name"
+msgstr "Layout-Name"
-#: ../../mod/connedit.php:530
-msgid "Unarchive"
-msgstr "Aus Archiv zurückholen"
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr "Mögen/Nicht mögen"
-#: ../../mod/connedit.php:530
-msgid "Archive"
-msgstr "Archivieren"
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr "Diese Aktion kann nur von Mitgliedern ausgeführt werden."
-#: ../../mod/connedit.php:533
+#: ../../mod/like.php:21
msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Verbindung archivieren/aus dem Archiv zurückholen (Archiv = Kanal als erloschen markieren, aber die Beiträge behalten)"
-
-#: ../../mod/connedit.php:536
-msgid "Unhide"
-msgstr "Wieder sichtbar machen"
-
-#: ../../mod/connedit.php:536
-msgid "Hide"
-msgstr "Verstecken"
+"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
+"href=\"register\">register as a new RedMatrix member</a> to continue."
+msgstr "Bitte <a href=\"rmagic\">melde Dich mit Deiner RedMatrix-ID an</a> oder <a href=\"register\">registriere Dich als neues Mitglied der RedMatrix</a>, um fortzufahren."
-#: ../../mod/connedit.php:539
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Diese Verbindung vor anderen Verbindungen verstecken/zeigen"
+#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
+msgid "Invalid request."
+msgstr "Ungültige Anfrage."
-#: ../../mod/connedit.php:546
-msgid "Delete this connection"
-msgstr "Verbindung löschen"
+#: ../../mod/like.php:143
+msgid "thing"
+msgstr "Sache"
-#: ../../mod/connedit.php:637 ../../mod/connedit.php:675
-msgid "Approve this connection"
-msgstr "Verbindung genehmigen"
+#: ../../mod/like.php:189
+msgid "Channel unavailable."
+msgstr "Kanal nicht vorhanden."
-#: ../../mod/connedit.php:637
-msgid "Accept connection to allow communication"
-msgstr "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen"
+#: ../../mod/like.php:228
+msgid "Previous action reversed."
+msgstr "Die vorherige Aktion wurde rückgängig gemacht."
-#: ../../mod/connedit.php:653
+#: ../../mod/like.php:387
#, php-format
-msgid "Connections: settings for %s"
-msgstr "Verbindungseinstellungen für %s"
-
-#: ../../mod/connedit.php:654
-msgid "Apply these permissions automatically"
-msgstr "Diese Berechtigungen automatisch anwenden"
-
-#: ../../mod/connedit.php:658
-msgid "Apply the permissions indicated on this page to all new connections."
-msgstr "Wende die auf dieser Seite gewählten Berechtigungen auf alle neuen Verbindungen an."
-
-#: ../../mod/connedit.php:662
-msgid "Slide to adjust your degree of friendship"
-msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen"
-
-#: ../../mod/connedit.php:671
-msgid ""
-"Default permissions for your channel type have (just) been applied. They "
-"have not yet been submitted. Please review the permissions on this page and "
-"make any desired changes at this time. This new connection may <em>not</em> "
-"be able to communicate with you until you submit this page, which will "
-"install and apply the selected permissions."
-msgstr "Die voreingestellten Zugriffsrechte der Kategorie Deines Kanals sind hier zu sehen, wurden aber noch nicht gespeichert. Bitte sieh Dir die Zugriffsrechte auf dieser Seite an und ändere sie, wenn Du willst. Dieser Kontakt kann evtl. <em>nicht</em> mit Dir kommunizieren, bevor Du nicht auf dieser Seite auf „Senden“ geklickt hast – erst dieser Klick speichert die gewünschten Zugriffsrechte."
-
-#: ../../mod/connedit.php:674
-msgid "inherited"
-msgstr "geerbt"
-
-#: ../../mod/connedit.php:677
-msgid "Connection has no individual permissions!"
-msgstr "Diese Verbindung hat keine individuellen Zugriffsrechte!"
-
-#: ../../mod/connedit.php:678
-msgid ""
-"This may be appropriate based on your <a href=\"settings\">privacy "
-"settings</a>, though you may wish to review the \"Advanced Permissions\"."
-msgstr "Abhängig von Ihren <a href=\"settings\">Privatsphäreeinstellungen</a> könnte das passen, eventuell sollten Sie aber die „Zugriffsrechte für Fortgeschrittene“ überprüfen."
-
-#: ../../mod/connedit.php:680
-msgid "Profile Visibility"
-msgstr "Sichtbarkeit des Profils"
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr "%1$s stimmt %2$ss %3$s zu"
-#: ../../mod/connedit.php:681
+#: ../../mod/like.php:389
#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird."
-
-#: ../../mod/connedit.php:682
-msgid "Contact Information / Notes"
-msgstr "Kontaktinformationen / Notizen"
-
-#: ../../mod/connedit.php:683
-msgid "Edit contact notes"
-msgstr "Kontaktnotizen bearbeiten"
-
-#: ../../mod/connedit.php:685
-msgid "Their Settings"
-msgstr "Deren Einstellungen"
-
-#: ../../mod/connedit.php:686
-msgid "My Settings"
-msgstr "Meine Einstellungen"
-
-#: ../../mod/connedit.php:688
-msgid ""
-"Default permissions for this channel type have (just) been applied. They "
-"have <em>not</em> been saved and there are currently no stored default "
-"permissions. Please review/edit the applied settings and click [Submit] to "
-"finalize."
-msgstr "Die voreingestellten Zugriffsrechte der Kategorie Deines Kanals sind hier zu sehen, wurden aber noch <em>nicht</em> gespeichert, und Du hast keine Voreinstellungen für die Zugriffsrechte von Verbindungen angelegt. Bitte sieh Dir die Einstellungen an, ändere sie bei Bedarf und klicke auf [Senden], um den Vorgang abzuschließen."
-
-#: ../../mod/connedit.php:689
-msgid "Clear/Disable Automatic Permissions"
-msgstr "Automatische Berechtigungen abschalten/entfernen"
-
-#: ../../mod/connedit.php:690
-msgid "Forum Members"
-msgstr "Forum Mitglieder"
-
-#: ../../mod/connedit.php:691
-msgid "Soapbox"
-msgstr "Marktschreier"
-
-#: ../../mod/connedit.php:692
-msgid "Full Sharing (typical social network permissions)"
-msgstr "Vollumfängliches Teilen (übliche Berechtigungen in sozialen Netzwerken)"
-
-#: ../../mod/connedit.php:693
-msgid "Cautious Sharing "
-msgstr "Vorsichtiges Teilen"
-
-#: ../../mod/connedit.php:694
-msgid "Follow Only"
-msgstr "Nur folgen"
-
-#: ../../mod/connedit.php:695
-msgid "Individual Permissions"
-msgstr "Individuelle Zugriffsrechte"
-
-#: ../../mod/connedit.php:696
-msgid ""
-"Some permissions may be inherited from your channel <a "
-"href=\"settings\">privacy settings</a>, which have higher priority than "
-"individual settings. Changing those inherited settings on this page will "
-"have no effect."
-msgstr "Einige Berechtigungen werden von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt, die eine höhere Priorität haben als die Einstellungen bei einer Verbindung. Werden geerbte Einstellungen hier geändert, hat das keine Auswirkungen."
-
-#: ../../mod/connedit.php:697
-msgid "Advanced Permissions"
-msgstr "Zugriffsrechte für Fortgeschrittene"
-
-#: ../../mod/connedit.php:698
-msgid "Simple Permissions (select one and submit)"
-msgstr "Einfache Berechtigungseinstellungen (wählen Sie eine aus und klicken Sie auf Absenden)"
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr "%1$s lehnt %2$ss %3$s ab"
-#: ../../mod/connedit.php:702
+#: ../../mod/like.php:391
#, php-format
-msgid "Visit %s's profile - %s"
-msgstr "%ss Profil besuchen - %s"
-
-#: ../../mod/connedit.php:703
-msgid "Block/Unblock contact"
-msgstr "Kontakt blockieren/freigeben"
-
-#: ../../mod/connedit.php:704
-msgid "Ignore contact"
-msgstr "Kontakt ignorieren"
-
-#: ../../mod/connedit.php:705
-msgid "Repair URL settings"
-msgstr "URL-Einstellungen reparieren"
-
-#: ../../mod/connedit.php:706
-msgid "View conversations"
-msgstr "Unterhaltungen anzeigen"
-
-#: ../../mod/connedit.php:708
-msgid "Delete contact"
-msgstr "Kontakt löschen"
-
-#: ../../mod/connedit.php:712
-msgid "Last update:"
-msgstr "Letzte Aktualisierung:"
-
-#: ../../mod/connedit.php:714
-msgid "Update public posts"
-msgstr "Öffentliche Beiträge aktualisieren"
-
-#: ../../mod/connedit.php:716
-msgid "Update now"
-msgstr "Jetzt aktualisieren"
-
-#: ../../mod/connedit.php:722
-msgid "Currently blocked"
-msgstr "Derzeit blockiert"
-
-#: ../../mod/connedit.php:723
-msgid "Currently ignored"
-msgstr "Derzeit ignoriert"
-
-#: ../../mod/connedit.php:724
-msgid "Currently archived"
-msgstr "Derzeit archiviert"
-
-#: ../../mod/connedit.php:725
-msgid "Currently pending"
-msgstr "Derzeit anstehend"
-
-#: ../../mod/rmagic.php:40
-msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Wir haben ein Problem mit der OpenID festgestellt, mit der Du Dich anmelden wolltest. Bitte überprüfe sie noch einmal."
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr "%1$s enthält sich zu %2$ss %3$s"
-#: ../../mod/rmagic.php:40
-msgid "The error message was:"
-msgstr "Die Fehlermeldung war:"
+#: ../../mod/like.php:393
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr "%1$s nimmt an %2$ss %3$s teil"
-#: ../../mod/rmagic.php:44
-msgid "Authentication failed."
-msgstr "Authentifizierung fehlgeschlagen."
+#: ../../mod/like.php:395
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr "%1$s nimmt an %2$ss %3$s nicht teil"
-#: ../../mod/rmagic.php:84
-msgid "Remote Authentication"
-msgstr "Entfernte Authentifizierung"
+#: ../../mod/like.php:397
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr "%1$s nimmt vielleicht an %2$ss %3$s teil"
-#: ../../mod/rmagic.php:85
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Deine Kanal-Adresse (z. B. channel@example.com)"
+#: ../../mod/like.php:481
+msgid "Action completed."
+msgstr "Aktion durchgeführt."
-#: ../../mod/rmagic.php:86
-msgid "Authenticate"
-msgstr "Authentifizieren"
+#: ../../mod/like.php:482
+msgid "Thank you."
+msgstr "Vielen Dank."
#: ../../mod/mail.php:33
msgid "Unable to lookup recipient."
@@ -8579,16 +8125,6 @@ msgstr "Ungültiger Anfrage-Identifikator."
msgid "Discard"
msgstr "Verwerfen"
-#: ../../mod/regmod.php:11
-msgid "Please login."
-msgstr "Bitte melde dich an."
-
-#: ../../mod/post.php:235
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angemeldet. Bitte melde Dich ab und versuche es erneut."
-
#: ../../mod/new_channel.php:109
msgid "Add a Channel"
msgstr "Kanal hinzufügen"
@@ -8633,53 +8169,144 @@ msgstr "Kanaltyp"
msgid "Read more about roles"
msgstr "Mehr Informationen über Rollen"
-#: ../../mod/appman.php:28 ../../mod/appman.php:44
-msgid "App installed."
-msgstr "App installiert."
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "OpenID Protokollfehler. Keine ID zurückgegeben."
-#: ../../mod/appman.php:37
-msgid "Malformed app."
-msgstr "Fehlerhafte App."
+#: ../../mod/photos.php:77
+msgid "Page owner information could not be retrieved."
+msgstr "Informationen über den Besitzer der Seite konnten nicht gefunden werden."
-#: ../../mod/appman.php:80
-msgid "Embed code"
-msgstr "Code einbetten"
+#: ../../mod/photos.php:97
+msgid "Album not found."
+msgstr "Album nicht gefunden."
-#: ../../mod/appman.php:86
-msgid "Edit App"
-msgstr "App bearbeiten"
+#: ../../mod/photos.php:119 ../../mod/photos.php:643
+msgid "Delete Album"
+msgstr "Album löschen"
-#: ../../mod/appman.php:86
-msgid "Create App"
-msgstr "App erstellen"
+#: ../../mod/photos.php:159 ../../mod/photos.php:924
+msgid "Delete Photo"
+msgstr "Foto löschen"
-#: ../../mod/appman.php:91
-msgid "Name of app"
-msgstr "Name der App"
+#: ../../mod/photos.php:440
+msgid "No photos selected"
+msgstr "Keine Fotos ausgewählt"
-#: ../../mod/appman.php:92
-msgid "Location (URL) of app"
-msgstr "Ort (URL) der App"
+#: ../../mod/photos.php:484
+msgid "Access to this item is restricted."
+msgstr "Der Zugriff auf dieses Foto ist eingeschränkt."
-#: ../../mod/appman.php:94
-msgid "Photo icon URL"
-msgstr "URL zum Icon"
+#: ../../mod/photos.php:523
+#, php-format
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "%1$.2f MB von %2$.2f MB Foto-Speicher belegt."
-#: ../../mod/appman.php:94
-msgid "80 x 80 pixels - optional"
-msgstr "80 x 80 Pixel – optional"
+#: ../../mod/photos.php:526
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr "%1$.2f MB Foto-Speicher belegt."
-#: ../../mod/appman.php:95
-msgid "Version ID"
-msgstr "Versions-ID"
+#: ../../mod/photos.php:550
+msgid "Upload Photos"
+msgstr "Fotos hochladen"
-#: ../../mod/appman.php:96
-msgid "Price of app"
-msgstr "Preis der App"
+#: ../../mod/photos.php:554 ../../mod/photos.php:636 ../../mod/photos.php:909
+msgid "Enter a new album name"
+msgstr "Gib einen Namen für ein neues Album ein"
-#: ../../mod/appman.php:97
-msgid "Location (URL) to purchase app"
-msgstr "Ort (URL), um die App zu kaufen"
+#: ../../mod/photos.php:555 ../../mod/photos.php:637 ../../mod/photos.php:910
+msgid "or select an existing one (doubleclick)"
+msgstr "oder wähle ein bereits vorhandenes aus (Doppelklick)"
+
+#: ../../mod/photos.php:556
+msgid "Do not show a status post for this upload"
+msgstr "Keine Statusnachricht für diesen Upload anzeigen"
+
+#: ../../mod/photos.php:584
+msgid "Album name could not be decoded"
+msgstr "Albumname konnte nicht dekodiert werden"
+
+#: ../../mod/photos.php:625 ../../mod/photos.php:1149
+#: ../../mod/photos.php:1165
+msgid "Contact Photos"
+msgstr "Kontakt-Bilder"
+
+#: ../../mod/photos.php:649
+msgid "Show Newest First"
+msgstr "Neueste zuerst anzeigen"
+
+#: ../../mod/photos.php:651
+msgid "Show Oldest First"
+msgstr "Älteste zuerst anzeigen"
+
+#: ../../mod/photos.php:675 ../../mod/photos.php:1197
+msgid "View Photo"
+msgstr "Foto ansehen"
+
+#: ../../mod/photos.php:704
+msgid "Edit Album"
+msgstr "Album bearbeiten"
+
+#: ../../mod/photos.php:749
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden."
+
+#: ../../mod/photos.php:751
+msgid "Photo not available"
+msgstr "Foto nicht verfügbar"
+
+#: ../../mod/photos.php:809
+msgid "Use as profile photo"
+msgstr "Als Profilfoto verwenden"
+
+#: ../../mod/photos.php:816
+msgid "Private Photo"
+msgstr "Privates Foto"
+
+#: ../../mod/photos.php:831
+msgid "View Full Size"
+msgstr "In voller Größe anzeigen"
+
+#: ../../mod/photos.php:903
+msgid "Edit photo"
+msgstr "Foto bearbeiten"
+
+#: ../../mod/photos.php:905
+msgid "Rotate CW (right)"
+msgstr "Drehen im UZS (rechts)"
+
+#: ../../mod/photos.php:906
+msgid "Rotate CCW (left)"
+msgstr "Drehen gegen UZS (links)"
+
+#: ../../mod/photos.php:913
+msgid "Caption"
+msgstr "Bildunterschrift"
+
+#: ../../mod/photos.php:915
+msgid "Add a Tag"
+msgstr "Schlagwort hinzufügen"
+
+#: ../../mod/photos.php:919
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Beispiele: @ben, @Karl_Prester, @lieschen@example.com"
+
+#: ../../mod/photos.php:922
+msgid "Flag as adult in album view"
+msgstr "In der Albumansicht als nicht jugendfrei markieren"
+
+#: ../../mod/photos.php:1114
+msgid "In This Photo:"
+msgstr "Auf diesem Foto:"
+
+#: ../../mod/photos.php:1203
+msgid "View Album"
+msgstr "Album ansehen"
+
+#: ../../mod/photos.php:1226
+msgid "Recent Photos"
+msgstr "Neueste Fotos"
#: ../../mod/ping.php:263
msgid "sent you a private message"
@@ -8693,27 +8320,6 @@ msgstr "hat deinen Kanal hinzugefügt"
msgid "posted an event"
msgstr "hat einen Termin veröffentlicht"
-#: ../../mod/layouts.php:176
-msgid "Comanche page description language help"
-msgstr "Hilfe zur Comanche-Seitenbeschreibungssprache"
-
-#: ../../mod/layouts.php:180
-msgid "Layout Description"
-msgstr "Gestaltungsbeschreibung"
-
-#: ../../mod/layouts.php:185
-msgid "Download PDL file"
-msgstr "PDL-Datei herunterladen"
-
-#: ../../mod/home.php:73
-#, php-format
-msgid "Welcome to %s"
-msgstr "Willkommen auf %s"
-
-#: ../../mod/page.php:126
-msgid "Lorem Ipsum"
-msgstr "Lorem Ipsum"
-
#: ../../mod/bookmarks.php:38
msgid "Bookmark added"
msgstr "Lesezeichen hinzugefügt"
@@ -8726,15 +8332,110 @@ msgstr "Meine Lesezeichen"
msgid "My Connections Bookmarks"
msgstr "Lesezeichen meiner Kontakte"
-#: ../../mod/channel.php:97
+#: ../../mod/channel.php:87
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet."
-#: ../../mod/suggest.php:35
+#: ../../mod/register.php:44
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal."
+
+#: ../../mod/register.php:50
msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal."
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen."
+
+#: ../../mod/register.php:84
+msgid "Passwords do not match."
+msgstr "Passwörter stimmen nicht überein."
+
+#: ../../mod/register.php:117
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet."
+
+#: ../../mod/register.php:123
+msgid "Your registration is pending approval by the site owner."
+msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden."
+
+#: ../../mod/register.php:126
+msgid "Your registration can not be processed."
+msgstr "Deine Registrierung konnte nicht verarbeitet werden."
+
+#: ../../mod/register.php:163
+msgid "Registration on this site/hub is by approval only."
+msgstr "Anmeldungen auf diesem Server erfordern Zustimmung durch den Administrator"
+
+#: ../../mod/register.php:164
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr "<a href=\"pubsites\">Registrierung auf einem anderen, angeschlossenen Server</a>"
+
+#: ../../mod/register.php:174
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal."
+
+#: ../../mod/register.php:185
+msgid "Terms of Service"
+msgstr "Nutzungsbedingungen"
+
+#: ../../mod/register.php:191
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "Ich akzeptiere die %s für diese Webseite"
+
+#: ../../mod/register.php:193
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite"
+
+#: ../../mod/register.php:212
+msgid "Membership on this site is by invitation only."
+msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
+
+#: ../../mod/register.php:213
+msgid "Please enter your invitation code"
+msgstr "Bitte trage Deinen Einladungs-Code ein"
+
+#: ../../mod/register.php:216
+msgid "Your email address"
+msgstr "Ihre E-Mail Adresse"
+
+#: ../../mod/register.php:217
+msgid "Choose a password"
+msgstr "Passwort"
+
+#: ../../mod/register.php:218
+msgid "Please re-enter your password"
+msgstr "Bitte gib Dein Passwort noch einmal ein"
+
+#: ../../mod/rmagic.php:38
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr "Wir haben ein Problem mit der OpenID festgestellt, mit der Du Dich anmelden wolltest. Bitte überprüfe sie noch einmal."
+
+#: ../../mod/rmagic.php:38
+msgid "The error message was:"
+msgstr "Die Fehlermeldung war:"
+
+#: ../../mod/rmagic.php:42
+msgid "Authentication failed."
+msgstr "Authentifizierung fehlgeschlagen."
+
+#: ../../mod/rmagic.php:82
+msgid "Remote Authentication"
+msgstr "Entfernte Authentifizierung"
+
+#: ../../mod/rmagic.php:83
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Deine Kanal-Adresse (z. B. channel@example.com)"
+
+#: ../../mod/rmagic.php:84
+msgid "Authenticate"
+msgstr "Authentifizieren"
#: ../../mod/poll.php:64
msgid "Poll"
@@ -8742,54 +8443,51 @@ msgstr "Umfrage"
#: ../../mod/poll.php:69
msgid "View Results"
-msgstr "Ergebnisse ansehen"
+msgstr "Ergebnisse"
#: ../../mod/service_limits.php:19
msgid "No service class restrictions found."
msgstr "Keine Dienstklassenbeschränkungen gefunden."
-#: ../../mod/sharedwithme.php:94
+#: ../../mod/sharedwithme.php:99
msgid "Files: shared with me"
msgstr "Dateien, die mit mir geteilt wurden"
-#: ../../mod/sharedwithme.php:96
-msgid "NEW"
-msgstr "NEU"
-
-#: ../../mod/sharedwithme.php:99
+#: ../../mod/sharedwithme.php:103
msgid "Remove all files"
msgstr "Alle Dateien löschen"
-#: ../../mod/sharedwithme.php:100
+#: ../../mod/sharedwithme.php:104
msgid "Remove this file"
msgstr "Diese Datei löschen"
#: ../../view/theme/apw/php/config.php:202
#: ../../view/theme/apw/php/config.php:236
msgid "Schema Default"
-msgstr "Schemastandard"
+msgstr "Standard-Schema"
#: ../../view/theme/apw/php/config.php:203
msgid "Sans-Serif"
-msgstr "Sans Serif"
+msgstr "Sans-Serif"
#: ../../view/theme/apw/php/config.php:204
msgid "Monospace"
-msgstr "Monospace (dicktengleich)"
+msgstr "Monospace"
#: ../../view/theme/apw/php/config.php:259
-#: ../../view/theme/redbasic/php/config.php:100
+#: ../../view/theme/redbasic/php/config.php:102
msgid "Theme settings"
msgstr "Theme-Einstellungen"
#: ../../view/theme/apw/php/config.php:260
+#: ../../view/theme/redbasic/php/config.php:103
msgid "Set scheme"
-msgstr "Schema festlegen"
+msgstr "Schema"
#: ../../view/theme/apw/php/config.php:261
-#: ../../view/theme/redbasic/php/config.php:122
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Set font-size for posts and comments"
-msgstr "Schriftgröße für Beiträge und Kommentare festlegen"
+msgstr "Schriftgröße für Beiträge und Kommentare"
#: ../../view/theme/apw/php/config.php:262
msgid "Set font face"
@@ -8797,31 +8495,31 @@ msgstr "Schriftart"
#: ../../view/theme/apw/php/config.php:263
msgid "Set iconset"
-msgstr "Symbolsatz festlegen"
+msgstr "Icon-Set"
#: ../../view/theme/apw/php/config.php:264
msgid "Set big shadow size, default 15px 15px 15px"
-msgstr "Ausmaß der großen Schatten (Default 15px 15px 15px)"
+msgstr "Ausmaß der großen Schatten (Voreinstellung 15px 15px 15px)"
#: ../../view/theme/apw/php/config.php:265
msgid "Set small shadow size, default 5px 5px 5px"
-msgstr "Ausmaß der kleinen Schatten festlegen (Voreinstellung 5px 5px 5px)"
+msgstr "Ausmaß der kleinen Schatten (Voreinstellung 5px 5px 5px)"
#: ../../view/theme/apw/php/config.php:266
msgid "Set shadow color, default #000"
-msgstr "Schattenfarbe (Voreinstellung #000)"
+msgstr "Farbe der Schatten (Voreinstellung #000)"
#: ../../view/theme/apw/php/config.php:267
msgid "Set radius size, default 5px"
-msgstr "Eckenradius (Voreinstellung 5px)"
+msgstr "Ecken-Radius (Voreinstellung 5px)"
#: ../../view/theme/apw/php/config.php:268
msgid "Set line-height for posts and comments"
-msgstr "Zeilenhöhe für Beiträge und Kommentare"
+msgstr "Zeilenhöhe in Beiträgen und Kommentaren"
#: ../../view/theme/apw/php/config.php:269
msgid "Set background image"
-msgstr "Hintergrundbild festlegen"
+msgstr "Hintergrundbild"
#: ../../view/theme/apw/php/config.php:270
msgid "Set background attachment"
@@ -8829,15 +8527,15 @@ msgstr "Hintergrunddatei"
#: ../../view/theme/apw/php/config.php:271
msgid "Set background color"
-msgstr "Hintergrundfarbe festlegen"
+msgstr "Hintergrundfarbe"
#: ../../view/theme/apw/php/config.php:272
msgid "Set section background image"
-msgstr "Hintergrundbild für die section"
+msgstr "Hintergrundbild für die Section"
#: ../../view/theme/apw/php/config.php:273
msgid "Set section background color"
-msgstr "Hintergrundfarbe für die section"
+msgstr "Hintergrundfarbe für die Section"
#: ../../view/theme/apw/php/config.php:274
msgid "Set color of items - use hex"
@@ -8849,15 +8547,15 @@ msgstr "Farbe für Links – Hex benutzen"
#: ../../view/theme/apw/php/config.php:276
msgid "Set max-width for items. Default 400px"
-msgstr "Maximalbreite von Beiträgen (Voreinstellung 400px)"
+msgstr "Maximale Breite von Beiträgen (Voreinstellung 400px)"
#: ../../view/theme/apw/php/config.php:277
msgid "Set min-width for items. Default 240px"
-msgstr "Minimalbreite von Beiträgen (Voreinstellung 240px)"
+msgstr "Minimale Breite von Beiträgen (Voreinstellung 240px)"
#: ../../view/theme/apw/php/config.php:278
msgid "Set the generic content wrapper width. Default 48%"
-msgstr "Breite des „generic content wrapper“ (Voreinstellung 48%)"
+msgstr "Breite des \"generic content wrapper\" (Voreinstellung 48%)"
#: ../../view/theme/apw/php/config.php:279
msgid "Set color of fonts - use hex"
@@ -8865,11 +8563,11 @@ msgstr "Schriftfarbe – Hex benutzen"
#: ../../view/theme/apw/php/config.php:280
msgid "Set background-size element"
-msgstr "size-Element für den Hintergrund"
+msgstr "Größe des Hintergrund-Elements"
#: ../../view/theme/apw/php/config.php:281
msgid "Item opacity"
-msgstr "Deckkraft für Beiträge"
+msgstr "Deckkraft der Beiträge"
#: ../../view/theme/apw/php/config.php:282
msgid "Display post previews only"
@@ -8877,7 +8575,7 @@ msgstr "Nur Beitragsvorschau anzeigen"
#: ../../view/theme/apw/php/config.php:283
msgid "Display side bar on channel page"
-msgstr "Seitenleiste auf der Kanalseite anzeigen"
+msgstr "Zeige die Seitenleiste auf der Kanal-Seite"
#: ../../view/theme/apw/php/config.php:284
msgid "Colour of the navigation bar"
@@ -8885,201 +8583,187 @@ msgstr "Farbe der Navigationsleiste"
#: ../../view/theme/apw/php/config.php:285
msgid "Item float"
-msgstr "float für Beiträge"
+msgstr "Beitragsfluss"
#: ../../view/theme/apw/php/config.php:286
msgid "Left offset of the section element"
-msgstr "Linker offset des section-Elements"
+msgstr "Linker Rand des Section Elements"
#: ../../view/theme/apw/php/config.php:287
msgid "Right offset of the section element"
-msgstr "Rechter offset des section-Elements"
+msgstr "Rechter Rand des Section Elements"
#: ../../view/theme/apw/php/config.php:288
msgid "Section width"
-msgstr "Breite der section"
+msgstr "Breite der Section"
#: ../../view/theme/apw/php/config.php:289
msgid "Left offset of the aside"
-msgstr "Linker offset der Seitenleiste"
+msgstr "Linker Rand des Aside-Elements"
#: ../../view/theme/apw/php/config.php:290
msgid "Right offset of the aside element"
-msgstr "Rechter offset der Seitenleiste"
+msgstr "Rechter Rand des Aside-Elements"
-#: ../../view/theme/redbasic/php/config.php:82
+#: ../../view/theme/redbasic/php/config.php:84
msgid "Light (Red Matrix default)"
msgstr "Hell (RedMatrix-Voreinstellung)"
-#: ../../view/theme/redbasic/php/config.php:101
-msgid "Select scheme"
-msgstr "Schema wählen"
-
-#: ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:104
msgid "Narrow navbar"
msgstr "Schmale Navigationsleiste"
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:105
msgid "Navigation bar background color"
msgstr "Hintergrundfarbe der Navigationsleiste"
-#: ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:106
msgid "Navigation bar gradient top color"
msgstr "Farbverlauf der Navigationsleiste: Farbe oben"
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:107
msgid "Navigation bar gradient bottom color"
msgstr "Farbverlauf der Navigationsleiste: Farbe unten"
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:108
msgid "Navigation active button gradient top color"
msgstr "Navigations-Button aktiv: Farbe für Farbverlauf oben"
-#: ../../view/theme/redbasic/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:109
msgid "Navigation active button gradient bottom color"
msgstr "Navigations-Button aktiv: Farbe für Farbverlauf unten"
-#: ../../view/theme/redbasic/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Navigation bar border color "
msgstr "Farbe für den Rand der Navigationsleiste"
-#: ../../view/theme/redbasic/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:111
msgid "Navigation bar icon color "
msgstr "Farbe für die Icons der Navigationsleiste"
-#: ../../view/theme/redbasic/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Navigation bar active icon color "
msgstr "Farbe für aktive Icons der Navigationsleiste"
-#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:113
msgid "link color"
msgstr "Farbe für Links"
-#: ../../view/theme/redbasic/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:114
msgid "Set font-color for banner"
msgstr "Farbe der Schrift des Banners"
-#: ../../view/theme/redbasic/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:115
msgid "Set the background color"
-msgstr "Hintergrundfarbe festlegen"
+msgstr "Hintergrundfarbe"
-#: ../../view/theme/redbasic/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:116
msgid "Set the background image"
-msgstr "Hintergrundbild festlegen"
+msgstr "Hintergrundbild"
-#: ../../view/theme/redbasic/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:117
msgid "Set the background color of items"
-msgstr "Hintergrundfarbe für Beiträge festlegen"
+msgstr "Hintergrundfarbe für Beiträge"
-#: ../../view/theme/redbasic/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:118
msgid "Set the background color of comments"
-msgstr "Hintergrundfarbe für Kommentare festlegen"
+msgstr "Hintergrundfarbe für Kommentare"
-#: ../../view/theme/redbasic/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:119
msgid "Set the border color of comments"
-msgstr "Farbe des Randes von Kommentaren festlegen"
+msgstr "Farbe des Randes von Kommentaren"
-#: ../../view/theme/redbasic/php/config.php:118
+#: ../../view/theme/redbasic/php/config.php:120
msgid "Set the indent for comments"
-msgstr "Einzugsbreite für Kommentare festlegen"
+msgstr "Einzugsbreite für Kommentare"
-#: ../../view/theme/redbasic/php/config.php:119
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Set the basic color for item icons"
-msgstr "Grundfarbe für Beitragssymbole festlegen"
+msgstr "Grundfarbe für Beitrags-Icons"
-#: ../../view/theme/redbasic/php/config.php:120
+#: ../../view/theme/redbasic/php/config.php:122
msgid "Set the hover color for item icons"
-msgstr "Farbe für Beitragssymbole unter dem Mauszeiger festlegen"
+msgstr "Farbe für Beitrags-Icons unter dem Mauszeiger"
-#: ../../view/theme/redbasic/php/config.php:121
+#: ../../view/theme/redbasic/php/config.php:123
msgid "Set font-size for the entire application"
-msgstr "Schriftgröße für die gesamte Anwendung festlegen"
-
-#: ../../view/theme/redbasic/php/config.php:121
-msgid "Example: 14px"
-msgstr "Beispiel: 14px"
+msgstr "Schriftgröße für die gesamte Anwendung"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:125
msgid "Set font-color for posts and comments"
-msgstr "Schriftfarbe für Beiträge und Kommentare festlegen"
+msgstr "Schriftfarbe für Beiträge und Kommentare"
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Set radius of corners"
-msgstr "Eckenradius festlegen"
+msgstr "Ecken-Radius"
-#: ../../view/theme/redbasic/php/config.php:125
+#: ../../view/theme/redbasic/php/config.php:127
msgid "Set shadow depth of photos"
-msgstr "Schattentiefe von Fotos festlegen"
-
-#: ../../view/theme/redbasic/php/config.php:126
-msgid "Set maximum width of content region in pixel"
-msgstr "Maximalbreite des Inhaltsbereichs in Pixel festlegen"
+msgstr "Schattentiefe von Fotos"
-#: ../../view/theme/redbasic/php/config.php:126
-msgid "Leave empty for default width"
-msgstr "Leer lassen für Standardbreite"
+#: ../../view/theme/redbasic/php/config.php:128
+msgid "Set maximum width of conversation regions"
+msgstr "Maximalbreite der Unterhaltungsbereiche"
-#: ../../view/theme/redbasic/php/config.php:127
-msgid "Center page content"
-msgstr "Seiteninhalt zentrieren"
+#: ../../view/theme/redbasic/php/config.php:129
+msgid "Center conversation regions"
+msgstr "Konversationsbereich zentrieren"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Set minimum opacity of nav bar - to hide it"
-msgstr "Mindestdeckkraft der Navigationsleiste festlegen - zum Verstecken"
+msgstr "Mindest-Deckkraft der Navigationsleiste ( - versteckt sie)"
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:131
msgid "Set size of conversation author photo"
-msgstr "Größe der Avatare von Themenstartern festlegen"
+msgstr "Größe der Avatare von Themenstartern"
-#: ../../view/theme/redbasic/php/config.php:130
+#: ../../view/theme/redbasic/php/config.php:132
msgid "Set size of followup author photos"
-msgstr "Größe der Avatare von Kommentatoren festlegen"
+msgstr "Größe der Avatare von Kommentatoren"
+
+#: ../../view/theme/redbasic/php/config.php:133
+msgid "Sloppy photo albums"
+msgstr "Schräge Fotoalben"
-#: ../../boot.php:1355
+#: ../../view/theme/redbasic/php/config.php:133
+msgid "Are you a clean desk or a messy desk person?"
+msgstr "Bist Du jemand, der einen aufgeräumten Schreibtisch hat, oder eher einen chaotischen?"
+
+#: ../../boot.php:1357
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen."
-#: ../../boot.php:1358
+#: ../../boot.php:1360
#, php-format
msgid "Update Error at %s"
msgstr "Aktualisierungsfehler auf %s"
-#: ../../boot.php:1525
+#: ../../boot.php:1527
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr "Erstelle einen Account, um Anwendungen und Dienste innerhalb der Red-Matrix verwenden zu können."
-#: ../../boot.php:1553
+#: ../../boot.php:1555
msgid "Password"
msgstr "Kennwort"
-#: ../../boot.php:1554
+#: ../../boot.php:1556
msgid "Remember me"
msgstr "Angaben speichern"
-#: ../../boot.php:1557
+#: ../../boot.php:1559
msgid "Forgot your password?"
msgstr "Passwort vergessen?"
-#: ../../boot.php:2178
-msgid "toggle mobile"
-msgstr "auf/von mobile Ansicht wechseln"
-
-#: ../../boot.php:2313
-msgid "Website SSL certificate is not valid. Please correct."
-msgstr "Das SSL-Zertifikat der Website ist nicht gültig. Bitte beheben."
-
-#: ../../boot.php:2316
-#, php-format
-msgid "[red] Website SSL error for %s"
-msgstr "[red] Website-SSL-Fehler für %s"
+#: ../../boot.php:1674
+msgid "permission denied"
+msgstr "Zugriff verweigert"
-#: ../../boot.php:2353
-msgid "Cron/Scheduled tasks not running."
-msgstr "Cron-Aufgaben laufen nicht."
+#: ../../boot.php:1675
+msgid "Got Zot?"
+msgstr "Haste schon Zot?"
-#: ../../boot.php:2357
-#, php-format
-msgid "[red] Cron tasks not running on %s"
-msgstr "[red] Cron-Aufgaben für %s laufen nicht"
+#: ../../boot.php:2158
+msgid "toggle mobile"
+msgstr "auf/von mobile Ansicht wechseln"
diff --git a/view/de/strings.php b/view/de/strings.php
index a66d19943..2679e9eb1 100644
--- a/view/de/strings.php
+++ b/view/de/strings.php
@@ -7,6 +7,115 @@ function string_plural_select_de($n){
;
$a->strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden";
$a->strings["Profile Photos"] = "Profilfotos";
+$a->strings["Permission denied."] = "Zugang verweigert";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "Bild überschreitet das Limit der Webseite von %lu bytes";
+$a->strings["Image file is empty."] = "Bilddatei ist leer.";
+$a->strings["Unable to process image"] = "Kann Bild nicht verarbeiten";
+$a->strings["Photo storage failed."] = "Foto speichern schlug fehl";
+$a->strings["Photo Albums"] = "Fotoalben";
+$a->strings["Upload New Photos"] = "Lade neue Fotos hoch";
+$a->strings["created a new post"] = "Neuer Beitrag wurde erzeugt";
+$a->strings["commented on %s's post"] = "hat %s's Beitrag kommentiert";
+$a->strings["New Page"] = "Neue Seite";
+$a->strings["Edit"] = "Bearbeiten";
+$a->strings["View"] = "Ansicht";
+$a->strings["Preview"] = "Vorschau";
+$a->strings["Actions"] = "Aktionen";
+$a->strings["Page Link"] = "Seiten-Link";
+$a->strings["Title"] = "Titel";
+$a->strings["Created"] = "Erstellt";
+$a->strings["Edited"] = "Geändert";
+$a->strings["Categories"] = "Kategorien";
+$a->strings["Apps"] = "Apps";
+$a->strings["System"] = "System";
+$a->strings["Personal"] = "Persönlich";
+$a->strings["Create Personal App"] = "Persönliche App erstellen";
+$a->strings["Edit Personal App"] = "Persönliche App bearbeiten";
+$a->strings["Connect"] = "Verbinden";
+$a->strings["Ignore/Hide"] = "Ignorieren/Verstecken";
+$a->strings["Suggestions"] = "Vorschläge";
+$a->strings["See more..."] = "Mehr anzeigen …";
+$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen.";
+$a->strings["Add New Connection"] = "Neue Verbindung hinzufügen";
+$a->strings["Enter the channel address"] = "Adresse des Kanals eingeben";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Beispiel: bob@beispiel.com, http://beispiel.com/barbara";
+$a->strings["Notes"] = "Notizen";
+$a->strings["Save"] = "Speichern";
+$a->strings["Remove term"] = "Eintrag löschen";
+$a->strings["Saved Searches"] = "Gespeicherte Suchanfragen";
+$a->strings["add"] = "hinzufügen";
+$a->strings["Saved Folders"] = "Gespeicherte Ordner";
+$a->strings["Everything"] = "Alles";
+$a->strings["Archives"] = "Archive";
+$a->strings["Refresh"] = "Aktualisieren";
+$a->strings["Me"] = "Ich";
+$a->strings["Best Friends"] = "Beste Freunde";
+$a->strings["Friends"] = "Freunde";
+$a->strings["Co-workers"] = "Kollegen";
+$a->strings["Former Friends"] = "ehem. Freunde";
+$a->strings["Acquaintances"] = "Bekannte";
+$a->strings["Everybody"] = "Jeder";
+$a->strings["Account settings"] = "Konto-Einstellungen";
+$a->strings["Channel settings"] = "Kanal-Einstellungen";
+$a->strings["Additional features"] = "Zusätzliche Funktionen";
+$a->strings["Feature/Addon settings"] = "Plugin-Einstellungen";
+$a->strings["Display settings"] = "Anzeige-Einstellungen";
+$a->strings["Connected apps"] = "Verbundene Apps";
+$a->strings["Export channel"] = "Kanal exportieren";
+$a->strings["Connection Default Permissions"] = "Standardzugriffsrechte für neue Verbindungen:";
+$a->strings["Premium Channel Settings"] = "Premium-Kanal-Einstellungen";
+$a->strings["Channel Sources"] = "Kanal-Quellen";
+$a->strings["Settings"] = "Einstellungen";
+$a->strings["Messages"] = "Nachrichten";
+$a->strings["Check Mail"] = "E-Mails abrufen";
+$a->strings["New Message"] = "Neue Nachricht";
+$a->strings["Chat Rooms"] = "Chaträume";
+$a->strings["Bookmarked Chatrooms"] = "Gespeicherte Chatrooms";
+$a->strings["Suggested Chatrooms"] = "Chatraum-Vorschläge";
+$a->strings["photo/image"] = "Foto/Bild";
+$a->strings["Rate Me"] = "Bewerte mich";
+$a->strings["View Ratings"] = "Bewertungen ansehen";
+$a->strings["Public Hubs"] = "Öffentliche Hubs";
+$a->strings["Red Matrix Notification"] = "Red Matrix Benachrichtigung";
+$a->strings["redmatrix"] = "redmatrix";
+$a->strings["Thank You,"] = "Danke.";
+$a->strings["%s Administrator"] = "der Administrator von %s";
+$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
+$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Benachrichtigung] Neue Mail auf %s empfangen";
+$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s hat Dir eine private Nachricht auf %3\$s gesendet.";
+$a->strings["%1\$s sent you %2\$s."] = "%1\$s hat Dir %2\$s geschickt.";
+$a->strings["a private message"] = "eine private Nachricht";
+$a->strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten.";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]einen %4\$s[/zrl] kommentiert";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]%4\$ss %5\$s[/zrl] kommentiert";
+$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen %4\$s[/zrl] kommentiert";
+$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Benachrichtigung] Kommentar in Unterhaltung #%1\$d von %2\$s";
+$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s hat eine Unterhaltung kommentiert, der Du folgst.";
+$a->strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren.";
+$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Hinweis] %s schrieb auf Deine Pinnwand";
+$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s hat auf Deine Pinnwand auf %3\$s geschrieben";
+$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s hat auf [zrl=%3\$s]Deine Pinnwand[/zrl] geschrieben";
+$a->strings["[Red:Notify] %s tagged you"] = "[Red:Benachrichtigung] %s hat Dich erwähnt";
+$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s erwähnt";
+$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]hat Dich erwähnt[/zrl].";
+$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Benachrichtigung] %1\$s hat Dich angestupst";
+$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s angestupst";
+$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]hat Dich angestupst[/zrl].";
+$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet";
+$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s hat Deinen Beitrag auf %3\$s verschlagwortet";
+$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen Beitrag[/zrl] verschlagwortet";
+$a->strings["[Red:Notify] Introduction received"] = "[Red:Benachrichtigung] Vorstellung erhalten";
+$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, Du hast eine neue Verbindungsanfrage von '%2\$s' auf %3\$s erhalten";
+$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, Du hast [zrl=%2\$s]eine neue Verbindungsanfrage[/zrl] von %3\$s erhalten.";
+$a->strings["You may visit their profile at %s"] = "Du kannst Dir das Profil unter %s ansehen";
+$a->strings["Please visit %s to approve or reject the connection request."] = "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen.";
+$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Benachrichtigung] Freundschaftsvorschlag erhalten";
+$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, Du hast einen Kontaktvorschlag von „%2\$s“ auf %3\$s erhalten";
+$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, Du hast [zrl=%2\$s]einen Kontaktvorschlag[/zrl] für %3\$s von %4\$s erhalten.";
+$a->strings["Name:"] = "Name:";
+$a->strings["Photo:"] = "Foto:";
+$a->strings["Please visit %s to approve or reject the suggestion."] = "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen.";
+$a->strings["[Red:Notify]"] = "[Red:Benachrichtigung]";
$a->strings["prev"] = "vorherige";
$a->strings["first"] = "erste";
$a->strings["last"] = "letzte";
@@ -20,7 +129,6 @@ $a->strings["%d Connection"] = array(
);
$a->strings["View Connections"] = "Verbindungen anzeigen";
$a->strings["Search"] = "Suche";
-$a->strings["Save"] = "Speichern";
$a->strings["poke"] = "anstupsen";
$a->strings["poked"] = "stupste";
$a->strings["ping"] = "anpingen";
@@ -79,104 +187,35 @@ $a->strings["remove category"] = "Kategorie entfernen";
$a->strings["remove from file"] = "aus der Datei entfernen";
$a->strings["Click to open/close"] = "Klicke zum Öffnen/Schließen";
$a->strings["Link to Source"] = "Link zur Quelle";
+$a->strings["Select a page layout: "] = "Ein Seiten-Layout auswählen:";
$a->strings["default"] = "Standard";
-$a->strings["Page layout"] = "Seitengestaltung";
-$a->strings["You can create your own with the layouts tool"] = "Mit dem Layouts-Werkzeug kannst Du Deine eigenen Layouts erstellen";
-$a->strings["Page content type"] = "Art des Seiteninhalts";
+$a->strings["Page content type: "] = "Content-Typ der Seite:";
$a->strings["Select an alternate language"] = "Wähle eine alternative Sprache";
$a->strings["photo"] = "Foto";
$a->strings["event"] = "Termin";
$a->strings["status"] = "Status";
$a->strings["comment"] = "Kommentar";
$a->strings["activity"] = "Aktivität";
-$a->strings["Design Tools"] = "Gestaltungswerkzeuge";
+$a->strings["Design"] = "Design";
$a->strings["Blocks"] = "Blöcke";
$a->strings["Menus"] = "Menüs";
-$a->strings["Layouts"] = "Gestaltungen";
+$a->strings["Layouts"] = "Layouts";
$a->strings["Pages"] = "Seiten";
$a->strings["Collection"] = "Ordner";
-$a->strings["Edit"] = "Bearbeiten";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s";
-$a->strings["Please choose"] = "Bitte auswählen";
-$a->strings["Agree"] = "Zustimmen";
-$a->strings["Disagree"] = "Ablehnen";
-$a->strings["Abstain"] = "Enthalten";
-$a->strings["\$projectname"] = "\$projectname";
-$a->strings["created a new post"] = "Neuer Beitrag wurde erzeugt";
-$a->strings["commented on %s's post"] = "hat %s's Beitrag kommentiert";
-$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Es hat früher schon einmal eine Sammlung mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Sammlung den Zugriff erlauben. Wenn das nicht Dein Plan war, erstelle bitte eine neue Sammlung mit einem anderen Namen.";
-$a->strings["Default privacy group for new contacts"] = "Standard-Sammlung für neue Kontakte";
-$a->strings["All Channels"] = "Alle Kanäle";
-$a->strings["edit"] = "Bearbeiten";
-$a->strings["Collections"] = "Sammlungen";
-$a->strings["Edit collection"] = "Sammlung bearbeiten";
-$a->strings["Add new collection"] = "Neue Sammlung hinzufügen";
-$a->strings["Channels not in any collection"] = "Kanäle, die nicht in einer Sammlung sind";
-$a->strings["add"] = "hinzufügen";
-$a->strings["Not a valid email address"] = "Ungültige E-Mail-Adresse";
-$a->strings["Your email domain is not among those allowed on this site"] = "Deine E-Mail-Adresse ist dieser Seite nicht erlaubt";
-$a->strings["Your email address is already registered at this site."] = "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert.";
-$a->strings["An invitation is required."] = "Eine Einladung ist erforderlich.";
-$a->strings["Invitation could not be verified."] = "Die Einladung konnte nicht bestätigt werden";
-$a->strings["Please enter the required information."] = "Bitte gib die erforderlichen Informationen ein.";
-$a->strings["Failed to store account information."] = "Speichern der Account-Informationen fehlgeschlagen";
-$a->strings["Registration confirmation for %s"] = "Registrierungsbestätigung für %s";
-$a->strings["Registration request at %s"] = "Registrierungsanfrage auf %s";
-$a->strings["Administrator"] = "Administrator";
-$a->strings["your registration password"] = "Dein Registrierungspasswort";
-$a->strings["Registration details for %s"] = "Registrierungsdetails für %s";
-$a->strings["Account approved."] = "Account bestätigt.";
-$a->strings["Registration revoked for %s"] = "Registrierung für %s widerrufen";
-$a->strings["Account verified. Please login."] = "Konto geprüft. Bitte melde Dich an!";
-$a->strings["Click here to upgrade."] = "Klicke hier, um das Upgrade durchzuführen.";
-$a->strings["This action exceeds the limits set by your subscription plan."] = "Diese Aktion überschreitet die Grenzen Ihres Abonnements.";
-$a->strings["This action is not available under your subscription plan."] = "Diese Aktion ist in Ihrem Abonnement nicht verfügbar.";
-$a->strings["Miscellaneous"] = "Verschiedenes";
-$a->strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-TT oder MM-TT";
-$a->strings["Required"] = "Erforderlich";
-$a->strings["never"] = "Nie";
-$a->strings["less than a second ago"] = "vor weniger als einer Sekunde";
-$a->strings["year"] = "Jahr";
-$a->strings["years"] = "Jahre";
-$a->strings["month"] = "Monat";
-$a->strings["months"] = "Monate";
-$a->strings["week"] = "Woche";
-$a->strings["weeks"] = "Wochen";
-$a->strings["day"] = "Tag";
-$a->strings["days"] = "Tage";
-$a->strings["hour"] = "Stunde";
-$a->strings["hours"] = "Stunden";
-$a->strings["minute"] = "Minute";
-$a->strings["minutes"] = "Minuten";
-$a->strings["second"] = "Sekunde";
-$a->strings["seconds"] = "Sekunden";
-$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "vor %1\$d %2\$s";
-$a->strings["%1\$s's birthday"] = "%1\$ss Geburtstag";
-$a->strings["Happy Birthday %1\$s"] = "Alles Gute zum Geburtstag, %1\$s";
-$a->strings["New Page"] = "Neue Seite";
-$a->strings["View"] = "Ansicht";
-$a->strings["Preview"] = "Vorschau";
-$a->strings["Actions"] = "Aktionen";
-$a->strings["Page Link"] = "Seiten-Link";
-$a->strings["Title"] = "Titel";
-$a->strings["Created"] = "Erstellt";
-$a->strings["Edited"] = "Geändert";
-$a->strings["Public Timeline"] = "Öffentliche Zeitleiste";
-$a->strings["Default"] = "Standard";
-$a->strings["Directory Options"] = "Verzeichnisoptionen";
-$a->strings["Alphabetic"] = "alphabetisch";
-$a->strings["Reverse Alphabetic"] = "Entgegengesetzt alphabetisch";
-$a->strings["Newest to Oldest"] = "Neueste zuerst";
-$a->strings["Oldest to Newest"] = "Älteste zuerst";
-$a->strings["Sort"] = "Sortieren";
-$a->strings["Safe Mode"] = "Sicherer Modus";
-$a->strings["Public Forums Only"] = "Nur öffentliche Foren";
-$a->strings["This Website Only"] = "Nur diese Website";
-$a->strings["l F d, Y \\@ g:i A"] = "l, d. F Y, H:i";
-$a->strings["Starts:"] = "Beginnt:";
-$a->strings["Finishes:"] = "Endet:";
-$a->strings["Location:"] = "Ort:";
-$a->strings["This event has been added to your calendar."] = "Dieser Termin wurde zu Deinem Kalender hinzugefügt";
+$a->strings["Item was not found."] = "Beitrag wurde nicht gefunden.";
+$a->strings["No source file."] = "Keine Quelldatei.";
+$a->strings["Cannot locate file to replace"] = "Kann Datei zum Ersetzen nicht finden";
+$a->strings["Cannot locate file to revise/update"] = "Kann Datei zum Prüfen/Aktualisieren nicht finden";
+$a->strings["File exceeds size limit of %d"] = "Datei überschreitet das Größen-Limit von %d";
+$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht.";
+$a->strings["File upload failed. Possible system limit or action terminated."] = "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess.";
+$a->strings["Stored file could not be verified. Upload failed."] = "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen.";
+$a->strings["Path not available."] = "Pfad nicht verfügbar.";
+$a->strings["Empty pathname"] = "Leere Pfadangabe";
+$a->strings["duplicate filename or path"] = "doppelter Dateiname oder Pfad";
+$a->strings["Path not found."] = "Pfad nicht gefunden.";
+$a->strings["mkdir failed."] = "mkdir fehlgeschlagen.";
+$a->strings["database storage failed."] = "Speichern in der Datenbank fehlgeschlagen.";
$a->strings["Delete this item?"] = "Dieses Element löschen?";
$a->strings["Comment"] = "Kommentar";
$a->strings["[+] show all"] = "[+] Alle anzeigen";
@@ -195,8 +234,6 @@ $a->strings["Rate This Channel (this is public)"] = "Diesen Kanal bewerten (öff
$a->strings["Rating"] = "Bewertung";
$a->strings["Describe (optional)"] = "Beschreibung (optional)";
$a->strings["Submit"] = "Bestätigen";
-$a->strings["Please enter a link URL"] = "Bitte geben Sie eine Link-URL ein";
-$a->strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Ungespeicherte Änderungen. Sind Sie sicher, dass Sie diese Seite verlassen möchten?";
$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
$a->strings["timeago.prefixFromNow"] = " ";
$a->strings["ago"] = "her";
@@ -236,7 +273,20 @@ $a->strings["Delete"] = "Löschen";
$a->strings["Create new folder"] = "Neuen Ordner anlegen";
$a->strings["Upload file"] = "Datei hochladen";
$a->strings["%1\$s's bookmarks"] = "%1\$ss Lesezeichen";
-$a->strings["view full size"] = "In Vollbildansicht anschauen";
+$a->strings["Tags"] = "Schlagwörter";
+$a->strings["Keywords"] = "Schlüsselwörter";
+$a->strings["have"] = "habe";
+$a->strings["has"] = "hat";
+$a->strings["want"] = "will";
+$a->strings["wants"] = "will";
+$a->strings["like"] = "mag";
+$a->strings["likes"] = "gefällt";
+$a->strings["dislike"] = "verurteile";
+$a->strings["dislikes"] = "missfällt";
+$a->strings["__ctx:noun__ Like"] = array(
+ 0 => "Gefällt mir",
+ 1 => "Gefällt mir",
+);
$a->strings["General Features"] = "Allgemeine Funktionen";
$a->strings["Content Expiration"] = "Verfall von Inhalten";
$a->strings["Remove posts/comments and/or private messages at a future time"] = "Lösche Beiträge, Kommentare und/oder private Nachrichten automatisch zu einem zukünftigen Datum.";
@@ -249,11 +299,11 @@ $a->strings["Save and load profile details across sites/channels"] = "Speichere
$a->strings["Web Pages"] = "Webseiten";
$a->strings["Provide managed web pages on your channel"] = "Stelle verwaltete Webseiten in Deinem Kanal zur Verfügung";
$a->strings["Private Notes"] = "Private Notizen";
-$a->strings["Enables a tool to store notes and reminders"] = "Aktiviert ein Werkzeug zum Speichern von Notizen und Erinnerungen";
+$a->strings["Enables a tool to store notes and reminders"] = "Werkzeug zum Speichern von Notizen und Erinnerungen aktivieren";
$a->strings["Navigation Channel Select"] = "Kanal-Auswahl in der Navigationsleiste";
$a->strings["Change channels directly from within the navigation dropdown menu"] = "Wechsle direkt über das Navigationsmenü zu anderen Kanälen";
-$a->strings["Photo Location"] = "Aufnahmeort";
-$a->strings["If location data is available on uploaded photos, link this to a map."] = "Aufnahmeort auf einer Karte verlinken, falls verfügbar.";
+$a->strings["Extended Identity Sharing"] = "Erweitertes Teilen von Identitäten";
+$a->strings["Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix."] = "Teile Deine Identität mit allen Webseiten im Internet. Ist dies deaktiviert, wird Deine Identität nur mit Red-Servern geteilt.";
$a->strings["Expert Mode"] = "Expertenmodus";
$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Aktiviere den Expertenmodus, um fortgeschrittene Konfigurationsoptionen zu aktivieren";
$a->strings["Premium Channel"] = "Premium-Kanal";
@@ -263,33 +313,32 @@ $a->strings["Use Markdown"] = "Markdown benutzen";
$a->strings["Allow use of \"Markdown\" to format posts"] = "Erlaube die Verwendung von \"Markdown\"-Syntax zur Formatierung von Beiträgen";
$a->strings["Large Photos"] = "Große Fotos";
$a->strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Große Vorschaubilder (640px) in Beiträgen anzeigen. Ist das deaktiviert, werden kleine Vorschaubilder (320px) angezeigt.";
-$a->strings["Channel Sources"] = "Kanal-Quellen";
$a->strings["Automatically import channel content from other channels or feeds"] = "Importiere automatisch Inhalte für diesen Kanal von anderen Kanälen oder Feeds";
$a->strings["Even More Encryption"] = "Noch mehr Verschlüsselung";
$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Erlaube optionale Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Sicherheitsschlüssel)";
$a->strings["Enable voting tools"] = "Umfragewerkzeuge aktivieren";
$a->strings["Provide a class of post which others can vote on"] = "Aktiviere die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, Deinem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)";
+$a->strings["Flag Adult Photos"] = "Nicht jugendfreie Fotos markieren";
+$a->strings["Provide photo edit option to hide adult photos from default album view"] = "Stellt eine Option zum Verstecken von Fotos mit nicht jugendfreien Inhalten in der Standard-Albumansicht bereit";
$a->strings["Network and Stream Filtering"] = "Netzwerk- und Stream-Filter";
$a->strings["Search by Date"] = "Suche nach Datum";
$a->strings["Ability to select posts by date ranges"] = "Möglichkeit, Beiträge nach Zeiträumen auszuwählen";
$a->strings["Collections Filter"] = "Filter für Sammlung";
$a->strings["Enable widget to display Network posts only from selected collections"] = "Aktiviere nur Netzwerk-Beiträge von ausgewählten Sammlungen";
-$a->strings["Saved Searches"] = "Gespeicherte Suchanfragen";
$a->strings["Save search terms for re-use"] = "Suchbegriffe zur Wiederverwendung abspeichern";
$a->strings["Network Personal Tab"] = "Persönlicher Netzwerkreiter";
$a->strings["Enable tab to display only Network posts that you've interacted on"] = "Aktiviere Reiter nur für die Netzwerk-Beiträge, mit denen Du interagiert hast";
$a->strings["Network New Tab"] = "Netzwerkreiter Neu";
$a->strings["Enable tab to display all new Network activity"] = "Aktiviere Reiter, um alle neuen Netzwerkaktivitäten zu zeigen";
-$a->strings["Affinity Tool"] = "Beziehungswerkzeug";
+$a->strings["Affinity Tool"] = "Beziehungs-Tool";
$a->strings["Filter stream activity by depth of relationships"] = "Filter Aktivitätenstream nach Tiefe der Beziehung";
$a->strings["Suggest Channels"] = "Kanäle vorschlagen";
$a->strings["Show channel suggestions"] = "Kanalvorschläge anzeigen";
-$a->strings["Post/Comment Tools"] = "Beitrag-/Kommentarwerkzeuge";
+$a->strings["Post/Comment Tools"] = "Beitrag-/Kommentar-Tools";
$a->strings["Tagging"] = "Verschlagworten";
$a->strings["Ability to tag existing posts"] = "Möglichkeit, um existierende Beiträge zu verschlagworten";
$a->strings["Post Categories"] = "Beitrags-Kategorien";
$a->strings["Add categories to your posts"] = "Kategorien für Beiträge";
-$a->strings["Saved Folders"] = "Gespeicherte Ordner";
$a->strings["Ability to file posts under folders"] = "Möglichkeit, Beiträge in Verzeichnissen zu sammeln";
$a->strings["Dislike Posts"] = "Gefällt-mir-nicht Beiträge";
$a->strings["Ability to dislike posts/comments"] = "„Gefällt mir nicht“ ermöglichen";
@@ -297,89 +346,9 @@ $a->strings["Star Posts"] = "Beiträge mit Sternchen versehen";
$a->strings["Ability to mark special posts with a star indicator"] = "Möglichkeit, spezielle Beiträge mit Sternchen-Symbol zu markieren";
$a->strings["Tag Cloud"] = "Schlagwort-Wolke";
$a->strings["Provide a personal tag cloud on your channel page"] = "Persönliche Schlagwort-Wolke auf Deiner Kanal-Seite anzeigen";
-$a->strings["Categories"] = "Kategorien";
-$a->strings["Apps"] = "Apps";
-$a->strings["System"] = "System";
-$a->strings["Personal"] = "Persönlich";
-$a->strings["Create Personal App"] = "Persönliche App erstellen";
-$a->strings["Edit Personal App"] = "Persönliche App bearbeiten";
-$a->strings["Connect"] = "Verbinden";
-$a->strings["Ignore/Hide"] = "Ignorieren/Verstecken";
-$a->strings["Suggestions"] = "Vorschläge";
-$a->strings["See more..."] = "Mehr anzeigen …";
-$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Du bist %1$.0f von maximal %2$.0f erlaubten Verbindungen eingegangen.";
-$a->strings["Add New Connection"] = "Neue Verbindung hinzufügen";
-$a->strings["Enter the channel address"] = "Adresse des Kanals eingeben";
-$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Beispiel: bob@beispiel.com, http://beispiel.com/barbara";
-$a->strings["Notes"] = "Notizen";
-$a->strings["Remove term"] = "Eintrag löschen";
-$a->strings["Everything"] = "Alles";
-$a->strings["Archives"] = "Archive";
-$a->strings["Me"] = "Ich";
-$a->strings["Family"] = "Familie";
-$a->strings["Friends"] = "Freunde";
-$a->strings["Acquaintances"] = "Bekannte";
-$a->strings["All"] = "Alle";
-$a->strings["Refresh"] = "Aktualisieren";
-$a->strings["Account settings"] = "Kontoeinstellungen";
-$a->strings["Channel settings"] = "Kanaleinstellungen";
-$a->strings["Additional features"] = "Zusätzliche Funktionen";
-$a->strings["Feature/Addon settings"] = "Funktion-/Addon-Einstellungen";
-$a->strings["Display settings"] = "Anzeigeeinstellungen";
-$a->strings["Connected apps"] = "Verbundene Apps";
-$a->strings["Export channel"] = "Kanal exportieren";
-$a->strings["Connection Default Permissions"] = "Standardzugriffsrechte für neue Verbindungen:";
-$a->strings["Premium Channel Settings"] = "Premium-Kanaleinstellungen";
-$a->strings["Settings"] = "Einstellungen";
-$a->strings["Messages"] = "Nachrichten";
-$a->strings["Check Mail"] = "E-Mails abrufen";
-$a->strings["New Message"] = "Neue Nachricht";
-$a->strings["Chat Rooms"] = "Chaträume";
-$a->strings["Bookmarked Chatrooms"] = "Gespeicherte Chatrooms";
-$a->strings["Suggested Chatrooms"] = "Chatraum-Vorschläge";
-$a->strings["photo/image"] = "Foto/Bild";
-$a->strings["Rate Me"] = "Bewerte mich";
-$a->strings["View Ratings"] = "Bewertungen ansehen";
-$a->strings["Public Hubs"] = "Öffentliche Hubs";
-$a->strings["\$Projectname Notification"] = "\$Projectname-Benachrichtigung";
-$a->strings["Thank You,"] = "Danke.";
-$a->strings["%s Administrator"] = "der Administrator von %s";
-$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
-$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Benachrichtigung] Neue Mail auf %s empfangen";
-$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s hat Dir eine private Nachricht auf %3\$s gesendet.";
-$a->strings["%1\$s sent you %2\$s."] = "%1\$s hat Dir %2\$s geschickt.";
-$a->strings["a private message"] = "eine private Nachricht";
-$a->strings["Please visit %s to view and/or reply to your private messages."] = "Bitte besuche %s, um die private Nachricht anzusehen und/oder darauf zu antworten.";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]einen %4\$s[/zrl] kommentiert";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]%4\$ss %5\$s[/zrl] kommentiert";
-$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen %4\$s[/zrl] kommentiert";
-$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Red:Benachrichtigung] Kommentar in Unterhaltung #%1\$d von %2\$s";
-$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s hat eine Unterhaltung kommentiert, der Du folgst.";
-$a->strings["Please visit %s to view and/or reply to the conversation."] = "Bitte besuche %s, um die Unterhaltung anzusehen und/oder zu kommentieren.";
-$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Red:Hinweis] %s schrieb auf Deine Pinnwand";
-$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s hat auf Deine Pinnwand auf %3\$s geschrieben";
-$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s hat auf [zrl=%3\$s]Deine Pinnwand[/zrl] geschrieben";
-$a->strings["[Red:Notify] %s tagged you"] = "[Red:Benachrichtigung] %s hat Dich erwähnt";
-$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s erwähnt";
-$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]hat Dich erwähnt[/zrl].";
-$a->strings["[Red:Notify] %1\$s poked you"] = "[Red:Benachrichtigung] %1\$s hat Dich angestupst";
-$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s hat Dich auf %3\$s angestupst";
-$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]hat Dich angestupst[/zrl].";
-$a->strings["[Red:Notify] %s tagged your post"] = "[Red:Benachrichtigung] %s hat Deinen Beitrag verschlagwortet";
-$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s hat Deinen Beitrag auf %3\$s verschlagwortet";
-$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s hat [zrl=%3\$s]Deinen Beitrag[/zrl] verschlagwortet";
-$a->strings["[Red:Notify] Introduction received"] = "[Red:Benachrichtigung] Vorstellung erhalten";
-$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, Du hast eine neue Verbindungsanfrage von '%2\$s' auf %3\$s erhalten";
-$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, Du hast [zrl=%2\$s]eine neue Verbindungsanfrage[/zrl] von %3\$s erhalten.";
-$a->strings["You may visit their profile at %s"] = "Du kannst Dir das Profil unter %s ansehen";
-$a->strings["Please visit %s to approve or reject the connection request."] = "Bitte besuche %s , um die Verbindungsanfrage anzunehmen oder abzulehnen.";
-$a->strings["[Red:Notify] Friend suggestion received"] = "[Red:Benachrichtigung] Freundschaftsvorschlag erhalten";
-$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, Du hast einen Kontaktvorschlag von „%2\$s“ auf %3\$s erhalten";
-$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, Du hast [zrl=%2\$s]einen Kontaktvorschlag[/zrl] für %3\$s von %4\$s erhalten.";
-$a->strings["Name:"] = "Name:";
-$a->strings["Photo:"] = "Foto:";
-$a->strings["Please visit %s to approve or reject the suggestion."] = "Bitte besuche %s um den Vorschlag zu akzeptieren oder abzulehnen.";
-$a->strings["[Red:Notify]"] = "[Red:Benachrichtigung]";
+$a->strings["Logged out."] = "Ausgeloggt.";
+$a->strings["Failed authentication"] = "Authentifizierung fehlgeschlagen";
+$a->strings["Login failed."] = "Login fehlgeschlagen.";
$a->strings["Frequently"] = "Häufig";
$a->strings["Hourly"] = "Stündlich";
$a->strings["Twice daily"] = "Zwei Mal am Tag";
@@ -396,6 +365,73 @@ $a->strings["Zot!"] = "Zot!";
$a->strings["LinkedIn"] = "LinkedIn";
$a->strings["XMPP/IM"] = "XMPP/IM";
$a->strings["MySpace"] = "MySpace";
+$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Es hat früher schon einmal eine Sammlung mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Sammlung den Zugriff erlauben. Wenn das nicht Dein Plan war, erstelle bitte eine neue Sammlung mit einem anderen Namen.";
+$a->strings["Default privacy group for new contacts"] = "Standard-Sammlung für neue Kontakte";
+$a->strings["All Channels"] = "Alle Kanäle";
+$a->strings["edit"] = "Bearbeiten";
+$a->strings["Collections"] = "Sammlungen";
+$a->strings["Edit collection"] = "Sammlung bearbeiten";
+$a->strings["Create a new collection"] = "Neue Sammlung erzeugen";
+$a->strings["Channels not in any collection"] = "Kanäle, die nicht in einer Sammlung sind";
+$a->strings["Unable to obtain identity information from database"] = "Kann keine Identitäts-Informationen aus Datenbank beziehen";
+$a->strings["Empty name"] = "Namensfeld leer";
+$a->strings["Name too long"] = "Name ist zu lang";
+$a->strings["No account identifier"] = "Keine Account-Kennung";
+$a->strings["Nickname is required."] = "Spitzname ist erforderlich.";
+$a->strings["Reserved nickname. Please choose another."] = "Reservierter Kurzname. Bitte wähle einen anderen.";
+$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt.";
+$a->strings["Unable to retrieve created identity"] = "Kann die erstellte Identität nicht empfangen";
+$a->strings["Default Profile"] = "Standard-Profil";
+$a->strings["Requested channel is not available."] = "Angeforderte Kanal nicht verfügbar.";
+$a->strings["Requested profile is not available."] = "Erwünschte Profil ist nicht verfügbar.";
+$a->strings["Change profile photo"] = "Profilfoto ändern";
+$a->strings["Profiles"] = "Profile";
+$a->strings["Manage/edit profiles"] = "Profile verwalten/bearbeiten";
+$a->strings["Create New Profile"] = "Neues Profil erstellen";
+$a->strings["Edit Profile"] = "Profile bearbeiten";
+$a->strings["Profile Image"] = "Profilfoto:";
+$a->strings["visible to everybody"] = "sichtbar für jeden";
+$a->strings["Edit visibility"] = "Sichtbarkeit bearbeiten";
+$a->strings["Location:"] = "Ort:";
+$a->strings["Gender:"] = "Geschlecht:";
+$a->strings["Status:"] = "Status:";
+$a->strings["Homepage:"] = "Homepage:";
+$a->strings["Online Now"] = "gerade online";
+$a->strings["g A l F d"] = "l, d. F, G:i \\U\\h\\r";
+$a->strings["F d"] = "d. F";
+$a->strings["[today]"] = "[Heute]";
+$a->strings["Birthday Reminders"] = "Geburtstags Erinnerungen";
+$a->strings["Birthdays this week:"] = "Geburtstage in dieser Woche:";
+$a->strings["[No description]"] = "[Keine Beschreibung]";
+$a->strings["Event Reminders"] = "Termin-Erinnerungen";
+$a->strings["Events this week:"] = "Termine in dieser Woche:";
+$a->strings["Profile"] = "Profil";
+$a->strings["Full Name:"] = "Voller Name:";
+$a->strings["Like this channel"] = "Dieser Kanal gefällt mir";
+$a->strings["j F, Y"] = "j. F Y";
+$a->strings["j F"] = "j. F";
+$a->strings["Birthday:"] = "Geburtstag:";
+$a->strings["Age:"] = "Alter:";
+$a->strings["for %1\$d %2\$s"] = "seit %1\$d %2\$s";
+$a->strings["Sexual Preference:"] = "Sexuelle Orientierung:";
+$a->strings["Hometown:"] = "Heimatstadt:";
+$a->strings["Tags:"] = "Schlagworte:";
+$a->strings["Political Views:"] = "Politische Ansichten:";
+$a->strings["Religion:"] = "Religion:";
+$a->strings["About:"] = "Über:";
+$a->strings["Hobbies/Interests:"] = "Hobbys/Interessen:";
+$a->strings["Likes:"] = "Gefällt:";
+$a->strings["Dislikes:"] = "Gefällt nicht:";
+$a->strings["Contact information and Social Networks:"] = "Kontaktinformation und soziale Netzwerke:";
+$a->strings["My other channels:"] = "Meine anderen Kanäle:";
+$a->strings["Musical interests:"] = "Musikalische Interessen:";
+$a->strings["Books, literature:"] = "Bücher, Literatur:";
+$a->strings["Television:"] = "Fernsehen:";
+$a->strings["Film/dance/culture/entertainment:"] = "Film/Tanz/Kultur/Unterhaltung:";
+$a->strings["Love/Romance:"] = "Liebe/Romantik:";
+$a->strings["Work/employment:"] = "Arbeit/Anstellung:";
+$a->strings["School/education:"] = "Schule/Ausbildung:";
+$a->strings["Like this thing"] = "Gefällt mir";
$a->strings["No recipient provided."] = "Kein Empfänger angegeben";
$a->strings["[no subject]"] = "[no subject]";
$a->strings["Unable to determine sender."] = "Kann Absender nicht bestimmen.";
@@ -405,75 +441,42 @@ $a->strings["Channel location missing."] = "Adresse des Kanals fehlt.";
$a->strings["Response from remote channel was incomplete."] = "Antwort des entfernten Kanals war unvollständig.";
$a->strings["Channel was deleted and no longer exists."] = "Kanal wurde gelöscht und existiert nicht mehr.";
$a->strings["Protocol disabled."] = "Protokoll deaktiviert.";
-$a->strings["Protocol blocked for this channel."] = "Das Protokoll wurde für diesen Kanal blockiert.";
$a->strings["Channel discovery failed."] = "Kanalsuche fehlgeschlagen";
$a->strings["local account not found."] = "Lokales Konto nicht gefunden.";
$a->strings["Cannot connect to yourself."] = "Du kannst Dich nicht mit Dir selbst verbinden.";
-$a->strings["Private Message"] = "Private Nachricht";
-$a->strings["Select"] = "Auswählen";
-$a->strings["Save to Folder"] = "In Ordner speichern";
-$a->strings["I will attend"] = "Ich werde teilnehmen";
-$a->strings["I will not attend"] = "Ich werde nicht teilnehmen";
-$a->strings["I might attend"] = "Ich werde vielleicht teilnehmen";
-$a->strings["I agree"] = "Ich stimme zu";
-$a->strings["I disagree"] = "Ich lehne ab";
-$a->strings["I abstain"] = "Ich enthalte mich";
-$a->strings["View all"] = "Alles anzeigen";
-$a->strings["__ctx:noun__ Like"] = array(
- 0 => "Gefällt mir",
- 1 => "Gefällt mir",
-);
-$a->strings["__ctx:noun__ Dislike"] = array(
- 0 => "Gefällt nicht",
- 1 => "Gefällt nicht",
-);
-$a->strings["Add Star"] = "Stern hinzufügen";
-$a->strings["Remove Star"] = "Stern entfernen";
-$a->strings["Toggle Star Status"] = "Markierungsstatus (Stern) umschalten";
-$a->strings["starred"] = "markiert";
-$a->strings["Message signature validated"] = "Signatur überprüft";
-$a->strings["Message signature incorrect"] = "Signatur nicht korrekt";
-$a->strings["Add Tag"] = "Tag hinzufügen";
-$a->strings["I like this (toggle)"] = "Mir gefällt das (Umschalter)";
-$a->strings["like"] = "mag";
-$a->strings["I don't like this (toggle)"] = "Mir gefällt das nicht (Umschalter)";
-$a->strings["dislike"] = "verurteile";
-$a->strings["Share This"] = "Teilen";
-$a->strings["share"] = "Teilen";
-$a->strings["%d comment"] = array(
- 0 => "%d Kommentar",
- 1 => "%d Kommentare",
-);
-$a->strings["View %s's profile - %s"] = "Schaue Dir %ss Profil an – %s";
-$a->strings["to"] = "an";
-$a->strings["via"] = "via";
-$a->strings["Wall-to-Wall"] = "Wall-to-Wall";
-$a->strings["via Wall-To-Wall:"] = "via Wall-To-Wall:";
-$a->strings["from %s"] = "via %s";
-$a->strings["last edited: %s"] = "zuletzt bearbeitet: %s";
-$a->strings["Expires: %s"] = "Verfällt: %s";
-$a->strings["Save Bookmarks"] = "Favoriten speichern";
-$a->strings["Add to Calendar"] = "Zum Kalender hinzufügen";
-$a->strings["Mark all seen"] = "Alle als gelesen markieren";
-$a->strings["__ctx:noun__ Likes"] = "Gefällt mir";
-$a->strings["__ctx:noun__ Dislikes"] = "Gefällt nicht";
-$a->strings["Close"] = "Schließen";
-$a->strings["Please wait"] = "Bitte warten";
-$a->strings["This is you"] = "Das bist Du";
-$a->strings["Bold"] = "Fett";
-$a->strings["Italic"] = "Kursiv";
-$a->strings["Underline"] = "Unterstrichen";
-$a->strings["Quote"] = "Zitat";
-$a->strings["Code"] = "Code";
-$a->strings["Image"] = "Bild";
-$a->strings["Insert Link"] = "Link einfügen";
-$a->strings["Video"] = "Video";
-$a->strings["Encrypt text"] = "Text verschlüsseln";
-$a->strings["New window"] = "Neues Fenster";
-$a->strings["Open the selected location in a different window or browser tab"] = "Öffne die markierte Adresse in einem neuen Browser Fenster oder Tab";
-$a->strings["User '%s' deleted"] = "Benutzer '%s' gelöscht";
+$a->strings["Default"] = "Standard";
+$a->strings["Miscellaneous"] = "Verschiedenes";
+$a->strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-TT oder MM-TT";
+$a->strings["Required"] = "Benötigt";
+$a->strings["never"] = "Nie";
+$a->strings["less than a second ago"] = "Vor weniger als einer Sekunde";
+$a->strings["year"] = "Jahr";
+$a->strings["years"] = "Jahre";
+$a->strings["month"] = "Monat";
+$a->strings["months"] = "Monate";
+$a->strings["week"] = "Woche";
+$a->strings["weeks"] = "Wochen";
+$a->strings["day"] = "Tag";
+$a->strings["days"] = "Tage";
+$a->strings["hour"] = "Stunde";
+$a->strings["hours"] = "Stunden";
+$a->strings["minute"] = "Minute";
+$a->strings["minutes"] = "Minuten";
+$a->strings["second"] = "Sekunde";
+$a->strings["seconds"] = "Sekunden";
+$a->strings["%1\$d %2\$s ago"] = "vor %1\$d %2\$s";
+$a->strings["%1\$s's birthday"] = "%1\$ss Geburtstag";
+$a->strings["Happy Birthday %1\$s"] = "Alles Gute zum Geburtstag, %1\$s";
$a->strings["Attachments:"] = "Anhänge:";
-$a->strings["\$Projectname event notification:"] = "\$Projectname-Terminbenachrichtigung:";
+$a->strings["l F d, Y \\@ g:i A"] = "l, d. F Y, H:i";
+$a->strings["Redmatrix event notification:"] = "RedMatrix Termin-Benachrichtigung:";
+$a->strings["Starts:"] = "Beginnt:";
+$a->strings["Finishes:"] = "Endet:";
+$a->strings["Missing room name"] = "Der Chatraum hat keinen Namen";
+$a->strings["Duplicate room name"] = "Name des Chatraums bereits vergeben";
+$a->strings["Invalid room specifier."] = "Ungültiger Raumbezeichner.";
+$a->strings["Room not found."] = "Chatraum konnte nicht gefunden werden.";
+$a->strings["Room is full"] = "Der Raum ist voll";
$a->strings["Logout"] = "Abmelden";
$a->strings["End this session"] = "Beende diese Sitzung";
$a->strings["Home"] = "Home";
@@ -482,7 +485,6 @@ $a->strings["View Profile"] = "Profil ansehen";
$a->strings["Your profile page"] = "Deine Profilseite";
$a->strings["Edit Profiles"] = "Profile bearbeiten";
$a->strings["Manage/Edit profiles"] = "Profile verwalten";
-$a->strings["Edit Profile"] = "Profile bearbeiten";
$a->strings["Edit your profile"] = "Profil bearbeiten";
$a->strings["Photos"] = "Fotos";
$a->strings["Your photos"] = "Deine Bilder";
@@ -530,59 +532,230 @@ $a->strings["See all events"] = "Alle Termine ansehen";
$a->strings["Mark all events seen"] = "Markiere alle Termine als gesehen";
$a->strings["Channel Manager"] = "Kanal-Manager";
$a->strings["Manage Your Channels"] = "Verwalte Deine Kanäle";
-$a->strings["Account/Channel Settings"] = "Konto-/Kanaleinstellungen";
+$a->strings["Account/Channel Settings"] = "Konto-/Kanal-Einstellungen";
$a->strings["Admin"] = "Administration";
$a->strings["Site Setup and Configuration"] = "Seiten-Einrichtung und -Konfiguration";
$a->strings["Loading..."] = "Lädt ...";
$a->strings["@name, #tag, content"] = "@Name, #Schlagwort, Text";
$a->strings["Please wait..."] = "Bitte warten...";
-$a->strings["Tags"] = "Schlagwörter";
-$a->strings["Keywords"] = "Schlüsselwörter";
-$a->strings["have"] = "habe";
-$a->strings["has"] = "hat";
-$a->strings["want"] = "will";
-$a->strings["wants"] = "will";
-$a->strings["likes"] = "gefällt";
-$a->strings["dislikes"] = "missfällt";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde.";
+$a->strings["Private Message"] = "Private Nachricht";
+$a->strings["Select"] = "Auswählen";
+$a->strings["Save to Folder"] = "In Ordner speichern";
+$a->strings["I will attend"] = "Ich werde teilnehmen";
+$a->strings["I will not attend"] = "Ich werde nicht teilnehmen";
+$a->strings["I might attend"] = "Ich werde vielleicht teilnehmen";
+$a->strings["I agree"] = "Ich stimme zu";
+$a->strings["I disagree"] = "Ich lehne ab";
+$a->strings["I abstain"] = "Ich enthalte mich";
+$a->strings["View all"] = "Alles anzeigen";
+$a->strings["__ctx:noun__ Dislike"] = array(
+ 0 => "Gefällt nicht",
+ 1 => "Gefällt nicht",
+);
+$a->strings["Add Star"] = "Stern hinzufügen";
+$a->strings["Remove Star"] = "Stern entfernen";
+$a->strings["Toggle Star Status"] = "Markierungsstatus (Stern) umschalten";
+$a->strings["starred"] = "markiert";
+$a->strings["Message signature validated"] = "Signatur überprüft";
+$a->strings["Message signature incorrect"] = "Signatur nicht korrekt";
+$a->strings["Add Tag"] = "Tag hinzufügen";
+$a->strings["I like this (toggle)"] = "Mir gefällt das (Umschalter)";
+$a->strings["I don't like this (toggle)"] = "Mir gefällt das nicht (Umschalter)";
+$a->strings["Share This"] = "Teilen";
+$a->strings["share"] = "Teilen";
+$a->strings["%d comment"] = array(
+ 0 => "%d Kommentar",
+ 1 => "%d Kommentare",
+);
+$a->strings["View %s's profile - %s"] = "Schaue Dir %ss Profil an – %s";
+$a->strings["to"] = "an";
+$a->strings["via"] = "via";
+$a->strings["Wall-to-Wall"] = "Wall-to-Wall";
+$a->strings["via Wall-To-Wall:"] = "via Wall-To-Wall:";
+$a->strings[" from %s"] = "von %s";
+$a->strings["last edited: %s"] = "zuletzt bearbeitet: %s";
+$a->strings["Expires: %s"] = "Verfällt: %s";
+$a->strings["Save Bookmarks"] = "Favoriten speichern";
+$a->strings["Add to Calendar"] = "Zum Kalender hinzufügen";
+$a->strings["Mark all seen"] = "Alle als gelesen markieren";
+$a->strings["__ctx:noun__ Likes"] = "Gefällt mir";
+$a->strings["__ctx:noun__ Dislikes"] = "Gefällt nicht";
+$a->strings["Close"] = "Schließen";
+$a->strings["Please wait"] = "Bitte warten";
+$a->strings["This is you"] = "Das bist Du";
+$a->strings["Bold"] = "Fett";
+$a->strings["Italic"] = "Kursiv";
+$a->strings["Underline"] = "Unterstrichen";
+$a->strings["Quote"] = "Zitat";
+$a->strings["Code"] = "Code";
+$a->strings["Image"] = "Bild";
+$a->strings["Link"] = "Link";
+$a->strings["Video"] = "Video";
+$a->strings["Encrypt text"] = "Text verschlüsseln";
$a->strings[" and "] = "und";
$a->strings["public profile"] = "öffentliches Profil";
$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s hat %2\$s auf &ldquo;%3\$s&rdquo; geändert";
$a->strings["Visit %1\$s's %2\$s"] = "Besuche %1\$s's %2\$s";
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat ein aktualisiertes %2\$s, %3\$s wurde verändert.";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde.";
-$a->strings["Can view my normal stream and posts"] = "Kann meine normalen Beiträge sehen";
-$a->strings["Can view my default channel profile"] = "Kann mein Standardprofil sehen";
-$a->strings["Can view my photo albums"] = "Kann meine Fotoalben betrachten";
-$a->strings["Can view my connections"] = "Kann meine Verbindungen sehen";
-$a->strings["Can view my file storage"] = "Kann meine Dateiordner lesen";
-$a->strings["Can view my webpages"] = "Kann meine Webseiten sehen";
-$a->strings["Can send me their channel stream and posts"] = "Kann mir die Beiträge aus seinem/ihrem Kanal schicken";
-$a->strings["Can post on my channel page (\"wall\")"] = "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen";
-$a->strings["Can comment on or like my posts"] = "Darf meine Beiträge kommentieren und mögen/nicht mögen";
-$a->strings["Can send me private mail messages"] = "Kann mir private Nachrichten schicken";
-$a->strings["Can post photos to my photo albums"] = "Kann Fotos in meinen Fotoalben veröffentlichen";
-$a->strings["Can like/dislike stuff"] = "Kann andere Elemente mögen/nicht mögen";
-$a->strings["Profiles and things other than posts/comments"] = "Profile und alles außer Beiträge und Kommentare";
-$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten";
-$a->strings["Advanced - useful for creating group forum channels"] = "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen";
-$a->strings["Can chat with me (when available)"] = "Kann mit mir chatten (wenn verfügbar)";
-$a->strings["Can write to my file storage"] = "Kann in meine Dateiordner schreiben";
-$a->strings["Can edit my webpages"] = "Kann meine Webseiten bearbeiten";
-$a->strings["Can source my public posts in derived channels"] = "Kann meine öffentlichen Beiträge als Quellen für Kanäle verwenden";
-$a->strings["Somewhat advanced - very useful in open communities"] = "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften";
-$a->strings["Can administer my channel resources"] = "Kann meine Kanäle administrieren";
-$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust";
-$a->strings["Social Networking"] = "Soziales Netzwerk";
-$a->strings["Mostly Public"] = "Weitgehend öffentlich";
-$a->strings["Restricted"] = "Beschränkt";
-$a->strings["Private"] = "Privat";
-$a->strings["Community Forum"] = "Forum";
-$a->strings["Feed Republish"] = "Teilen von Feeds";
-$a->strings["Special Purpose"] = "Für besondere Zwecke";
-$a->strings["Celebrity/Soapbox"] = "Mitteilungs-Kanal (keine Kommentare)";
-$a->strings["Group Repository"] = "Gruppenarchiv";
+$a->strings["Directory Options"] = "Verzeichnisoptionen";
+$a->strings["Alphabetic"] = "alphabetisch";
+$a->strings["Reverse Alphabetic"] = "Entgegengesetzt alphabetisch";
+$a->strings["Newest to Oldest"] = "Neueste zuerst";
+$a->strings["Oldest to Newest"] = "Älteste zuerst";
+$a->strings["Public Forums Only"] = "Nur öffentliche Foren";
+$a->strings["Sort"] = "Sortieren";
+$a->strings["Enable Safe Search"] = "Sichere Suche einschalten";
+$a->strings["Disable Safe Search"] = "Sichere Suche ausschalten";
+$a->strings["Safe Mode"] = "Sicherer Modus";
+$a->strings["Permission denied"] = "Keine Berechtigung";
+$a->strings["(Unknown)"] = "(Unbekannt)";
+$a->strings["Visible to anybody on the internet."] = "Für jeden im Internet sichtbar.";
+$a->strings["Visible to you only."] = "Nur für Dich sichtbar.";
+$a->strings["Visible to anybody in this network."] = "Für jedes Mitglied der RedMatrix sichtbar.";
+$a->strings["Visible to anybody authenticated."] = "Für jeden sichtbar, der angemeldet ist.";
+$a->strings["Visible to anybody on %s."] = "Für jeden auf %s sichtbar.";
+$a->strings["Visible to all connections."] = "Für alle Verbindungen sichtbar.";
+$a->strings["Visible to approved connections."] = "Nur für akzeptierte Verbindungen sichtbar.";
+$a->strings["Visible to specific connections."] = "Sichtbar für bestimmte Verbindungen.";
+$a->strings["Item not found."] = "Element nicht gefunden.";
+$a->strings["Collection not found."] = "Sammlung nicht gefunden";
+$a->strings["Collection is empty."] = "Sammlung ist leer.";
+$a->strings["Collection: %s"] = "Sammlung: %s";
+$a->strings["Connection: %s"] = "Verbindung: %s";
+$a->strings["Connection not found."] = "Die Verbindung wurde nicht gefunden.";
+$a->strings["This event has been added to your calendar."] = "Dieser Termin wurde zu Deinem Kalender hinzugefügt";
+$a->strings["New window"] = "Neues Fenster";
+$a->strings["Open the selected location in a different window or browser tab"] = "Öffne die markierte Adresse in einem neuen Browser Fenster oder Tab";
+$a->strings["User '%s' deleted"] = "Benutzer '%s' gelöscht";
+$a->strings["view full size"] = "In Vollbildansicht anschauen";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s";
+$a->strings["Image/photo"] = "Bild/Foto";
+$a->strings["Encrypted content"] = "Verschlüsselter Inhalt";
+$a->strings["Install design element: "] = "Design-Element installieren:";
+$a->strings["QR code"] = "QR-Code";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schrieb den folgenden %2\$s %3\$s";
+$a->strings["post"] = "Beitrag";
+$a->strings["Different viewers will see this text differently"] = "Verschiedene Betrachter werden diesen Text unterschiedlich sehen";
+$a->strings["$1 spoiler"] = "$1 Spoiler";
+$a->strings["$1 wrote:"] = "$1 schrieb:";
+$a->strings["%d invitation available"] = array(
+ 0 => "%d Einladung verfügbar",
+ 1 => "%d Einladungen verfügbar",
+);
+$a->strings["Advanced"] = "Fortgeschritten";
+$a->strings["Find Channels"] = "Finde Kanäle";
+$a->strings["Enter name or interest"] = "Name oder Interessen eingeben";
+$a->strings["Connect/Follow"] = "Verbinden/Folgen";
+$a->strings["Examples: Robert Morgenstein, Fishing"] = "Beispiele: Robert Morgenstein, Angeln";
+$a->strings["Find"] = "Finde";
+$a->strings["Channel Suggestions"] = "Kanal-Vorschläge";
+$a->strings["Random Profile"] = "Zufallsprofil";
+$a->strings["Invite Friends"] = "Lade Freunde ein";
+$a->strings["Advanced example: name=fred and country=iceland"] = "Fortgeschrittenes Beispiel: name=fred and country=iceland";
+$a->strings["%d connection in common"] = array(
+ 0 => "%d gemeinsame Verbindung",
+ 1 => "%d gemeinsame Verbindungen",
+);
+$a->strings["show more"] = "mehr zeigen";
+$a->strings["Visible to your default audience"] = "Standard-Sichtbarkeit";
+$a->strings["Show"] = "Anzeigen";
+$a->strings["Don't show"] = "Nicht anzeigen";
+$a->strings["Permissions"] = "Berechtigungen";
+$a->strings["Public Timeline"] = "Öffentliche Zeitleiste";
+$a->strings["Invalid data packet"] = "Ungültiges Datenpaket";
+$a->strings["Unable to verify channel signature"] = "Konnte die Signatur des Kanals nicht verifizieren";
+$a->strings["Unable to verify site signature for %s"] = "Kann die Signatur der Seite von %s nicht verifizieren";
+$a->strings["Male"] = "Männlich";
+$a->strings["Female"] = "Weiblich";
+$a->strings["Currently Male"] = "Momentan männlich";
+$a->strings["Currently Female"] = "Momentan weiblich";
+$a->strings["Mostly Male"] = "Größtenteils männlich";
+$a->strings["Mostly Female"] = "Größtenteils weiblich";
+$a->strings["Transgender"] = "Transsexuell";
+$a->strings["Intersex"] = "Zwischengeschlechtlich";
+$a->strings["Transsexual"] = "Transsexuell";
+$a->strings["Hermaphrodite"] = "Zwitter";
+$a->strings["Neuter"] = "Geschlechtslos";
+$a->strings["Non-specific"] = "unklar";
$a->strings["Other"] = "Andere";
-$a->strings["Custom/Expert Mode"] = "Benutzerdefiniert/Expertenmodus";
+$a->strings["Undecided"] = "Unentschieden";
+$a->strings["Males"] = "Männer";
+$a->strings["Females"] = "Frauen";
+$a->strings["Gay"] = "Schwul";
+$a->strings["Lesbian"] = "Lesbisch";
+$a->strings["No Preference"] = "Keine Bevorzugung";
+$a->strings["Bisexual"] = "Bisexuell";
+$a->strings["Autosexual"] = "Autosexuell";
+$a->strings["Abstinent"] = "Enthaltsam";
+$a->strings["Virgin"] = "Jungfräulich";
+$a->strings["Deviant"] = "Abweichend";
+$a->strings["Fetish"] = "Fetisch";
+$a->strings["Oodles"] = "Unmengen";
+$a->strings["Nonsexual"] = "Sexlos";
+$a->strings["Single"] = "Single";
+$a->strings["Lonely"] = "Einsam";
+$a->strings["Available"] = "Verfügbar";
+$a->strings["Unavailable"] = "Nicht verfügbar";
+$a->strings["Has crush"] = "Verguckt";
+$a->strings["Infatuated"] = "Verknallt";
+$a->strings["Dating"] = "Lerne gerade jemanden kennen";
+$a->strings["Unfaithful"] = "Treulos";
+$a->strings["Sex Addict"] = "Sexabhängig";
+$a->strings["Friends/Benefits"] = "Freunde/Begünstigte";
+$a->strings["Casual"] = "Lose";
+$a->strings["Engaged"] = "Verlobt";
+$a->strings["Married"] = "Verheiratet";
+$a->strings["Imaginarily married"] = "Gewissermaßen verheiratet";
+$a->strings["Partners"] = "Partner";
+$a->strings["Cohabiting"] = "Lebensgemeinschaft";
+$a->strings["Common law"] = "Informelle Ehe";
+$a->strings["Happy"] = "Glücklich";
+$a->strings["Not looking"] = "Nicht Ausschau haltend";
+$a->strings["Swinger"] = "Swinger";
+$a->strings["Betrayed"] = "Betrogen";
+$a->strings["Separated"] = "Getrennt";
+$a->strings["Unstable"] = "Labil";
+$a->strings["Divorced"] = "Geschieden";
+$a->strings["Imaginarily divorced"] = "Gewissermaßen geschieden";
+$a->strings["Widowed"] = "Verwitwet";
+$a->strings["Uncertain"] = "Ungewiss";
+$a->strings["It's complicated"] = "Es ist kompliziert";
+$a->strings["Don't care"] = "Interessiert mich nicht";
+$a->strings["Ask me"] = "Frag mich mal";
+$a->strings["Site Admin"] = "Hub-Administration";
+$a->strings["Address Book"] = "Adressbuch";
+$a->strings["Mood"] = "Laune";
+$a->strings["Poke"] = "Anstupsen";
+$a->strings["Probe"] = "Testen";
+$a->strings["Suggest"] = "Empfehlen";
+$a->strings["Random Channel"] = "Zufälliger Kanal";
+$a->strings["Invite"] = "Einladen";
+$a->strings["Features"] = "Funktionen";
+$a->strings["Language"] = "Sprache";
+$a->strings["Post"] = "Beitrag";
+$a->strings["Profile Photo"] = "Profilfoto";
+$a->strings["Update"] = "Aktualisieren";
+$a->strings["Install"] = "Installieren";
+$a->strings["Purchase"] = "Kaufen";
+$a->strings["Not a valid email address"] = "Ungültige E-Mail-Adresse";
+$a->strings["Your email domain is not among those allowed on this site"] = "Deine E-Mail-Adresse ist dieser Seite nicht erlaubt";
+$a->strings["Your email address is already registered at this site."] = "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert.";
+$a->strings["An invitation is required."] = "Eine Einladung wird benötigt";
+$a->strings["Invitation could not be verified."] = "Die Einladung konnte nicht bestätigt werden";
+$a->strings["Please enter the required information."] = "Bitte gib die benötigten Informationen ein.";
+$a->strings["Failed to store account information."] = "Speichern der Account-Informationen fehlgeschlagen";
+$a->strings["Registration confirmation for %s"] = "Registrierungsbestätigung für %s";
+$a->strings["Registration request at %s"] = "Registrierungsanfrage auf %s";
+$a->strings["Administrator"] = "Administrator";
+$a->strings["your registration password"] = "Dein Registrierungspasswort";
+$a->strings["Registration details for %s"] = "Registrierungsdetails für %s";
+$a->strings["Account approved."] = "Account bestätigt.";
+$a->strings["Registration revoked for %s"] = "Registrierung für %s widerrufen";
+$a->strings["Account verified. Please login."] = "Konto geprüft. Bitte melde Dich an!";
+$a->strings["Click here to upgrade."] = "Klicke hier, um das Upgrade durchzuführen.";
+$a->strings["This action exceeds the limits set by your subscription plan."] = "Diese Aktion überschreitet die Grenzen Ihres Abonnements.";
+$a->strings["This action is not available under your subscription plan."] = "Diese Aktion ist in Ihrem Abonnement nicht verfügbar.";
$a->strings["channel"] = "Kanal";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s nicht";
$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s ist jetzt mit %2\$s verbunden";
@@ -609,7 +782,6 @@ $a->strings["View Photos"] = "Fotos ansehen";
$a->strings["Matrix Activity"] = "Matrix-Aktivität";
$a->strings["Edit Contact"] = "Kontakt bearbeiten";
$a->strings["Send PM"] = "Sende PN";
-$a->strings["Poke"] = "Anstupsen";
$a->strings["%s likes this."] = "%s gefällt das.";
$a->strings["%s doesn't like this."] = "%s gefällt das nicht.";
$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
@@ -636,7 +808,7 @@ $a->strings["Save to Folder:"] = "Speichern in Ordner:";
$a->strings["Where are you right now?"] = "Wo bist Du jetzt grade?";
$a->strings["Expires YYYY-MM-DD HH:MM"] = "Verfällt YYYY-MM-DD HH;MM";
$a->strings["Share"] = "Teilen";
-$a->strings["Page link name"] = "Link zur Seite";
+$a->strings["Page link title"] = "Seitentitel-Link";
$a->strings["Post as"] = "Veröffentlichen als";
$a->strings["Upload photo"] = "Foto hochladen";
$a->strings["upload photo"] = "Foto hochladen";
@@ -648,18 +820,18 @@ $a->strings["Insert video link"] = "Video-Link einfügen";
$a->strings["video link"] = "Video-Link";
$a->strings["Insert audio link"] = "Audio-Link einfügen";
$a->strings["audio link"] = "Audio-Link";
-$a->strings["Set your location"] = "Legen Sie Ihren Standort fest";
-$a->strings["set location"] = "Standort festlegen";
+$a->strings["Set your location"] = "Standort";
+$a->strings["set location"] = "Standort";
$a->strings["Toggle voting"] = "Umfragewerkzeug aktivieren";
$a->strings["Clear browser location"] = "Browser-Standort löschen";
$a->strings["clear location"] = "Standort löschen";
$a->strings["Title (optional)"] = "Titel (optional)";
$a->strings["Categories (optional, comma-separated list)"] = "Kategorien (optional, kommagetrennte Liste)";
-$a->strings["Permission settings"] = "Berechtigungseinstellungen";
+$a->strings["Permission settings"] = "Berechtigungs-Einstellungen";
$a->strings["permissions"] = "Berechtigungen";
$a->strings["Public post"] = "Öffentlicher Beitrag";
$a->strings["Example: bob@example.com, mary@example.com"] = "Beispiel: bob@example.com, mary@example.com";
-$a->strings["Set expiration date"] = "Verfallsdatum festlegen";
+$a->strings["Set expiration date"] = "Verfallsdatum";
$a->strings["OK"] = "Ok";
$a->strings["Cancel"] = "Abbrechen";
$a->strings["Discover"] = "Entdecken";
@@ -679,7 +851,6 @@ $a->strings["Channel"] = "Kanal";
$a->strings["Status Messages and Posts"] = "Statusnachrichten und Beiträge";
$a->strings["About"] = "Über";
$a->strings["Profile Details"] = "Profil-Details";
-$a->strings["Photo Albums"] = "Fotoalben";
$a->strings["Files and Storage"] = "Dateien und Speicher";
$a->strings["Chatrooms"] = "Chaträume";
$a->strings["Saved Bookmarks"] = "Gespeicherte Lesezeichen";
@@ -708,219 +879,48 @@ $a->strings["__ctx:noun__ Abstain"] = array(
0 => "Enthaltung",
1 => "Enthaltungen",
);
-$a->strings["Permission denied"] = "Keine Berechtigung";
-$a->strings["(Unknown)"] = "(Unbekannt)";
-$a->strings["Visible to anybody on the internet."] = "Für jeden im Internet sichtbar.";
-$a->strings["Visible to you only."] = "Nur für Dich sichtbar.";
-$a->strings["Visible to anybody in this network."] = "Für jedes Mitglied der RedMatrix sichtbar.";
-$a->strings["Visible to anybody authenticated."] = "Für jeden sichtbar, der angemeldet ist.";
-$a->strings["Visible to anybody on %s."] = "Für jeden auf %s sichtbar.";
-$a->strings["Visible to all connections."] = "Für alle Verbindungen sichtbar.";
-$a->strings["Visible to approved connections."] = "Nur für akzeptierte Verbindungen sichtbar.";
-$a->strings["Visible to specific connections."] = "Sichtbar für bestimmte Verbindungen.";
-$a->strings["Item not found."] = "Element nicht gefunden.";
-$a->strings["Permission denied."] = "Zugang verweigert";
-$a->strings["Collection not found."] = "Sammlung nicht gefunden";
-$a->strings["Collection is empty."] = "Sammlung ist leer.";
-$a->strings["Collection: %s"] = "Sammlung: %s";
-$a->strings["Connection: %s"] = "Verbindung: %s";
-$a->strings["Connection not found."] = "Die Verbindung wurde nicht gefunden.";
-$a->strings["Invalid data packet"] = "Ungültiges Datenpaket";
-$a->strings["Unable to verify channel signature"] = "Konnte die Signatur des Kanals nicht verifizieren";
-$a->strings["Unable to verify site signature for %s"] = "Kann die Signatur der Seite von %s nicht verifizieren";
$a->strings["Embedded content"] = "Eingebetteter Inhalt";
$a->strings["Embedding disabled"] = "Einbetten ausgeschaltet";
-$a->strings["Logged out."] = "Ausgeloggt.";
-$a->strings["Failed authentication"] = "Authentifizierung fehlgeschlagen";
-$a->strings["Login failed."] = "Login fehlgeschlagen.";
-$a->strings["%d invitation available"] = array(
- 0 => "%d Einladung verfügbar",
- 1 => "%d Einladungen verfügbar",
-);
-$a->strings["Advanced"] = "Fortgeschritten";
-$a->strings["Find Channels"] = "Finde Kanäle";
-$a->strings["Enter name or interest"] = "Name oder Interessen eingeben";
-$a->strings["Connect/Follow"] = "Verbinden/Folgen";
-$a->strings["Examples: Robert Morgenstein, Fishing"] = "Beispiele: Robert Morgenstein, Angeln";
-$a->strings["Find"] = "Finde";
-$a->strings["Channel Suggestions"] = "Kanal-Vorschläge";
-$a->strings["Random Profile"] = "Zufallsprofil";
-$a->strings["Invite Friends"] = "Lade Freunde ein";
-$a->strings["Advanced example: name=fred and country=iceland"] = "Fortgeschrittenes Beispiel: name=fred and country=iceland";
-$a->strings["%d connection in common"] = array(
- 0 => "%d gemeinsame Verbindung",
- 1 => "%d gemeinsame Verbindungen",
-);
-$a->strings["show more"] = "mehr zeigen";
-$a->strings["Visible to your default audience"] = "Standard-Sichtbarkeit";
-$a->strings["Show"] = "Anzeigen";
-$a->strings["Don't show"] = "Nicht anzeigen";
-$a->strings["Permissions"] = "Berechtigungen";
-$a->strings["Item was not found."] = "Beitrag wurde nicht gefunden.";
-$a->strings["No source file."] = "Keine Quelldatei.";
-$a->strings["Cannot locate file to replace"] = "Kann Datei zum Ersetzen nicht finden";
-$a->strings["Cannot locate file to revise/update"] = "Kann Datei zum Prüfen/Aktualisieren nicht finden";
-$a->strings["File exceeds size limit of %d"] = "Datei überschreitet das Größen-Limit von %d";
-$a->strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht.";
-$a->strings["File upload failed. Possible system limit or action terminated."] = "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess.";
-$a->strings["Stored file could not be verified. Upload failed."] = "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen.";
-$a->strings["Path not available."] = "Pfad nicht verfügbar.";
-$a->strings["Empty pathname"] = "Leere Pfadangabe";
-$a->strings["duplicate filename or path"] = "doppelter Dateiname oder Pfad";
-$a->strings["Path not found."] = "Pfad nicht gefunden.";
-$a->strings["mkdir failed."] = "mkdir fehlgeschlagen.";
-$a->strings["database storage failed."] = "Speichern in der Datenbank fehlgeschlagen.";
-$a->strings["Unable to obtain identity information from database"] = "Kann keine Identitäts-Informationen aus Datenbank beziehen";
-$a->strings["Empty name"] = "Namensfeld leer";
-$a->strings["Name too long"] = "Name ist zu lang";
-$a->strings["No account identifier"] = "Keine Account-Kennung";
-$a->strings["Nickname is required."] = "Spitzname ist erforderlich.";
-$a->strings["Reserved nickname. Please choose another."] = "Reservierter Kurzname. Bitte wähle einen anderen.";
-$a->strings["Nickname has unsupported characters or is already being used on this site."] = "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt.";
-$a->strings["Unable to retrieve created identity"] = "Kann die erstellte Identität nicht empfangen";
-$a->strings["Default Profile"] = "Standard-Profil";
-$a->strings["Requested channel is not available."] = "Angeforderte Kanal nicht verfügbar.";
-$a->strings["Requested profile is not available."] = "Erwünschte Profil ist nicht verfügbar.";
-$a->strings["Change profile photo"] = "Profilfoto ändern";
-$a->strings["Profiles"] = "Profile";
-$a->strings["Manage/edit profiles"] = "Profile verwalten/bearbeiten";
-$a->strings["Create New Profile"] = "Neues Profil erstellen";
-$a->strings["Profile Image"] = "Profilfoto:";
-$a->strings["visible to everybody"] = "sichtbar für jeden";
-$a->strings["Edit visibility"] = "Sichtbarkeit bearbeiten";
-$a->strings["Gender:"] = "Geschlecht:";
-$a->strings["Status:"] = "Status:";
-$a->strings["Homepage:"] = "Homepage:";
-$a->strings["Online Now"] = "gerade online";
-$a->strings["g A l F d"] = "l, j. F, G:i \\U\\h\\r";
-$a->strings["F d"] = "d. F";
-$a->strings["[today]"] = "[Heute]";
-$a->strings["Birthday Reminders"] = "Geburtstags Erinnerungen";
-$a->strings["Birthdays this week:"] = "Geburtstage in dieser Woche:";
-$a->strings["[No description]"] = "[Keine Beschreibung]";
-$a->strings["Event Reminders"] = "Termin-Erinnerungen";
-$a->strings["Events this week:"] = "Termine in dieser Woche:";
-$a->strings["Profile"] = "Profil";
-$a->strings["Full Name:"] = "Voller Name:";
-$a->strings["Like this channel"] = "Dieser Kanal gefällt mir";
-$a->strings["j F, Y"] = "j. F Y";
-$a->strings["j F"] = "j. F";
-$a->strings["Birthday:"] = "Geburtstag:";
-$a->strings["Age:"] = "Alter:";
-$a->strings["for %1\$d %2\$s"] = "seit %1\$d %2\$s";
-$a->strings["Sexual Preference:"] = "Sexuelle Orientierung:";
-$a->strings["Hometown:"] = "Heimatstadt:";
-$a->strings["Tags:"] = "Schlagworte:";
-$a->strings["Political Views:"] = "Politische Ansichten:";
-$a->strings["Religion:"] = "Religion:";
-$a->strings["About:"] = "Über:";
-$a->strings["Hobbies/Interests:"] = "Hobbys/Interessen:";
-$a->strings["Likes:"] = "Gefällt:";
-$a->strings["Dislikes:"] = "Gefällt nicht:";
-$a->strings["Contact information and Social Networks:"] = "Kontaktinformation und soziale Netzwerke:";
-$a->strings["My other channels:"] = "Meine anderen Kanäle:";
-$a->strings["Musical interests:"] = "Musikalische Interessen:";
-$a->strings["Books, literature:"] = "Bücher, Literatur:";
-$a->strings["Television:"] = "Fernsehen:";
-$a->strings["Film/dance/culture/entertainment:"] = "Film/Tanz/Kultur/Unterhaltung:";
-$a->strings["Love/Romance:"] = "Liebe/Romantik:";
-$a->strings["Work/employment:"] = "Arbeit/Anstellung:";
-$a->strings["School/education:"] = "Schule/Ausbildung:";
-$a->strings["Like this thing"] = "Gefällt mir";
-$a->strings["Male"] = "Männlich";
-$a->strings["Female"] = "Weiblich";
-$a->strings["Currently Male"] = "Momentan männlich";
-$a->strings["Currently Female"] = "Momentan weiblich";
-$a->strings["Mostly Male"] = "Größtenteils männlich";
-$a->strings["Mostly Female"] = "Größtenteils weiblich";
-$a->strings["Transgender"] = "Transsexuell";
-$a->strings["Intersex"] = "Zwischengeschlechtlich";
-$a->strings["Transsexual"] = "Transsexuell";
-$a->strings["Hermaphrodite"] = "Zwitter";
-$a->strings["Neuter"] = "Geschlechtslos";
-$a->strings["Non-specific"] = "unklar";
-$a->strings["Undecided"] = "Unentschieden";
-$a->strings["Males"] = "Männer";
-$a->strings["Females"] = "Frauen";
-$a->strings["Gay"] = "Schwul";
-$a->strings["Lesbian"] = "Lesbisch";
-$a->strings["No Preference"] = "Keine Bevorzugung";
-$a->strings["Bisexual"] = "Bisexuell";
-$a->strings["Autosexual"] = "Autosexuell";
-$a->strings["Abstinent"] = "Enthaltsam";
-$a->strings["Virgin"] = "Jungfräulich";
-$a->strings["Deviant"] = "Abweichend";
-$a->strings["Fetish"] = "Fetisch";
-$a->strings["Oodles"] = "Unmengen";
-$a->strings["Nonsexual"] = "Sexlos";
-$a->strings["Single"] = "Single";
-$a->strings["Lonely"] = "Einsam";
-$a->strings["Available"] = "Verfügbar";
-$a->strings["Unavailable"] = "Nicht verfügbar";
-$a->strings["Has crush"] = "Verguckt";
-$a->strings["Infatuated"] = "Verknallt";
-$a->strings["Dating"] = "Lerne gerade jemanden kennen";
-$a->strings["Unfaithful"] = "Treulos";
-$a->strings["Sex Addict"] = "Sexabhängig";
-$a->strings["Friends/Benefits"] = "Freunde/Begünstigte";
-$a->strings["Casual"] = "Lose";
-$a->strings["Engaged"] = "Verlobt";
-$a->strings["Married"] = "Verheiratet";
-$a->strings["Imaginarily married"] = "Gewissermaßen verheiratet";
-$a->strings["Partners"] = "Partner";
-$a->strings["Cohabiting"] = "Lebensgemeinschaft";
-$a->strings["Common law"] = "Informelle Ehe";
-$a->strings["Happy"] = "Glücklich";
-$a->strings["Not looking"] = "Nicht Ausschau haltend";
-$a->strings["Swinger"] = "Swinger";
-$a->strings["Betrayed"] = "Betrogen";
-$a->strings["Separated"] = "Getrennt";
-$a->strings["Unstable"] = "Labil";
-$a->strings["Divorced"] = "Geschieden";
-$a->strings["Imaginarily divorced"] = "Gewissermaßen geschieden";
-$a->strings["Widowed"] = "Verwitwet";
-$a->strings["Uncertain"] = "Ungewiss";
-$a->strings["It's complicated"] = "Es ist kompliziert";
-$a->strings["Don't care"] = "Interessiert mich nicht";
-$a->strings["Ask me"] = "Frag mich mal";
-$a->strings["Site Admin"] = "Hub-Administration";
-$a->strings["Address Book"] = "Adressbuch";
-$a->strings["Mood"] = "Laune";
-$a->strings["Probe"] = "Testen";
-$a->strings["Suggest"] = "Empfehlen";
-$a->strings["Random Channel"] = "Zufälliger Kanal";
-$a->strings["Invite"] = "Einladen";
-$a->strings["Features"] = "Funktionen";
-$a->strings["Language"] = "Sprache";
-$a->strings["Post"] = "Beitrag";
-$a->strings["Profile Photo"] = "Profilfoto";
-$a->strings["Update"] = "Aktualisieren";
-$a->strings["Install"] = "Installieren";
-$a->strings["Purchase"] = "Kaufen";
-$a->strings["Image/photo"] = "Bild/Foto";
-$a->strings["Encrypted content"] = "Verschlüsselter Inhalt";
-$a->strings["Install %s element: "] = "Element %s installieren: ";
-$a->strings["webpage"] = "Webseite";
-$a->strings["layout"] = "Gestaltung";
-$a->strings["block"] = "Block";
-$a->strings["menu"] = "Menü";
-$a->strings["QR code"] = "QR-Code";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schrieb den folgenden %2\$s %3\$s";
-$a->strings["post"] = "Beitrag";
-$a->strings["Different viewers will see this text differently"] = "Verschiedene Betrachter werden diesen Text unterschiedlich sehen";
-$a->strings["$1 spoiler"] = "$1 Spoiler";
-$a->strings["$1 wrote:"] = "$1 schrieb:";
-$a->strings["Missing room name"] = "Der Chatraum hat keinen Namen";
-$a->strings["Duplicate room name"] = "Name des Chatraums bereits vergeben";
-$a->strings["Invalid room specifier."] = "Ungültiger Raumbezeichner.";
-$a->strings["Room not found."] = "Chatraum konnte nicht gefunden werden.";
-$a->strings["Room is full"] = "Der Raum ist voll";
-$a->strings["Image exceeds website size limit of %lu bytes"] = "Bild überschreitet das Limit der Webseite von %lu bytes";
-$a->strings["Image file is empty."] = "Bilddatei ist leer.";
-$a->strings["Unable to process image"] = "Kann Bild nicht verarbeiten";
-$a->strings["Photo storage failed."] = "Foto speichern schlug fehl";
-$a->strings["Upload New Photos"] = "Lade neue Fotos hoch";
+$a->strings["Can view my normal stream and posts"] = "Kann meine normalen Beiträge sehen";
+$a->strings["Can view my default channel profile"] = "Kann mein Standardprofil sehen";
+$a->strings["Can view my photo albums"] = "Kann meine Fotoalben betrachten";
+$a->strings["Can view my connections"] = "Kann meine Verbindungen sehen";
+$a->strings["Can view my file storage"] = "Kann meine Dateiordner lesen";
+$a->strings["Can view my webpages"] = "Kann meine Webseiten sehen";
+$a->strings["Can send me their channel stream and posts"] = "Kann mir die Beiträge aus seinem/ihrem Kanal schicken";
+$a->strings["Can post on my channel page (\"wall\")"] = "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen";
+$a->strings["Can comment on or like my posts"] = "Darf meine Beiträge kommentieren und mögen/nicht mögen";
+$a->strings["Can send me private mail messages"] = "Kann mir private Nachrichten schicken";
+$a->strings["Can post photos to my photo albums"] = "Kann Fotos in meinen Fotoalben veröffentlichen";
+$a->strings["Can like/dislike stuff"] = "Kann andere Elemente mögen/nicht mögen";
+$a->strings["Profiles and things other than posts/comments"] = "Profile und alles außer Beiträge und Kommentare";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten";
+$a->strings["Advanced - useful for creating group forum channels"] = "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen";
+$a->strings["Can chat with me (when available)"] = "Kann mit mir chatten (wenn verfügbar)";
+$a->strings["Can write to my file storage"] = "Kann in meine Dateiordner schreiben";
+$a->strings["Can edit my webpages"] = "Kann meine Webseiten bearbeiten";
+$a->strings["Can source my public posts in derived channels"] = "Kann meine öffentlichen Beiträge als Quellen für Kanäle verwenden";
+$a->strings["Somewhat advanced - very useful in open communities"] = "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften";
+$a->strings["Can administer my channel resources"] = "Kann meine Kanäle administrieren";
+$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust";
+$a->strings["Social Networking"] = "Soziales Netzwerk";
+$a->strings["Mostly Public"] = "Weitgehend öffentlich";
+$a->strings["Restricted"] = "Beschränkt";
+$a->strings["Private"] = "Privat";
+$a->strings["Community Forum"] = "Forum";
+$a->strings["Feed Republish"] = "Teilen von Feeds";
+$a->strings["Special Purpose"] = "Für besondere Zwecke";
+$a->strings["Celebrity/Soapbox"] = "Mitteilungs-Kanal (keine Kommentare)";
+$a->strings["Group Repository"] = "Gruppenarchiv";
+$a->strings["Custom/Expert Mode"] = "Benutzerdefiniert/Expertenmodus";
$a->strings["Some blurb about what to do when you're new here"] = "Ein Hinweis, was man tun kann, wenn man neu hier ist";
+$a->strings["Item not found"] = "Element nicht gefunden";
+$a->strings["Edit Block"] = "Block bearbeiten";
+$a->strings["Delete block?"] = "Block löschen?";
+$a->strings["Insert YouTube video"] = "YouTube-Video einfügen";
+$a->strings["Insert Vorbis [.ogg] video"] = "Vorbis [.ogg]-Video einfügen";
+$a->strings["Insert Vorbis [.ogg] audio"] = "Vorbis [.ogg]-Audio einfügen";
+$a->strings["Delete Block"] = "Block löschen";
$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet.";
$a->strings["Create a new channel"] = "Neuen Kanal anlegen";
$a->strings["Current Channel"] = "Aktueller Kanal";
@@ -929,14 +929,6 @@ $a->strings["Default Channel"] = "Standard Kanal";
$a->strings["Make Default"] = "Zum Standard machen";
$a->strings["%d new messages"] = "%d neue Nachrichten";
$a->strings["%d new introductions"] = "%d neue Vorstellungen";
-$a->strings["Delegated Channels"] = "Delegierte Kanäle";
-$a->strings["Unable to locate original post."] = "Originalbeitrag nicht gefunden.";
-$a->strings["Empty post discarded."] = "Leeren Beitrag verworfen.";
-$a->strings["Executable content type not permitted to this channel."] = "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben.";
-$a->strings["System error. Post not saved."] = "Systemfehler. Beitrag nicht gespeichert.";
-$a->strings["Unable to obtain post information from database."] = "Beitragsinformationen können nicht aus der Datenbank abgerufen werden.";
-$a->strings["You have reached your limit of %1$.0f top level posts."] = "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht.";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht.";
$a->strings["Xchan Lookup"] = "Xchan-Suche";
$a->strings["Lookup xchan beginning with (or webbie): "] = "Nach xchans oder Webbies (Kanal-Adressen) suchen, die wie folgt beginnen:";
$a->strings["Not found."] = "Nicht gefunden.";
@@ -946,12 +938,88 @@ $a->strings["Please login to continue."] = "Zum Weitermachen, bitte einloggen.";
$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?";
$a->strings["Yes"] = "Ja";
$a->strings["No"] = "Nein";
-$a->strings["Page Title"] = "Seitentitel";
-$a->strings["Channel added."] = "Kanal hinzugefügt.";
-$a->strings["Tag removed"] = "Schlagwort entfernt";
-$a->strings["Remove Item Tag"] = "Schlagwort entfernen";
-$a->strings["Select a tag to remove: "] = "Schlagwort zum Entfernen auswählen:";
-$a->strings["Remove"] = "Entferne";
+$a->strings["Block Name"] = "Block-Name";
+$a->strings["Could not access contact record."] = "Konnte nicht auf den Kontakteintrag zugreifen.";
+$a->strings["Could not locate selected profile."] = "Gewähltes Profil nicht gefunden.";
+$a->strings["Connection updated."] = "Verbindung aktualisiert.";
+$a->strings["Failed to update connection record."] = "Konnte den Verbindungseintrag nicht aktualisieren.";
+$a->strings["is now connected to"] = "ist jetzt verbunden mit";
+$a->strings["Could not access address book record."] = "Konnte nicht auf den Adressbuch-Eintrag zugreifen.";
+$a->strings["Refresh failed - channel is currently unavailable."] = "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar.";
+$a->strings["Channel has been unblocked"] = "Kanal nicht mehr blockiert";
+$a->strings["Channel has been blocked"] = "Kanal blockiert";
+$a->strings["Unable to set address book parameters."] = "Konnte die Adressbuch-Parameter nicht setzen.";
+$a->strings["Channel has been unignored"] = "Kanal wird nicht mehr ignoriert";
+$a->strings["Channel has been ignored"] = "Kanal wird ignoriert";
+$a->strings["Channel has been unarchived"] = "Kanal wurde aus dem Archiv zurück geholt";
+$a->strings["Channel has been archived"] = "Kanal wurde archiviert";
+$a->strings["Channel has been unhidden"] = "Kanal wird nicht mehr versteckt";
+$a->strings["Channel has been hidden"] = "Kanal wurde versteckt";
+$a->strings["Channel has been approved"] = "Kanal wurde zugelassen";
+$a->strings["Channel has been unapproved"] = "Zulassung des Kanals entfernt";
+$a->strings["Connection has been removed."] = "Verbindung wurde gelöscht.";
+$a->strings["View %s's profile"] = "%ss Profil ansehen";
+$a->strings["Refresh Permissions"] = "Zugriffsrechte neu laden";
+$a->strings["Fetch updated permissions"] = "Aktualisierte Zugriffsrechte abfragen";
+$a->strings["Recent Activity"] = "Kürzliche Aktivitäten";
+$a->strings["View recent posts and comments"] = "Betrachte die neuesten Beiträge und Kommentare";
+$a->strings["Unblock"] = "Freigeben";
+$a->strings["Block"] = "Blockieren";
+$a->strings["Block (or Unblock) all communications with this connection"] = "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen";
+$a->strings["Unignore"] = "Nicht ignorieren";
+$a->strings["Ignore"] = "Ignorieren";
+$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen";
+$a->strings["Unarchive"] = "Aus Archiv zurückholen";
+$a->strings["Archive"] = "Archivieren";
+$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Verbindung archivieren/aus dem Archiv zurückholen (Archiv = Kanal als erloschen markieren, aber die Beiträge behalten)";
+$a->strings["Unhide"] = "Wieder sichtbar machen";
+$a->strings["Hide"] = "Verstecken";
+$a->strings["Hide or Unhide this connection from your other connections"] = "Diese Verbindung vor anderen Verbindungen verstecken/zeigen";
+$a->strings["Delete this connection"] = "Verbindung löschen";
+$a->strings["Approve this connection"] = "Verbindung genehmigen";
+$a->strings["Accept connection to allow communication"] = "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen";
+$a->strings["Connections: settings for %s"] = "Verbindungseinstellungen für %s";
+$a->strings["Apply these permissions automatically"] = "Diese Berechtigungen automatisch anwenden";
+$a->strings["Apply the permissions indicated on this page to all new connections."] = "Wende die auf dieser Seite gewählten Berechtigungen auf alle neuen Verbindungen an.";
+$a->strings["Slide to adjust your degree of friendship"] = "Verschieben, um den Grad der Freundschaft zu einzustellen";
+$a->strings["Rating (this information is public)"] = "Bewertung (öffentlich sichtbar)";
+$a->strings["Optionally explain your rating (this information is public)"] = "Optional kannst du deine Bewertung erklären (öffentlich sichtbar)";
+$a->strings["Default permissions for your channel type have (just) been applied. They have not yet been submitted. Please review the permissions on this page and make any desired changes at this time. This new connection may <em>not</em> be able to communicate with you until you submit this page, which will install and apply the selected permissions."] = "Die voreingestellten Zugriffsrechte der Kategorie Deines Kanals sind hier zu sehen, wurden aber noch nicht gespeichert. Bitte sieh Dir die Zugriffsrechte auf dieser Seite an und ändere sie, wenn Du willst. Dieser Kontakt kann evtl. <em>nicht</em> mit Dir kommunizieren, bevor Du nicht auf dieser Seite auf „Senden“ geklickt hast – erst dieser Klick speichert die gewünschten Zugriffsrechte.";
+$a->strings["inherited"] = "geerbt";
+$a->strings["Connection has no individual permissions!"] = "Diese Verbindung hat keine individuellen Zugriffsrechte!";
+$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Abhängig von Deinen <a href=\"settings\">Privatsphäre-Einstellungen</a> könnte das passen, eventuell solltest Du aber die „Zugriffsrechte für Fortgeschrittene“ überprüfen.";
+$a->strings["Profile Visibility"] = "Sichtbarkeit des Profils";
+$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird.";
+$a->strings["Contact Information / Notes"] = "Kontaktinformationen / Notizen";
+$a->strings["Edit contact notes"] = "Kontaktnotizen bearbeiten";
+$a->strings["Their Settings"] = "Deren Einstellungen";
+$a->strings["My Settings"] = "Meine Einstellungen";
+$a->strings["Default permissions for this channel type have (just) been applied. They have <em>not</em> been saved and there are currently no stored default permissions. Please review/edit the applied settings and click [Submit] to finalize."] = "Die voreingestellten Zugriffsrechte der Kategorie Deines Kanals sind hier zu sehen, wurden aber noch <em>nicht</em> gespeichert, und Du hast keine Voreinstellungen für die Zugriffsrechte von Verbindungen angelegt. Bitte sieht Dir die Einstellungen an, ändere sie bei Bedarf und klicke [Senden], um den Vorgang abzuschließen.";
+$a->strings["Clear/Disable Automatic Permissions"] = "Automatische Berechtigungen abschalten/entfernen";
+$a->strings["Forum Members"] = "Forum Mitglieder";
+$a->strings["Soapbox"] = "Marktschreier";
+$a->strings["Full Sharing (typical social network permissions)"] = "Vollumfängliches Teilen (übliche Berechtigungen in sozialen Netzwerken)";
+$a->strings["Cautious Sharing "] = "Vorsichtiges Teilen";
+$a->strings["Follow Only"] = "Nur folgen";
+$a->strings["Individual Permissions"] = "Individuelle Zugriffsrechte";
+$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "Einige Berechtigungen werden von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt, die eine höhere Priorität haben als die Einstellungen bei einer Verbindung. Werden geerbte Einstellungen hier geändert, hat das keine Auswirkungen.";
+$a->strings["Advanced Permissions"] = "Zugriffsrechte für Fortgeschrittene";
+$a->strings["Simple Permissions (select one and submit)"] = "Einfache Berechtigungs-Einstellungen (wähle eine aus und klicke auf Senden)";
+$a->strings["Visit %s's profile - %s"] = "%ss Profil besuchen - %s";
+$a->strings["Block/Unblock contact"] = "Kontakt blockieren/freigeben";
+$a->strings["Ignore contact"] = "Kontakt ignorieren";
+$a->strings["Repair URL settings"] = "URL-Einstellungen reparieren";
+$a->strings["View conversations"] = "Unterhaltungen anzeigen";
+$a->strings["Delete contact"] = "Kontakt löschen";
+$a->strings["Last update:"] = "Letzte Aktualisierung:";
+$a->strings["Update public posts"] = "Öffentliche Beiträge aktualisieren";
+$a->strings["Update now"] = "Jetzt aktualisieren";
+$a->strings["Currently blocked"] = "Derzeit blockiert";
+$a->strings["Currently ignored"] = "Derzeit ignoriert";
+$a->strings["Currently archived"] = "Derzeit archiviert";
+$a->strings["Currently pending"] = "Derzeit anstehend";
+$a->strings["Red Matrix - &quot;The Network&quot;"] = "RedMatrix – &quot;Das Netzwerk&quot;";
+$a->strings["Welcome to %s"] = "Willkommen auf %s";
$a->strings["Continue"] = "Fortfahren";
$a->strings["Premium Channel Setup"] = "Premium-Kanal-Einrichtung";
$a->strings["Enable premium channel connection restrictions"] = "Einschränkungen für einen Premium-Kanal aktivieren";
@@ -961,22 +1029,12 @@ $a->strings["Potential connections will then see the following text before proce
$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Indem ich fortfahre, bestätige ich die Erfüllung aller Anweisungen auf dieser Seite.";
$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)";
$a->strings["Restricted or Premium Channel"] = "Eingeschränkter oder Premium-Kanal";
-$a->strings["Thing updated"] = "Sache aktualisiert";
-$a->strings["Object store: failed"] = "Speichern des Objekts fehlgeschlagen";
-$a->strings["Thing added"] = "Sache hinzugefügt";
-$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-$a->strings["Show Thing"] = "Sache anzeigen";
-$a->strings["item not found."] = "Eintrag nicht gefunden";
-$a->strings["Edit Thing"] = "Sache bearbeiten";
-$a->strings["Select a profile"] = "Wähle ein Profil";
-$a->strings["Post an activity"] = "Aktivitätsnachricht senden";
-$a->strings["Only sends to viewers of the applicable profile"] = "Nur an Betrachter des ausgewählten Profils senden";
-$a->strings["Name of thing e.g. something"] = "Name der Sache, z. B. irgendwas";
-$a->strings["URL of thing (optional)"] = "URL der Sache (optional)";
-$a->strings["URL for photo of thing (optional)"] = "URL eines Fotos der Sache (optional)";
-$a->strings["Add Thing to your Profile"] = "Die Sache Deinem Profil hinzufügen";
+$a->strings["Item is not editable"] = "Element kann nicht bearbeitet werden.";
+$a->strings["Edit post"] = "Bearbeite Beitrag";
+$a->strings["Delete item?"] = "Eintrag löschen?";
$a->strings["Item not available."] = "Element nicht verfügbar.";
$a->strings["Fetching URL returns error: %1\$s"] = "Abrufen der URL gab einen Fehler zurück: %1\$s";
+$a->strings["RedMatrix channel"] = "RedMatrix-Kanal";
$a->strings["Image uploaded but image cropping failed."] = "Bild hochgeladen, aber das Zurechtschneiden schlug fehl.";
$a->strings["Image resize failed."] = "Bild-Anpassung fehlgeschlagen.";
$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird.";
@@ -998,21 +1056,12 @@ $a->strings["Image size reduction [%s] failed."] = "Reduzierung der Bildgröße
$a->strings["Invalid item."] = "Ungültiges Element.";
$a->strings["Channel not found."] = "Kanal nicht gefunden.";
$a->strings["Page not found."] = "Seite nicht gefunden.";
-$a->strings["Like/Dislike"] = "Mögen/Nicht mögen";
-$a->strings["This action is restricted to members."] = "Diese Aktion kann nur von Mitgliedern ausgeführt werden.";
-$a->strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Um fortzufahren <a href=\"rmagic\">melde Dich bitte mit Deiner \$Projectname-ID an</a> oder <a href=\"register\">registriere Dich als neues \$Projectname-Mitglied</a>.";
-$a->strings["Invalid request."] = "Ungültige Anfrage.";
-$a->strings["thing"] = "Sache";
-$a->strings["Channel unavailable."] = "Kanal nicht vorhanden.";
-$a->strings["Previous action reversed."] = "Die vorherige Aktion wurde rückgängig gemacht.";
-$a->strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s stimmt %2\$ss %3\$s zu";
-$a->strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s lehnt %2\$ss %3\$s ab";
-$a->strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s enthält sich zu %2\$ss %3\$s";
-$a->strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s nimmt an %2\$ss %3\$s teil";
-$a->strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s nimmt an %2\$ss %3\$s nicht teil";
-$a->strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s nimmt vielleicht an %2\$ss %3\$s teil";
-$a->strings["Action completed."] = "Aktion durchgeführt.";
-$a->strings["Thank you."] = "Vielen Dank.";
+$a->strings["No such group"] = "Sammlung nicht gefunden";
+$a->strings["Search Results For:"] = "Suchergebnisse für:";
+$a->strings["Collection is empty"] = "Sammlung ist leer";
+$a->strings["Collection: "] = "Sammlung:";
+$a->strings["Connection: "] = "Verbindung:";
+$a->strings["Invalid connection."] = "Ungültige Verbindung.";
$a->strings["Event can not end before it has started."] = "Termin-Ende liegt vor dem Beginn.";
$a->strings["Unable to generate preview."] = "Vorschau konnte nicht erzeugt werden.";
$a->strings["Event title and start time are required."] = "Titel und Startzeit des Termins sind erforderlich.";
@@ -1039,7 +1088,7 @@ $a->strings["Title:"] = "Titel:";
$a->strings["Share this event"] = "Den Termin teilen";
$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s folgt nun %2\$ss %3\$s";
$a->strings["Public Sites"] = "Öffentliche Server";
-$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Die hier aufgeführten Server sind öffentlich und erlauben die Registrierung bei \$Projectname. Alle Server dieses Netzwerks sind miteinander verbunden, so dass die Mitgliedschaft auf einem Server eine Verbindung zu beliebigen anderen Servern ermöglicht. Es könnte sein, dass einige dieser Server kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den jeweiligen Seiten <strong>könnten</strong> nähere Details dazu stehen.";
+$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Die hier aufgeführten Server erlauben Dir, einen Account in der Red-Matrix anzulegen. Alle Server der Matrix sind miteinander verbunden, so dass die Mitgliedschaft auf einem Server eine Verbindung zu beliebigen anderen Servern der Matrix ermöglicht. Es könnte sein, dass einige dieser Server kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den jeweiligen Seiten <strong>könnten</strong> nähere Details dazu stehen.";
$a->strings["Rate this hub"] = "Bewerte diesen Hub";
$a->strings["Site URL"] = "Server-URL";
$a->strings["Access Type"] = "Zugangstyp";
@@ -1048,8 +1097,151 @@ $a->strings["Location"] = "Ort";
$a->strings["View hub ratings"] = "Bewertungen dieses Hubs ansehen";
$a->strings["Rate"] = "Bewerten";
$a->strings["View ratings"] = "Bewertungen ansehen";
-$a->strings["Edit post"] = "Bearbeite Beitrag";
-$a->strings["\$Projectname channel"] = "\$Projectname-Kanal";
+$a->strings["Name is required"] = "Name ist erforderlich";
+$a->strings["Key and Secret are required"] = "Schlüssel und Geheimnis werden benötigt";
+$a->strings["Diaspora Policy Settings updated."] = "Diaspora-Einstellungen aktualisiert.";
+$a->strings["Passwords do not match. Password unchanged."] = "Kennwörter stimmen nicht überein. Kennwort nicht verändert.";
+$a->strings["Empty passwords are not allowed. Password unchanged."] = "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert.";
+$a->strings["Password changed."] = "Kennwort geändert.";
+$a->strings["Password update failed. Please try again."] = "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal.";
+$a->strings["Not valid email."] = "Keine gültige E-Mail Adresse.";
+$a->strings["Protected email address. Cannot change to that email."] = "Geschützte E-Mail Adresse. Diese kann nicht verändert werden.";
+$a->strings["System failure storing new email. Please try again."] = "Systemfehler während des Speicherns der neuen Mail. Bitte versuche es noch einmal.";
+$a->strings["Settings updated."] = "Einstellungen aktualisiert.";
+$a->strings["Add application"] = "Anwendung hinzufügen";
+$a->strings["Name of application"] = "Name der Anwendung";
+$a->strings["Consumer Key"] = "Consumer Key";
+$a->strings["Automatically generated - change if desired. Max length 20"] = "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20";
+$a->strings["Consumer Secret"] = "Consumer Secret";
+$a->strings["Redirect"] = "Umleitung";
+$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert";
+$a->strings["Icon url"] = "Symbol-URL";
+$a->strings["Optional"] = "Optional";
+$a->strings["You can't edit this application."] = "Diese Anwendung kann nicht bearbeitet werden.";
+$a->strings["Connected Apps"] = "Verbundene Apps";
+$a->strings["Client key starts with"] = "Client Key beginnt mit";
+$a->strings["No name"] = "Kein Name";
+$a->strings["Remove authorization"] = "Authorisierung aufheben";
+$a->strings["No feature settings configured"] = "Keine Funktions-Einstellungen konfiguriert";
+$a->strings["Feature Settings"] = "Funktions-Einstellungen";
+$a->strings["Diaspora Policy Settings"] = "Diaspora-Einstellungen";
+$a->strings["Allow any Diaspora member to comment on your public posts."] = "Allen Diaspora-Mitgliedern erlauben, Deine öffentlichen Beiträge zu kommentieren.";
+$a->strings["Submit Diaspora Policy Settings"] = "Diaspora-Einstellungen speichern";
+$a->strings["Account Settings"] = "Konto-Einstellungen";
+$a->strings["Password Settings"] = "Kennwort-Einstellungen";
+$a->strings["New Password:"] = "Neues Passwort:";
+$a->strings["Confirm:"] = "Bestätigen:";
+$a->strings["Leave password fields blank unless changing"] = "Lasse die Passwort-Felder leer, außer Du möchtest das Passwort ändern";
+$a->strings["Email Address:"] = "Email Adresse:";
+$a->strings["Remove Account"] = "Konto entfernen";
+$a->strings["Remove this account from this server including all its channels"] = "Lösche dieses Konto einschließlich aller zugehörigen Kanäle von diesem Server";
+$a->strings["Warning: This action is permanent and cannot be reversed."] = "Achtung: Diese Aktion ist endgültig und kann nicht rückgängig gemacht werden.";
+$a->strings["Off"] = "Aus";
+$a->strings["On"] = "An";
+$a->strings["Additional Features"] = "Zusätzliche Funktionen";
+$a->strings["Connector Settings"] = "Connector-Einstellungen";
+$a->strings["No special theme for mobile devices"] = "Keine spezielle Theme für mobile Geräte";
+$a->strings["%s - (Experimental)"] = "%s – (experimentell)";
+$a->strings["mobile"] = "mobil";
+$a->strings["Display Settings"] = "Anzeige-Einstellungen";
+$a->strings["Display Theme:"] = "Anzeige-Theme:";
+$a->strings["Mobile Theme:"] = "Mobile Theme:";
+$a->strings["Enable user zoom on mobile devices"] = "Zoom auf Mobilgeräten aktivieren";
+$a->strings["Update browser every xx seconds"] = "Browser alle xx Sekunden aktualisieren";
+$a->strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 Sekunden, kein Maximum";
+$a->strings["Maximum number of conversations to load at any time:"] = "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:";
+$a->strings["Maximum of 100 items"] = "Maximum: 100 Beiträge";
+$a->strings["Don't show emoticons"] = "Emoticons nicht anzeigen";
+$a->strings["Link post titles to source"] = "Beitragstitel zum Originalbeitrag verlinken";
+$a->strings["System Page Layout Editor - (advanced)"] = "System-Seitenlayout-Editor (für Experten)";
+$a->strings["Use blog/list mode on channel page"] = "Blog-/Listenmodus auf der Kanalseite verwenden";
+$a->strings["(comments displayed separately)"] = "(Kommentare werden separat angezeigt)";
+$a->strings["Use blog/list mode on matrix page"] = "Blog-/Listenmodus auf der Matrixseite verwenden";
+$a->strings["Channel page max height of content (in pixels)"] = "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)";
+$a->strings["click to expand content exceeding this height"] = "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden.";
+$a->strings["Matrix page max height of content (in pixels)"] = "Maximale Höhe von Beitragsblöcken auf der Matrixseite (in Pixeln)";
+$a->strings["Nobody except yourself"] = "Niemand außer Dir selbst";
+$a->strings["Only those you specifically allow"] = "Nur die, denen Du es explizit erlaubst";
+$a->strings["Approved connections"] = "Angenommene Verbindungen";
+$a->strings["Any connections"] = "Beliebige Verbindungen";
+$a->strings["Anybody on this website"] = "Jeder auf dieser Website";
+$a->strings["Anybody in this network"] = "Alle Red-Nutzer";
+$a->strings["Anybody authenticated"] = "Jeder authentifizierte";
+$a->strings["Anybody on the internet"] = "Jeder im Internet";
+$a->strings["Publish your default profile in the network directory"] = "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen";
+$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?";
+$a->strings["Your channel address is"] = "Deine Kanal-Adresse lautet";
+$a->strings["Channel Settings"] = "Kanal-Einstellungen";
+$a->strings["Basic Settings"] = "Grundeinstellungen";
+$a->strings["Your Timezone:"] = "Ihre Zeitzone:";
+$a->strings["Default Post Location:"] = "Standardstandort:";
+$a->strings["Geographical location to display on your posts"] = "Geografischer Ort, der bei Deinen Beiträgen angezeigt werden soll";
+$a->strings["Use Browser Location:"] = "Standort des Browsers verwenden:";
+$a->strings["Adult Content"] = "Nicht jugendfreie Inhalte";
+$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Dieser Kanal veröffentlicht regelmäßig Inhalte, die für Minderjährige ungeeignet sind. (Bitte markiere solche Inhalte mit dem Schlagwort #NSFW)";
+$a->strings["Security and Privacy Settings"] = "Sicherheits- und Datenschutz-Einstellungen";
+$a->strings["Your permissions are already configured. Click to view/adjust"] = "Deine Zugriffsrechte sind schon konfiguriert. Klicke hier, um sie zu betrachten oder zu ändern";
+$a->strings["Hide my online presence"] = "Meine Online-Präsenz verbergen";
+$a->strings["Prevents displaying in your profile that you are online"] = "Verhindert die Anzeige Deines Online-Status in deinem Profil";
+$a->strings["Simple Privacy Settings:"] = "Einfache Privatsphäre-Einstellungen";
+$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Komplett offen – <em>extrem ungeschützt (mit großer Vorsicht verwenden!)</em>";
+$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Typisch – <em>Standard öffentlich, Privatsphäre, wo sie erwünscht ist (ähnlich den Einstellungen in sozialen Netzwerken, aber mit besser geschützter Privatsphäre)</em>";
+$a->strings["Private - <em>default private, never open or public</em>"] = "Privat – <em>Standard privat, nie offen oder öffentlich</em>";
+$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Blockiert – <em>Alle standardmäßig blockiert</em>";
+$a->strings["Allow others to tag your posts"] = "Erlaube anderen, Deine Beiträge zu verschlagworten";
+$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren";
+$a->strings["Advanced Privacy Settings"] = "Fortgeschrittene Privatsphäre-Einstellungen";
+$a->strings["Expire other channel content after this many days"] = "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen";
+$a->strings["0 or blank prevents expiration"] = "0 oder kein Inhalt verhindern das Verfallen";
+$a->strings["Maximum Friend Requests/Day:"] = "Maximale Kontaktanfragen pro Tag:";
+$a->strings["May reduce spam activity"] = "Kann die Spam-Aktivität verringern";
+$a->strings["Default Post Permissions"] = "Standardeinstellungen für Beitrags-Zugriffsrechte";
+$a->strings["(click to open/close)"] = "(zum öffnen/schließen anklicken)";
+$a->strings["Channel permissions category:"] = "Zugriffsrechte-Kategorie des Kanals:";
+$a->strings["Maximum private messages per day from unknown people:"] = "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:";
+$a->strings["Useful to reduce spamming"] = "Nützlich, um Spam zu verringern";
+$a->strings["Notification Settings"] = "Benachrichtigungs-Einstellungen";
+$a->strings["By default post a status message when:"] = "Sende standardmäßig Status-Nachrichten, wenn:";
+$a->strings["accepting a friend request"] = "Du eine Verbindungsanfrage annimmst";
+$a->strings["joining a forum/community"] = "Du einem Forum beitrittst";
+$a->strings["making an <em>interesting</em> profile change"] = "Du eine <em>interessante</em> Änderung an Deinem Profil vornimmst";
+$a->strings["Send a notification email when:"] = "Eine E-Mail-Benachrichtigung senden, wenn:";
+$a->strings["You receive a connection request"] = "Du eine Verbindungsanfrage erhältst";
+$a->strings["Your connections are confirmed"] = "Eine Verbindung bestätigt wurde";
+$a->strings["Someone writes on your profile wall"] = "Jemand auf Deine Pinnwand schreibt";
+$a->strings["Someone writes a followup comment"] = "Jemand einen Beitrag kommentiert";
+$a->strings["You receive a private message"] = "Du eine private Nachricht erhältst";
+$a->strings["You receive a friend suggestion"] = "Du einen Kontaktvorschlag erhältst";
+$a->strings["You are tagged in a post"] = "Du in einem Beitrag erwähnt wurdest";
+$a->strings["You are poked/prodded/etc. in a post"] = "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest";
+$a->strings["Show visual notifications including:"] = "Visuelle Benachrichtigungen anzeigen für:";
+$a->strings["Unseen matrix activity"] = "Ungesehene Matrix-Aktivität";
+$a->strings["Unseen channel activity"] = "Ungesehene Kanal-Aktivität";
+$a->strings["Unseen private messages"] = "Ungelesene persönliche Nachrichten";
+$a->strings["Recommended"] = "Empfohlen";
+$a->strings["Upcoming events"] = "Baldige Termine";
+$a->strings["Events today"] = "Heutige Termine";
+$a->strings["Upcoming birthdays"] = "Baldige Geburtstage";
+$a->strings["Not available in all themes"] = "Nicht in allen Themes verfügbar";
+$a->strings["System (personal) notifications"] = "System – (persönliche) Benachrichtigungen";
+$a->strings["System info messages"] = "System – Info-Nachrichten";
+$a->strings["System critical alerts"] = "System – kritische Warnungen";
+$a->strings["New connections"] = "Neue Verbindungen";
+$a->strings["System Registrations"] = "System – Registrierungen";
+$a->strings["Also show new wall posts, private messages and connections under Notices"] = "Zeigt neue Pinnwand-Nachrichten, private Nachrichten und Verbindungen unter Benachrichtigungen an";
+$a->strings["Notify me of events this many days in advance"] = "Benachrichtige mich zu Terminen so viele Tage im Voraus";
+$a->strings["Must be greater than 0"] = "Muss größer als 0 sein";
+$a->strings["Advanced Account/Page Type Settings"] = "Erweiterte Account- und Seitenart-Einstellungen";
+$a->strings["Change the behaviour of this account for special situations"] = "Ändere das Verhalten dieses Accounts unter speziellen Umständen";
+$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Aktiviere den Expertenmodus (unter <a href=\"settings/features\">Settings > Zusätzliche Funktionen</a>), um hier Einstellungen vorzunehmen!";
+$a->strings["Miscellaneous Settings"] = "Sonstige Einstellungen";
+$a->strings["Personal menu to display in your channel pages"] = "Eigenes Menü zur Anzeige auf den Seiten deines Kanals";
+$a->strings["Remove this channel"] = "Diesen Kanal löschen";
+$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "RedMatrix – Gäste: Username: {Deine E-Mail-Adresse}, Passwort: +++";
+$a->strings["Tag removed"] = "Schlagwort entfernt";
+$a->strings["Remove Item Tag"] = "Schlagwort entfernen";
+$a->strings["Select a tag to remove: "] = "Schlagwort zum Entfernen auswählen:";
+$a->strings["Remove"] = "Entferne";
$a->strings["Collection created."] = "Sammlung erstellt.";
$a->strings["Could not create collection."] = "Sammlung kann nicht erstellt werden.";
$a->strings["Collection updated."] = "Sammlung aktualisiert.";
@@ -1065,37 +1257,105 @@ $a->strings["Click on a channel to add or remove."] = "Wähle einen Kanal zum hi
$a->strings["Version %s"] = "Version %s";
$a->strings["Installed plugins/addons/apps:"] = "Installierte Plugins/Addons/Apps";
$a->strings["No installed plugins/addons/apps"] = "Keine installierten Plugins/Addons/Apps";
-$a->strings["\$Projectname"] = "\$Projectname";
-$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Dieser Hub ist Teil von \$Projectname – ein globales, kooperatives Netzwerk aus dezentralen Websites, die Rücksicht auf Deine Privatsphäre nehmen.";
+$a->strings["Red"] = "Red";
+$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Dieser Hub ist Teil der RedMatrix – eines globalen, kooperativen Netzwerks aus dezentralen Websites, die Rücksicht auf Deine Privatsphäre nehmen.";
$a->strings["Tag: "] = "Schlagwort: ";
$a->strings["Last background fetch: "] = "Letzter Hintergrundabruf:";
$a->strings["Running at web location"] = "Erreichbar unter der Web-Adresse";
-$a->strings["Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more about \$Projectname."] = "Bitte besuchen Sie <a href=\"https://redmatrix.me\">redmatrix.me</a>, um mehr über \$Projectname zu erfahren.";
+$a->strings["Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more about the Red Matrix."] = "Bitte besuchen Sie <a href=\"https://redmatrix.me\">RedMatrix.me</a>, um mehr über RedMatrix zu erfahren.";
$a->strings["Bug reports and issues: please visit"] = "Probleme oder Fehler gefunden? Bitte besuche";
-$a->strings["\$projectname issues"] = "\$projectname-Bugtracker";
$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Vorschläge, Lob, usw.: E-Mail an 'redmatrix' at librelist - dot - com";
$a->strings["Site Administrators"] = "Administratoren";
$a->strings["Help:"] = "Hilfe:";
$a->strings["Not Found"] = "Nicht gefunden";
-$a->strings["No such group"] = "Sammlung nicht gefunden";
-$a->strings["No such channel"] = "Kanal nicht gefunden";
-$a->strings["Search Results For:"] = "Suchergebnisse für:";
-$a->strings["Collection is empty"] = "Sammlung ist leer";
-$a->strings["Collection: "] = "Sammlung:";
-$a->strings["Connection: "] = "Verbindung:";
-$a->strings["Invalid connection."] = "Ungültige Verbindung.";
+$a->strings["Red Matrix Server - Setup"] = "Red Matrix Server - Installation";
+$a->strings["Could not connect to database."] = "Kann nicht mit der Datenbank verbinden.";
+$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS.";
+$a->strings["Could not create table."] = "Kann Tabelle nicht erstellen.";
+$a->strings["Your site database has been installed."] = "Die Datenbank Deines Hubs wurde installiert.";
+$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren.";
+$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Lies die Datei \"install/INSTALL.txt\".";
+$a->strings["System check"] = "Systemprüfung";
+$a->strings["Check again"] = "Bitte nochmal prüfen";
+$a->strings["Database connection"] = "Datenbank Verbindung";
+$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "Um die Red-Matrix installieren zu können, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können.";
+$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast.";
+$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst.";
+$a->strings["Database Server Name"] = "Datenbank-Servername";
+$a->strings["Default is localhost"] = "Standard ist localhost";
+$a->strings["Database Port"] = "Datenbank-Port";
+$a->strings["Communication port number - use 0 for default"] = "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung";
+$a->strings["Database Login Name"] = "Datenbank-Benutzername";
+$a->strings["Database Login Password"] = "Datenbank-Kennwort";
+$a->strings["Database Name"] = "Datenbank-Name";
+$a->strings["Database Type"] = "Datenbanktyp";
+$a->strings["Site administrator email address"] = "E-Mail Adresse des Seiten-Administrators";
+$a->strings["Your account email address must match this in order to use the web admin panel."] = "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst.";
+$a->strings["Website URL"] = "Server-URL";
+$a->strings["Please use SSL (https) URL if available."] = "Nutze wenn möglich eine SSL-URL (https).";
+$a->strings["Please select a default timezone for your website"] = "Standard-Zeitzone für Deinen Server";
+$a->strings["Site settings"] = "Seiteneinstellungen";
+$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden.";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen.";
+$a->strings["PHP executable path"] = "PHP Pfad zu ausführbarer Datei";
+$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren.";
+$a->strings["Command line PHP"] = "PHP Befehlszeile";
+$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert.";
+$a->strings["This is required for message delivery to work."] = "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert.";
+$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen.";
+$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung.";
+$a->strings["Generate encryption keys"] = "Verschlüsselungsschlüssel generieren";
+$a->strings["libCurl PHP module"] = "libCurl-PHP-Modul";
+$a->strings["GD graphics PHP module"] = "GD-Grafik-PHP-Modul";
+$a->strings["OpenSSL PHP module"] = "OpenSSL-PHP-Modul";
+$a->strings["mysqli or postgres PHP module"] = "mysqli oder postgres PHP-Modul";
+$a->strings["mb_string PHP module"] = "mb_string-PHP-Modul";
+$a->strings["mcrypt PHP module"] = "mcrypt-PHP-Modul";
+$a->strings["Apache mod_rewrite module"] = "Apache-mod_rewrite-Modul";
+$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert.";
+$a->strings["proc_open"] = "proc_open";
+$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert";
+$a->strings["Error: libCURL PHP module required but not installed."] = "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert.";
+$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert.";
+$a->strings["Error: openssl PHP module required but not installed."] = "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert.";
+$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert.";
+$a->strings["Error: mb_string PHP module required but not installed."] = "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert.";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "Fehler: Das PHP-Modul mcrypt wird benötigt, ist aber nicht installiert.";
+$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht.";
+$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst.";
+$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Red-Installation speichern musst.";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt.";
+$a->strings[".htconfig.php is writable"] = ".htconfig.php ist beschreibbar";
+$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen.";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Red-Installationsverzeichnisses.";
+$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat.";
+$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht auf die Template-Dateien (.tpl), die das Verzeichnis enthält.";
+$a->strings["%s is writable"] = "%s ist beschreibbar";
+$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red-Stammverzeichnisses";
+$a->strings["store is writable"] = "store ist schreibbar";
+$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server.";
+$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich.";
+$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können.";
+$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer Red-Server (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird).";
+$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen.";
+$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind.";
+$a->strings["SSL certificate validation"] = "SSL Zertifikatverifizierung";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:";
+$a->strings["Url rewrite is working"] = "Url rewrite funktioniert";
+$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen.";
+$a->strings["Errors encountered creating database tables."] = "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten.";
+$a->strings["<h1>What next</h1>"] = "<h1>Was als Nächstes</h1>";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten.";
$a->strings["No channel."] = "Kein Kanal.";
$a->strings["Common connections"] = "Gemeinsame Verbindungen";
$a->strings["No connections in common."] = "Keine gemeinsamen Verbindungen.";
-$a->strings["This site is not a directory server"] = "Diese Website ist kein Verzeichnis-Server";
-$a->strings["Could not access contact record."] = "Konnte nicht auf den Kontakteintrag zugreifen.";
-$a->strings["Could not locate selected profile."] = "Gewähltes Profil nicht gefunden.";
-$a->strings["Connection updated."] = "Verbindung aktualisiert.";
-$a->strings["Failed to update connection record."] = "Konnte den Verbindungseintrag nicht aktualisieren.";
+$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal.";
$a->strings["Blocked"] = "Blockiert";
$a->strings["Ignored"] = "Ignoriert";
$a->strings["Hidden"] = "Versteckt";
$a->strings["Archived"] = "Archiviert";
+$a->strings["All"] = "Alle";
$a->strings["Suggest new connections"] = "Neue Verbindungen vorschlagen";
$a->strings["New Connections"] = "Neue Verbindungen";
$a->strings["Show pending (new) connections"] = "Ausstehende (neue) Verbindungsanfragen anzeigen";
@@ -1111,67 +1371,57 @@ $a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
$a->strings["Edit connection"] = "Verbindung bearbeiten";
$a->strings["Search your connections"] = "Verbindungen durchsuchen";
$a->strings["Finding: "] = "Ergebnisse:";
-$a->strings["Block Name"] = "Datenblockname";
-$a->strings["Block Title"] = "Titel des Blocks";
+$a->strings["webpage"] = "Webseite";
+$a->strings["block"] = "Block";
+$a->strings["layout"] = "Layout";
+$a->strings["%s element installed"] = "Element für %s installiert";
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s hat %2\$ss %3\$s mit %4\$s verschlagwortet";
-$a->strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "\$Projectname-Gäste: Benutzername: {Ihre E-Mail-Adresse}, Passwort: +++";
-$a->strings["Page owner information could not be retrieved."] = "Informationen über den Besitzer der Seite konnten nicht gefunden werden.";
-$a->strings["Album not found."] = "Album nicht gefunden.";
-$a->strings["Delete Album"] = "Album löschen";
-$a->strings["Delete Photo"] = "Foto löschen";
+$a->strings["Unable to locate original post."] = "Originalbeitrag nicht gefunden.";
+$a->strings["Empty post discarded."] = "Leeren Beitrag verworfen.";
+$a->strings["Executable content type not permitted to this channel."] = "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben.";
+$a->strings["System error. Post not saved."] = "Systemfehler. Beitrag nicht gespeichert.";
+$a->strings["You have reached your limit of %1$.0f top level posts."] = "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht.";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht.";
$a->strings["Public access denied."] = "Öffentlicher Zugang verweigert.";
-$a->strings["No photos selected"] = "Keine Fotos ausgewählt";
-$a->strings["Access to this item is restricted."] = "Der Zugriff auf dieses Foto ist eingeschränkt.";
-$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB von %2$.2f MB Foto-Speicher belegt.";
-$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB Foto-Speicher belegt.";
-$a->strings["Upload Photos"] = "Fotos hochladen";
-$a->strings["Enter a new album name"] = "Gib einen Namen für ein neues Album ein";
-$a->strings["or select an existing one (doubleclick)"] = "oder wähle ein bereits vorhandenes aus (Doppelklick)";
-$a->strings["Create a status post for this upload"] = "Einen Statusbeitrag für diesen Upload erzeugen";
-$a->strings["Album name could not be decoded"] = "Albumname konnte nicht dekodiert werden";
-$a->strings["Contact Photos"] = "Kontakt-Bilder";
-$a->strings["Show Newest First"] = "Neueste zuerst anzeigen";
-$a->strings["Show Oldest First"] = "Älteste zuerst anzeigen";
-$a->strings["View Photo"] = "Foto ansehen";
-$a->strings["Edit Album"] = "Album bearbeiten";
-$a->strings["Permission denied. Access to this item may be restricted."] = "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden.";
-$a->strings["Photo not available"] = "Foto nicht verfügbar";
-$a->strings["Use as profile photo"] = "Als Profilfoto verwenden";
-$a->strings["Private Photo"] = "Privates Foto";
-$a->strings["View Full Size"] = "In voller Größe anzeigen";
-$a->strings["Edit photo"] = "Foto bearbeiten";
-$a->strings["Rotate CW (right)"] = "Drehen im UZS (rechts)";
-$a->strings["Rotate CCW (left)"] = "Drehen gegen UZS (links)";
-$a->strings["Caption"] = "Bildunterschrift";
-$a->strings["Add a Tag"] = "Schlagwort hinzufügen";
-$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Beispiele: @ben, @Karl_Prester, @lieschen@example.com";
-$a->strings["Flag as adult in album view"] = "In der Albumansicht als nicht jugendfrei markieren";
-$a->strings["In This Photo:"] = "Auf diesem Foto:";
-$a->strings["Map"] = "Karte";
-$a->strings["View Album"] = "Album ansehen";
-$a->strings["Recent Photos"] = "Neueste Fotos";
-$a->strings["Items tagged with: %s"] = "Beiträge mit Schlagwort: %s";
-$a->strings["Search results for: %s"] = "Suchergebnisse für: %s";
-$a->strings["Profile Match"] = "Profil-Übereinstimmungen";
-$a->strings["No keywords to match. Please add keywords to your default profile."] = "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu.";
-$a->strings["is interested in:"] = "interessiert sich für:";
-$a->strings["No matches"] = "Keine Übereinstimmungen";
+$a->strings["Thing updated"] = "Sache aktualisiert";
+$a->strings["Object store: failed"] = "Speichern des Objekts fehlgeschlagen";
+$a->strings["Thing added"] = "Sache hinzugefügt";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+$a->strings["Show Thing"] = "Sache anzeigen";
+$a->strings["item not found."] = "Eintrag nicht gefunden";
+$a->strings["Edit Thing"] = "Sache bearbeiten";
+$a->strings["Select a profile"] = "Wähle ein Profil";
+$a->strings["Post an activity"] = "Aktivitätsnachricht senden";
+$a->strings["Only sends to viewers of the applicable profile"] = "Nur an Betrachter des ausgewählten Profils senden";
+$a->strings["Name of thing e.g. something"] = "Name der Sache, z. B. irgendwas";
+$a->strings["URL of thing (optional)"] = "URL der Sache (optional)";
+$a->strings["URL for photo of thing (optional)"] = "URL eines Fotos der Sache (optional)";
+$a->strings["Add Thing to your Profile"] = "Die Sache Deinem Profil hinzufügen";
$a->strings["Away"] = "Abwesend";
$a->strings["Online"] = "Online";
-$a->strings["Select a bookmark folder"] = "Lesezeichenordner wählen";
-$a->strings["Save Bookmark"] = "Lesezeichen speichern";
-$a->strings["URL of bookmark"] = "URL des Lesezeichens";
-$a->strings["Description"] = "Beschreibung";
-$a->strings["Or enter new bookmark folder name"] = "Oder gib einen neuen Namen für den Lesezeichenordner ein";
+$a->strings["Channel added."] = "Kanal hinzugefügt.";
$a->strings["No more system notifications."] = "Keine System-Benachrichtigungen mehr.";
$a->strings["System Notifications"] = "System-Benachrichtigungen";
$a->strings["network"] = "Netzwerk";
$a->strings["RSS"] = "RSS";
-$a->strings["Layout updated."] = "Gestaltung aktualisiert.";
+$a->strings["Layout updated."] = "Layout aktualisiert.";
$a->strings["Edit System Page Description"] = "Systemseitenbeschreibung bearbeiten";
-$a->strings["Layout not found."] = "Gestaltung nicht gefunden.";
+$a->strings["Layout not found."] = "Layout nicht gefunden.";
$a->strings["Module Name:"] = "Modulname:";
-$a->strings["Layout Help"] = "Gestaltungshilfe";
+$a->strings["Layout Help"] = "Layout-Hilfe";
+$a->strings["App installed."] = "App installiert.";
+$a->strings["Malformed app."] = "Fehlerhafte App.";
+$a->strings["Embed code"] = "Code einbetten";
+$a->strings["Edit App"] = "App bearbeiten";
+$a->strings["Create App"] = "App erstellen";
+$a->strings["Name of app"] = "Name der App";
+$a->strings["Location (URL) of app"] = "Ort (URL) der App";
+$a->strings["Description"] = "Beschreibung";
+$a->strings["Photo icon URL"] = "URL zum Icon";
+$a->strings["80 x 80 pixels - optional"] = "80 x 80 Pixel – optional";
+$a->strings["Version ID"] = "Versions-ID";
+$a->strings["Price of app"] = "Preis der App";
+$a->strings["Location (URL) to purchase app"] = "Ort (URL), um die App zu kaufen";
$a->strings["- select -"] = "– auswählen –";
$a->strings["Your service plan only allows %d channels."] = "Dein Vertrag erlaubt nur %d Kanäle.";
$a->strings["Nothing to import."] = "Nichts zu importieren.";
@@ -1193,14 +1443,9 @@ $a->strings["Your old login password"] = "Dein altes Passwort";
$a->strings["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 able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Egal, welche Option Du wählst – bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige Red-Server diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein.";
$a->strings["Make this hub my primary location"] = "Dieser Red-Server ist mein primärer Server.";
$a->strings["Import existing posts if possible"] = "Existierende Beiträge importieren, falls möglich";
-$a->strings["Item not found"] = "Element nicht gefunden";
-$a->strings["Edit Layout"] = "Gestaltung bearbeiten";
-$a->strings["Delete layout?"] = "Gestaltung löschen?";
-$a->strings["Insert YouTube video"] = "YouTube-Video einfügen";
-$a->strings["Insert Vorbis [.ogg] video"] = "Vorbis [.ogg]-Video einfügen";
-$a->strings["Insert Vorbis [.ogg] audio"] = "Vorbis [.ogg]-Audio einfügen";
-$a->strings["Layout Description (Optional)"] = "Gestaltungsbeschreibung (Optional)";
-$a->strings["Layout Name"] = "Gestaltungsname";
+$a->strings["Edit Layout"] = "Layout bearbeiten";
+$a->strings["Delete layout?"] = "Layout löschen?";
+$a->strings["Delete Layout"] = "Layout löschen";
$a->strings["You must be logged in to see this page."] = "Du musst angemeldet sein, um diese Seite betrachten zu können.";
$a->strings["Room not found"] = "Chatraum nicht gefunden";
$a->strings["Leave Room"] = "Raum verlassen";
@@ -1211,10 +1456,10 @@ $a->strings["Bookmark this room"] = "Lesezeichen für diesen Raum setzen";
$a->strings["New Chatroom"] = "Neuer Chatraum";
$a->strings["Chatroom Name"] = "Name des Chatraums";
$a->strings["%1\$s's Chatrooms"] = "%1\$ss Chaträume";
-$a->strings["Delete webpage?"] = "Webseite löschen?";
-$a->strings["Page link title"] = "Seitentitel-Link";
$a->strings["Edit Webpage"] = "Webseite bearbeiten";
-$a->strings["This directory server requires an access token"] = "Dieser Verzeichnis-Server benötigt ein Zugangstoken";
+$a->strings["Delete webpage?"] = "Webseite löschen?";
+$a->strings["Delete Webpage"] = "Webseite löschen";
+$a->strings["This site is not a directory server"] = "Diese Website ist kein Verzeichnis-Server";
$a->strings["No valid account found."] = "Kein gültiges Konto gefunden.";
$a->strings["Password reset request issued. Check your email."] = "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails.";
$a->strings["Site Member (%s)"] = "Nutzer (%s)";
@@ -1225,7 +1470,7 @@ $a->strings["Your password has been reset as requested."] = "Dein Passwort wurde
$a->strings["Your new password is"] = "Dein neues Passwort lautet";
$a->strings["Save or copy your new password - and then"] = "Speichere oder kopiere Dein neues Passwort – und dann";
$a->strings["click here to login"] = "Klicke hier, um dich anzumelden";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Ihr Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden.";
+$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden.";
$a->strings["Your password has changed at %s"] = "Auf %s wurde Dein Passwort geändert";
$a->strings["Forgot your Password?"] = "Kennwort vergessen?";
$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail.";
@@ -1233,10 +1478,6 @@ $a->strings["Email Address"] = "E-Mail Adresse";
$a->strings["Reset"] = "Zurücksetzen";
$a->strings["Website:"] = "Webseite:";
$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Kanal [%s] (auf diesem Server noch unbekannt)";
-$a->strings["Rating (this information is public)"] = "Bewertung (öffentlich sichtbar)";
-$a->strings["Optionally explain your rating (this information is public)"] = "Optional kannst du deine Bewertung erklären (öffentlich sichtbar)";
-$a->strings["Item is not editable"] = "Element kann nicht bearbeitet werden.";
-$a->strings["Delete item?"] = "Eintrag löschen?";
$a->strings["Total invitation limit exceeded."] = "Einladungslimit überschritten.";
$a->strings["%s : Not a valid email address."] = "%s : Keine gültige Email Adresse.";
$a->strings["Please join us on Red"] = "Schließe Dich uns an und werde Teil der Red-Matrix";
@@ -1250,10 +1491,10 @@ $a->strings["You have no more invitations available"] = "Du hast keine weiteren
$a->strings["Send invitations"] = "Einladungen senden";
$a->strings["Enter email addresses, one per line:"] = "Email-Adressen eintragen, eine pro Zeile:";
$a->strings["Your message:"] = "Deine Nachricht:";
-$a->strings["Please join my community on \$Projectname."] = "Schließe Dich uns auf \$Projectname an!";
+$a->strings["Please join my community on RedMatrix."] = "Schließe Dich uns in der RedMatrix an!";
$a->strings["You will need to supply this invitation code: "] = "Gib folgenden Einladungs-Code ein:";
-$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registriere Dich auf irgendeinem \$Projectname-Server (sie sind alle miteinander verbunden)";
-$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Gib meine \$Projectname-Adresse im Suchfeld ein.";
+$a->strings["1. Register at any RedMatrix location (they are all inter-connected)"] = "1. Registriere Dich auf irgendeinem RedMatrix-Server (sie sind alle miteinander verbunden)";
+$a->strings["2. Enter my RedMatrix network address into the site searchbar."] = "2. Gib meine RedMatrix-Adresse im Suchfeld ein.";
$a->strings["or visit "] = "oder besuche";
$a->strings["3. Click [Connect]"] = "3. Klicke auf [Verbinden]";
$a->strings["Location not found."] = "Klon nicht gefunden.";
@@ -1269,7 +1510,7 @@ $a->strings["Source updated."] = "Quelle aktualisiert.";
$a->strings["*"] = "*";
$a->strings["Manage remote sources of content for your channel."] = "Externe Inhaltsquellen für Deinen Kanal verwalten.";
$a->strings["New Source"] = "Neue Quelle";
-$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importieren Sie alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteilen Sie sie gemäß der Ihrer Kanaleinstellungen.";
+$a->strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importiere alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteile sie gemäß der Einstellungen dieses Kanals.";
$a->strings["Only import content with these words (one per line)"] = "Importiere nur Beiträge, die folgende Wörter (eines pro Zeile) enthalten";
$a->strings["Leave blank to import all public content"] = "Leer lassen, um alle öffentlichen Beiträge zu importieren";
$a->strings["Channel Name"] = "Name des Kanals";
@@ -1278,29 +1519,30 @@ $a->strings["Edit Source"] = "Quelle bearbeiten";
$a->strings["Delete Source"] = "Quelle löschen";
$a->strings["Source removed"] = "Quelle gelöscht";
$a->strings["Unable to remove source."] = "Konnte die Quelle nicht löschen.";
+$a->strings["Menu updated."] = "Menü aktualisiert.";
$a->strings["Unable to update menu."] = "Kann Menü nicht aktualisieren.";
+$a->strings["Menu created."] = "Menü erstellt.";
$a->strings["Unable to create menu."] = "Kann Menü nicht erstellen.";
-$a->strings["Menu Name"] = "Name des Menüs";
-$a->strings["Unique name (not visible on webpage) - required"] = "Eindeutiger Name (nicht sichtbar auf der Webseite) – erforderlich";
-$a->strings["Menu Title"] = "Menütitel";
-$a->strings["Visible on webpage - leave empty for no title"] = "Sichtbar auf der Webseite – für keinen Titel leer lassen";
-$a->strings["Allow Bookmarks"] = "Lesezeichen erlauben";
-$a->strings["Menu may be used to store saved bookmarks"] = "Im Menü können gespeicherte Lesezeichen abgelegt werden";
-$a->strings["Submit and proceed"] = "Absenden und fortfahren";
+$a->strings["Manage Menus"] = "Menüs verwalten";
$a->strings["Drop"] = "Löschen";
$a->strings["Bookmarks allowed"] = "Lesezeichen erlaubt";
+$a->strings["Create a new menu"] = "Neues Menü erstellen";
$a->strings["Delete this menu"] = "Lösche dieses Menü";
$a->strings["Edit menu contents"] = "Bearbeite Menü Inhalte";
$a->strings["Edit this menu"] = "Dieses Menü bearbeiten";
-$a->strings["Menu could not be deleted."] = "Menü konnte nicht gelöscht werden.";
-$a->strings["Menu not found."] = "Menü nicht gefunden";
-$a->strings["Edit Menu"] = "Menü bearbeiten";
-$a->strings["Add or remove entries to this menu"] = "Einträge zu diesem Menü hinzufügen oder entfernen";
+$a->strings["New Menu"] = "Neues Menü";
$a->strings["Menu name"] = "Menü Name";
$a->strings["Must be unique, only seen by you"] = "Muss eindeutig sein, ist aber nur für Dich sichtbar";
$a->strings["Menu title"] = "Menü Titel";
$a->strings["Menu title as seen by others"] = "Menü Titel wie er von anderen gesehen wird";
$a->strings["Allow bookmarks"] = "Erlaube Lesezeichen";
+$a->strings["Menu may be used to store saved bookmarks"] = "Im Menü können gespeicherte Lesezeichen abgelegt werden";
+$a->strings["Menu not found."] = "Menü nicht gefunden";
+$a->strings["Menu deleted."] = "Menü gelöscht.";
+$a->strings["Menu could not be deleted."] = "Menü konnte nicht gelöscht werden.";
+$a->strings["Edit Menu"] = "Menü bearbeiten";
+$a->strings["Add or remove entries to this menu"] = "Einträge zu diesem Menü hinzufügen oder entfernen";
+$a->strings["Modify"] = "Ändern";
$a->strings["Permission Denied."] = "Zugriff verweigert.";
$a->strings["File not found."] = "Datei nicht gefunden.";
$a->strings["Edit file permissions"] = "Dateiberechtigungen bearbeiten";
@@ -1309,9 +1551,9 @@ $a->strings["Include all files and sub folders"] = "Alle Dateien und Unterverzei
$a->strings["Return to file list"] = "Zurück zur Dateiliste";
$a->strings["Copy/paste this code to attach file to a post"] = "Diesen Code kopieren und einfügen, um die Datei an einen Beitrag anzuhängen";
$a->strings["Copy/paste this URL to link file from a web page"] = "Diese URL verwenden, um von einer Webseite aus auf die Datei zu verlinken";
-$a->strings["Share this file"] = "Diese Datei freigeben";
+$a->strings["Attach this file to a new post"] = "Diese Datei an einen neuen Beitrag anhängen";
$a->strings["Show URL to this file"] = "URL zu dieser Datei anzeigen";
-$a->strings["Notify your contacts about this file"] = "Meine Kontakte über diese Datei benachrichtigen";
+$a->strings["Do not show in shared with me folder of your connections"] = "Nicht im Ordner „Dateien, die mit mir geteilt wurden“ meiner Verbindungen anzeigen";
$a->strings["Contact not found."] = "Kontakt nicht gefunden";
$a->strings["Friend suggestion sent."] = "Freundschaftsempfehlung senden.";
$a->strings["Suggest Friends"] = "Kontakte vorschlagen";
@@ -1326,15 +1568,15 @@ $a->strings["Invalid profile identifier."] = "Ungültiger Profil-Identifikator";
$a->strings["Profile Visibility Editor"] = "Profil-Sichtbarkeits-Editor";
$a->strings["Click on a contact to add or remove."] = "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen.";
$a->strings["Visible To"] = "Sichtbar für";
-$a->strings["%s element installed"] = "Element für %s installiert";
-$a->strings["%s element installation failed"] = "Installation des Elements %s ist fehlgeschlagen";
+$a->strings["Remote privacy information not available."] = "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar.";
+$a->strings["Visible to:"] = "Sichtbar für:";
$a->strings["Profile not found."] = "Profil nicht gefunden.";
$a->strings["Profile deleted."] = "Profil gelöscht.";
$a->strings["Profile-"] = "Profil-";
$a->strings["New profile created."] = "Neues Profil erstellt.";
$a->strings["Profile unavailable to clone."] = "Profil kann nicht geklont werden.";
$a->strings["Profile unavailable to export."] = "Dieses Profil kann nicht exportiert werden.";
-$a->strings["Profile Name is required."] = "Profilname ist erforderlich.";
+$a->strings["Profile Name is required."] = "Profil-Name erforderlich.";
$a->strings["Marital Status"] = "Familienstand";
$a->strings["Romantic Partner"] = "Romantische Partner";
$a->strings["Likes"] = "Gefällt";
@@ -1397,93 +1639,14 @@ $a->strings["Ratings"] = "Bewertungen";
$a->strings["Rating: "] = "Bewertung: ";
$a->strings["Website: "] = "Webseite: ";
$a->strings["Description: "] = "Beschreibung: ";
-$a->strings["Source of Item"] = "Quelle des Elements";
-$a->strings["\$Projectname Server - Setup"] = "\$Projectname Server-Einrichtung";
-$a->strings["Could not connect to database."] = "Kann nicht mit der Datenbank verbinden.";
-$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS.";
-$a->strings["Could not create table."] = "Kann Tabelle nicht erstellen.";
-$a->strings["Your site database has been installed."] = "Die Datenbank Deines Hubs wurde installiert.";
-$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren.";
-$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Lies die Datei \"install/INSTALL.txt\".";
-$a->strings["System check"] = "Systemprüfung";
-$a->strings["Check again"] = "Bitte nochmal prüfen";
-$a->strings["Database connection"] = "Datenbank Verbindung";
-$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "Um \$Projectname installieren zu können, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können.";
-$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Bitte kontaktieren Sie Ihren Hosting-Provider oder Administrator, falls Sie Fragen zu diesen Einstellungen haben.";
-$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst.";
-$a->strings["Database Server Name"] = "Datenbank-Servername";
-$a->strings["Default is localhost"] = "Standard ist localhost";
-$a->strings["Database Port"] = "Datenbank-Port";
-$a->strings["Communication port number - use 0 for default"] = "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung";
-$a->strings["Database Login Name"] = "Datenbank-Benutzername";
-$a->strings["Database Login Password"] = "Datenbank-Kennwort";
-$a->strings["Database Name"] = "Datenbank-Name";
-$a->strings["Database Type"] = "Datenbanktyp";
-$a->strings["Site administrator email address"] = "E-Mail Adresse des Seiten-Administrators";
-$a->strings["Your account email address must match this in order to use the web admin panel."] = "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst.";
-$a->strings["Website URL"] = "Server-URL";
-$a->strings["Please use SSL (https) URL if available."] = "Nutze wenn möglich eine SSL-URL (https).";
-$a->strings["Please select a default timezone for your website"] = "Standard-Zeitzone für Deinen Server";
-$a->strings["Site settings"] = "Seiteneinstellungen";
-$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden.";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen.";
-$a->strings["PHP executable path"] = "PHP Pfad zu ausführbarer Datei";
-$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren.";
-$a->strings["Command line PHP"] = "PHP Befehlszeile";
-$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert.";
-$a->strings["This is required for message delivery to work."] = "Das ist für die funktionierende Auslieferung von Nachrichten erforderlich.";
-$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-$a->strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "Die Maximalgröße für Uploads insgesamt liegt bei %s. Die Maximalgröße für eine Datei liegt bei %s. Es können maximal %d Dateien gleichzeitig hochgeladen werden.";
-$a->strings["You can adjust these settings in the servers php.ini."] = "Du kannst diese Einstellungen in der php.ini des Servers ändern.";
-$a->strings["PHP upload limits"] = "PHP-Hochladebeschränkungen";
-$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen.";
-$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung.";
-$a->strings["Generate encryption keys"] = "Verschlüsselungsschlüssel generieren";
-$a->strings["libCurl PHP module"] = "libCurl-PHP-Modul";
-$a->strings["GD graphics PHP module"] = "GD-Grafik-PHP-Modul";
-$a->strings["OpenSSL PHP module"] = "OpenSSL-PHP-Modul";
-$a->strings["mysqli or postgres PHP module"] = "mysqli oder postgres PHP-Modul";
-$a->strings["mb_string PHP module"] = "mb_string-PHP-Modul";
-$a->strings["mcrypt PHP module"] = "mcrypt-PHP-Modul";
-$a->strings["xml PHP module"] = "xml-PHP-Modul";
-$a->strings["Apache mod_rewrite module"] = "Apache-mod_rewrite-Modul";
-$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Fehler: Das Apache-Modul mod-rewrite ist erforderlich, aber nicht installiert.";
-$a->strings["proc_open"] = "proc_open";
-$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Fehler: proc_open ist erforderlich, aber entweder nicht installiert oder wurde in der php.ini deaktiviert";
-$a->strings["Error: libCURL PHP module required but not installed."] = "Fehler: Das PHP-Modul libCURL ist erforderlich, aber nicht installiert.";
-$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung ist erforderlich, aber nicht installiert.";
-$a->strings["Error: openssl PHP module required but not installed."] = "Fehler: Das PHP-Modul openssl ist erforderlich, aber nicht installiert.";
-$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert.";
-$a->strings["Error: mb_string PHP module required but not installed."] = "Fehler: Das PHP-Modul mb_string ist erforderlich, aber nicht installiert.";
-$a->strings["Error: mcrypt PHP module required but not installed."] = "Fehler: Das PHP-Modul mcrypt ist erforderlich, aber nicht installiert.";
-$a->strings["Error: xml PHP module required for DAV but not installed."] = "Fehler: Das xml-PHP-Modul wird für DAV benötigt, ist aber nicht installiert.";
-$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht.";
-$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst.";
-$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Red-Installation speichern musst.";
-$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt.";
-$a->strings[".htconfig.php is writable"] = ".htconfig.php ist beschreibbar";
-$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen.";
-$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Red-Installationsverzeichnisses.";
-$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat.";
-$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht auf die Template-Dateien (.tpl), die das Verzeichnis enthält.";
-$a->strings["%s is writable"] = "%s ist beschreibbar";
-$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Red-Stammverzeichnisses";
-$a->strings["store is writable"] = "store ist schreibbar";
-$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server.";
-$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich.";
-$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können.";
-$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer Red-Server (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird).";
-$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen.";
-$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind.";
-$a->strings["SSL certificate validation"] = "SSL Zertifikatverifizierung";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:";
-$a->strings["Url rewrite is working"] = "Url rewrite funktioniert";
-$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen.";
-$a->strings["Errors encountered creating database tables."] = "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten.";
-$a->strings["<h1>What next</h1>"] = "<h1>Was als Nächstes</h1>";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten.";
-$a->strings["OpenID protocol error. No ID returned."] = "OpenID Protokollfehler. Keine ID zurückgegeben.";
-$a->strings["Welcome %s. Remote authentication successful."] = "Willkommen %s. Entfernte Authentifizierung erfolgreich.";
+$a->strings["No potential page delegates located."] = "Keine potentiellen Bevollmächtigten für die Seite gefunden.";
+$a->strings["Delegate Page Management"] = "Delegiere das Management für diese Seite";
+$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = "Bevollmächtigte sind in der Lage, alle Aspekte dieses Kontos/dieser Seite zu verwalten, abgesehen von den Grundeinstellungen des Kontos. Gib niemandem eine Bevollmächtigung für Deinen privaten Account, dem Du nicht absolut vertraust!";
+$a->strings["Existing Page Managers"] = "Vorhandene Seitenmanager";
+$a->strings["Existing Page Delegates"] = "Vorhandene Bevollmächtigte für die Seite";
+$a->strings["Potential Delegates"] = "Potentielle Bevollmächtigte";
+$a->strings["Add"] = "Hinzufügen";
+$a->strings["No entries."] = "Keine Einträge.";
$a->strings["%d rating"] = array(
0 => "%d Bewertung",
1 => "%d Bewertungen",
@@ -1495,11 +1658,14 @@ $a->strings["Hometown: "] = "Wohnort:";
$a->strings["About: "] = "Über:";
$a->strings["Public Forum:"] = "Öffentliches Forum:";
$a->strings["Keywords: "] = "Schlüsselwörter:";
-$a->strings["Common connections: %s"] = "Gemeinsame Verbindungen: %s";
$a->strings["Finding:"] = "Ergebnisse:";
$a->strings["next page"] = "nächste Seite";
$a->strings["previous page"] = "vorherige Seite";
$a->strings["No entries (some entries may be hidden)."] = "Keine Einträge gefunden (einige könnten versteckt sein).";
+$a->strings["Select a bookmark folder"] = "Lesezeichenordner wählen";
+$a->strings["Save Bookmark"] = "Lesezeichen speichern";
+$a->strings["URL of bookmark"] = "URL des Lesezeichens";
+$a->strings["Or enter new bookmark folder name"] = "Oder gib einen neuen Namen für den Lesezeichenordner ein";
$a->strings["Export Channel"] = "Kanal exportieren";
$a->strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Exportiert die grundlegenden Kanal-Informationen in eine kleine Datei. Diese stellt eine Sicherung Deiner Verbindungen, Berechtigungen, Profile und Basisdaten bereit, die für den Import auf einem anderen Hub verwendet werden kann, aber nicht die Beiträge Deines Kanals enthält.";
$a->strings["Export Content"] = "Kanal und Inhalte exportieren";
@@ -1513,29 +1679,20 @@ $a->strings["Accounts"] = "Konten";
$a->strings["Channels"] = "Kanäle";
$a->strings["Plugins"] = "Plug-Ins";
$a->strings["Themes"] = "Themes";
-$a->strings["Inspect queue"] = "Warteschlange kontrollieren";
+$a->strings["Server"] = "Server";
$a->strings["Profile Config"] = "Profilkonfiguration";
$a->strings["DB updates"] = "DB-Aktualisierungen";
$a->strings["Logs"] = "Protokolle";
$a->strings["Plugin Features"] = "Plug-In Funktionen";
$a->strings["User registrations waiting for confirmation"] = "Nutzer-Anmeldungen, die auf Bestätigung warten";
-$a->strings["# Accounts"] = "Anzahl der Konten";
-$a->strings["# blocked accounts"] = "Anzahl der blockierten Konten";
-$a->strings["# expired accounts"] = "Anzahl der abgelaufenen Konten";
-$a->strings["# expiring accounts"] = "Anzahl der ablaufenden Konten";
-$a->strings["# Channels"] = "Anzahl der Kanäle";
-$a->strings["# primary"] = "Anzahl der primären Kanäle";
-$a->strings["# clones"] = "Anzahl der Klone";
$a->strings["Message queues"] = "Nachrichten-Warteschlangen";
$a->strings["Administration"] = "Administration";
$a->strings["Summary"] = "Zusammenfassung";
-$a->strings["Registered accounts"] = "Registrierte Konten";
+$a->strings["Registered users"] = "Registrierte Benutzer";
$a->strings["Pending registrations"] = "Ausstehende Registrierungen";
-$a->strings["Registered channels"] = "Registrierte Kanäle";
-$a->strings["Active plugins"] = "Aktive Plug-Ins";
$a->strings["Version"] = "Version";
-$a->strings["Site settings updated."] = "Seiteneinstellungen aktualisiert.";
-$a->strings["mobile"] = "mobil";
+$a->strings["Active plugins"] = "Aktive Plug-Ins";
+$a->strings["Site settings updated."] = "Site-Einstellungen aktualisiert.";
$a->strings["experimental"] = "experimentell";
$a->strings["unsupported"] = "nicht unterstützt";
$a->strings["Yes - with approval"] = "Ja - mit Zustimmung";
@@ -1565,10 +1722,6 @@ $a->strings["Does this site allow new member registration?"] = "Erlaubt dieser S
$a->strings["Which best describes the types of account offered by this hub?"] = "Was ist die passendste Beschreibung der Konten auf diesem Hub?";
$a->strings["Register text"] = "Registrierungstext";
$a->strings["Will be displayed prominently on the registration page."] = "Wird gut sichtbar auf der Registrierungs-Seite angezeigt.";
-$a->strings["Site homepage to show visitors (default: login box)"] = "Homepage des Servers, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)";
-$a->strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen.";
-$a->strings["Preserve site homepage URL"] = "Homepage-URL schützen";
-$a->strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten.";
$a->strings["Accounts abandoned after x days"] = "Konten gelten nach X Tagen als unbenutzt";
$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit.";
$a->strings["Allowed friend domains"] = "Erlaubte Domains für Kontakte";
@@ -1585,8 +1738,8 @@ $a->strings["Force publish"] = "Veröffentlichung erzwingen";
$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen.";
$a->strings["Disable discovery tab"] = "Den „Entdecken“-Reiter ausblenden";
$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Entferne den „Entdecken“-Reiter aus der Matrix-Seite, in dem öffentliche Inhalte angezeigt werden, die von anderen RedMatrix-Hubs geholt wurden.";
-$a->strings["login on Homepage"] = "Anmeldemaske auf der Homepage";
-$a->strings["Present a login box to visitors on the home page if no other content has been configured."] = "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden.";
+$a->strings["No login on Homepage"] = "Kein Login auf der Homepage";
+$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Aktivieren, um das Login-Formular auf der Startseite der Seite zu verbergen (z.B. weil es das Layout der Homepage des Seiten-Kanals stört).";
$a->strings["Proxy user"] = "Proxy Benutzer";
$a->strings["Proxy URL"] = "Proxy URL";
$a->strings["Network timeout"] = "Netzwerk-Timeout";
@@ -1597,14 +1750,11 @@ $a->strings["Poll interval"] = "Abfrageintervall";
$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet.";
$a->strings["Maximum Load Average"] = "Maximales Load Average";
$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50";
-$a->strings["Expiration period in days for imported (matrix/network) content"] = "Setze den Zeitraum (in Tagen), ab wann importierte Inhalte aus der RedMatrix (dem Netzwerk) ablaufen sollen";
-$a->strings["0 for no expiration of imported content"] = "Setze 0, damit importierte Inhalte niemals ablaufen (entfernt werden)";
$a->strings["No server found"] = "Kein Server gefunden";
$a->strings["ID"] = "ID";
$a->strings["for channel"] = "für Kanal";
$a->strings["on server"] = "auf Server";
$a->strings["Status"] = "Status";
-$a->strings["Server"] = "Server";
$a->strings["Update has been marked successful"] = "Update wurde als erfolgreich markiert";
$a->strings["Executing %s failed. Check system logs."] = "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle.";
$a->strings["Update %s was successfully applied."] = "Update %s wurde erfolgreich ausgeführt.";
@@ -1614,13 +1764,6 @@ $a->strings["No failed updates."] = "Keine fehlgeschlagenen Aktualisierungen.";
$a->strings["Failed Updates"] = "Fehlgeschlagene Aktualisierungen";
$a->strings["Mark success (if update was manually applied)"] = "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)";
$a->strings["Attempt to execute this update step automatically"] = "Versuche, diesen Updateschritt automatisch auszuführen";
-$a->strings["Queue Statistics"] = "Warteschlangenstatistiken";
-$a->strings["Total Entries"] = "Einträge insgesamt";
-$a->strings["Priority"] = "Priorität";
-$a->strings["Destination URL"] = "Ziel-URL";
-$a->strings["Mark hub permanently offline"] = "Hub als permanent offline markieren";
-$a->strings["Empty queue for this hub"] = "Warteschlange für diesen Hub leeren";
-$a->strings["Last known contact"] = "Letzter bekannter Kontakt";
$a->strings["%s user blocked/unblocked"] = array(
0 => "%s Nutzer blockiert/freigegeben",
1 => "%s Nutzer blockiert/freigegeben",
@@ -1630,8 +1773,8 @@ $a->strings["%s user deleted"] = array(
1 => "%s Nutzer gelöscht",
);
$a->strings["Account not found"] = "Konto nicht gefunden";
-$a->strings["User '%s' blocked"] = "Benutzer '%s' blockiert";
$a->strings["User '%s' unblocked"] = "Benutzer '%s' freigegeben";
+$a->strings["User '%s' blocked"] = "Benutzer '%s' blockiert";
$a->strings["Users"] = "Benutzer";
$a->strings["select all"] = "Alle auswählen";
$a->strings["User registrations waiting for confirm"] = "Neuanmeldungen, die auf Deine Bestätigung warten";
@@ -1639,8 +1782,6 @@ $a->strings["Request date"] = "Antragsdatum";
$a->strings["No registrations."] = "Keine Registrierungen.";
$a->strings["Approve"] = "Genehmigen";
$a->strings["Deny"] = "Verweigern";
-$a->strings["Block"] = "Blockieren";
-$a->strings["Unblock"] = "Freigeben";
$a->strings["Register date"] = "Registrierungs-Datum";
$a->strings["Last login"] = "Letzte Anmeldung";
$a->strings["Expires"] = "Verfällt";
@@ -1651,24 +1792,16 @@ $a->strings["%s channel censored/uncensored"] = array(
0 => "%s Kanal gesperrt/freigegeben",
1 => "%s Kanäle gesperrt/freigegeben",
);
-$a->strings["%s channel code allowed/disallowed"] = array(
- 0 => "Code für %s Kanal gesperrt/freigegeben.",
- 1 => "Code für %s Kanäle gesperrt/freigegeben",
-);
$a->strings["%s channel deleted"] = array(
0 => "%s Kanal gelöscht",
1 => "%s Kanäle gelöscht",
);
$a->strings["Channel not found"] = "Kanal nicht gefunden";
$a->strings["Channel '%s' deleted"] = "Kanal '%s' gelöscht";
-$a->strings["Channel '%s' censored"] = "Kanal '%s' gesperrt";
$a->strings["Channel '%s' uncensored"] = "Kanal '%s' freigegeben";
-$a->strings["Channel '%s' code allowed"] = "Code für Kanal '%s' freigegeben";
-$a->strings["Channel '%s' code disallowed"] = "Code für Kanal '%s' gesperrt.";
+$a->strings["Channel '%s' censored"] = "Kanal '%s' gesperrt";
$a->strings["Censor"] = "Sperren";
$a->strings["Uncensor"] = "Freigeben";
-$a->strings["Allow Code"] = "Code erlauben";
-$a->strings["Disallow Code"] = "Code nicht erlauben";
$a->strings["UID"] = "UID";
$a->strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?";
$a->strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?";
@@ -1683,7 +1816,7 @@ $a->strings["No themes found."] = "Keine Theme gefunden.";
$a->strings["Screenshot"] = "Bildschirmfoto";
$a->strings["[Experimental]"] = "[Experimentell]";
$a->strings["[Unsupported]"] = "[Nicht unterstützt]";
-$a->strings["Log settings updated."] = "Protokolleinstellungen aktualisiert.";
+$a->strings["Log settings updated."] = "Protokoll-Einstellungen aktualisiert.";
$a->strings["Clear"] = "Leeren";
$a->strings["Debugging"] = "Debugging";
$a->strings["Log file"] = "Protokolldatei";
@@ -1701,214 +1834,30 @@ $a->strings["Field definition not found"] = "Feld-Definition nicht gefunden";
$a->strings["Edit Profile Field"] = "Profilfeld bearbeiten";
$a->strings["Unable to find your hub."] = "Konnte Deinen Server nicht finden.";
$a->strings["Post successful."] = "Veröffentlichung erfolgreich.";
-$a->strings["Edit Block"] = "Block bearbeiten";
-$a->strings["Delete block?"] = "Block löschen?";
-$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal.";
-$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen.";
-$a->strings["Passwords do not match."] = "Passwörter stimmen nicht überein.";
-$a->strings["Registration successful. Please check your email for validation instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet.";
-$a->strings["Your registration is pending approval by the site owner."] = "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden.";
-$a->strings["Your registration can not be processed."] = "Deine Registrierung konnte nicht verarbeitet werden.";
-$a->strings["Registration on this site/hub is by approval only."] = "Anmeldungen auf diesem Server erfordern Zustimmung durch den Administrator";
-$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrierung auf einem anderen, angeschlossenen Server</a>";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal.";
-$a->strings["Terms of Service"] = "Nutzungsbedingungen";
-$a->strings["I accept the %s for this website"] = "Ich akzeptiere die %s für diese Webseite";
-$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite";
-$a->strings["Membership on this site is by invitation only."] = "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich.";
-$a->strings["Please enter your invitation code"] = "Bitte trage Deinen Einladungs-Code ein";
-$a->strings["Your email address"] = "Ihre E-Mail Adresse";
-$a->strings["Choose a password"] = "Passwort";
-$a->strings["Please re-enter your password"] = "Bitte gib Dein Passwort noch einmal ein";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angemeldet. Bitte melde Dich ab und versuche es erneut.";
+$a->strings["Welcome %s. Remote authentication successful."] = "Willkommen %s. Entfernte Authentifizierung erfolgreich.";
+$a->strings["Please login."] = "Bitte melde dich an.";
$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "Das Löschen von Konten innerhalb 48 Stunden nachdem deren Passwort geändert wurde ist nicht erlaubt.";
$a->strings["Remove This Account"] = "Dieses Konto löschen";
-$a->strings["WARNING: "] = "WARNUNG: ";
-$a->strings["This account and all its channels will be completely removed from the network. "] = "Dieses Konto mit all seinen Kanälen wird vollständig aus dem Netzwerk gelöscht.";
-$a->strings["This action is permanent and can not be undone!"] = "Dieser Schritt ist endgültig und kann nicht rückgängig gemacht werden!";
+$a->strings["This will completely remove this account including all its channels from the network. Once this has been done it is not recoverable."] = "Hiermit wird dieses Nutzerkonto einschließlich all seiner Kanäle komplett aus dem Netzwerk entfernt. Dieser Vorgang kann nicht rückgängig gemacht werden.";
$a->strings["Please enter your password for verification:"] = "Bitte gib zur Bestätigung Dein Passwort ein:";
$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Dieses Konto, all seine Kanäle sowie alle Kanal-Klone aus dem Netzwerk löschen";
$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standardmäßig werden nur die Kanalklone auf diesem RedMatrix-Hub aus dem Netzwerk entfernt";
-$a->strings["Remove Account"] = "Konto entfernen";
$a->strings["[Embedded content - reload page to view]"] = "[Eingebettete Inhalte – lade die Seite neu, um sie anzuzeigen]";
-$a->strings["Remote privacy information not available."] = "Privatsphäreeinstellungen anderer Nutzer sind nicht verfügbar.";
-$a->strings["Visible to:"] = "Sichtbar für:";
-$a->strings["Name is required"] = "Name ist erforderlich";
-$a->strings["Key and Secret are required"] = "Schlüssel und Geheimnis sind erforderlich";
-$a->strings["Diaspora Policy Settings updated."] = "Diaspora-Richtlinieneinstellungen aktualisiert.";
-$a->strings["Passwords do not match. Password unchanged."] = "Kennwörter stimmen nicht überein. Kennwort nicht verändert.";
-$a->strings["Empty passwords are not allowed. Password unchanged."] = "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert.";
-$a->strings["Password changed."] = "Kennwort geändert.";
-$a->strings["Password update failed. Please try again."] = "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal.";
-$a->strings["Not valid email."] = "Keine gültige E-Mail Adresse.";
-$a->strings["Protected email address. Cannot change to that email."] = "Geschützte E-Mail Adresse. Diese kann nicht verändert werden.";
-$a->strings["System failure storing new email. Please try again."] = "Systemfehler während des Speicherns der neuen Mail. Bitte versuche es noch einmal.";
-$a->strings["Settings updated."] = "Einstellungen aktualisiert.";
-$a->strings["Add application"] = "Anwendung hinzufügen";
-$a->strings["Name of application"] = "Name der Anwendung";
-$a->strings["Consumer Key"] = "Consumer Key";
-$a->strings["Automatically generated - change if desired. Max length 20"] = "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20";
-$a->strings["Consumer Secret"] = "Consumer Secret";
-$a->strings["Redirect"] = "Umleitung";
-$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert";
-$a->strings["Icon url"] = "Symbol-URL";
-$a->strings["Optional"] = "Optional";
-$a->strings["You can't edit this application."] = "Diese Anwendung kann nicht bearbeitet werden.";
-$a->strings["Connected Apps"] = "Verbundene Apps";
-$a->strings["Client key starts with"] = "Client Key beginnt mit";
-$a->strings["No name"] = "Kein Name";
-$a->strings["Remove authorization"] = "Authorisierung aufheben";
-$a->strings["No feature settings configured"] = "Keine Funktionseinstellungen konfiguriert";
-$a->strings["Feature/Addon Settings"] = "Funktions-/Addon-Einstellungen";
-$a->strings["Settings for the built-in Diaspora emulator"] = "Einstellungen für den eingebauten Diaspora-Emulator";
-$a->strings["Allow any Diaspora member to comment on your public posts"] = "Jedem Diaspora-Mitglied erlauben, Deine öffentlichen Beiträge zu kommentieren";
-$a->strings["Enable the Diaspora protocol for this channel"] = "Diaspora-Protokoll für diesen Kanal aktivieren";
-$a->strings["Diaspora Policy Settings"] = "Diaspora-Richtlinieneinstellungen";
-$a->strings["Prevent your hashtags from being redirected to other sites"] = "Verhindern, dass Deine hashtags zu anderen Seiten umgeleitet werden";
-$a->strings["Account Settings"] = "Kontoeinstellungen";
-$a->strings["Enter New Password:"] = "Neues Passwort eingeben:";
-$a->strings["Confirm New Password:"] = "Neues Passwort bestätigen:";
-$a->strings["Leave password fields blank unless changing"] = "Lasse die Passwort-Felder leer, außer Du möchtest das Passwort ändern";
-$a->strings["Email Address:"] = "Email Adresse:";
-$a->strings["Remove this account including all its channels"] = "Dieses Konto inklusive all seiner Kanäle löschen";
-$a->strings["Off"] = "Aus";
-$a->strings["On"] = "An";
-$a->strings["Additional Features"] = "Zusätzliche Funktionen";
-$a->strings["Connector Settings"] = "Verbindereinstellungen";
-$a->strings["No special theme for mobile devices"] = "Keine spezielle Theme für mobile Geräte";
-$a->strings["%s - (Experimental)"] = "%s – (experimentell)";
-$a->strings["Display Settings"] = "Anzeigeeinstellungen";
-$a->strings["Theme Settings"] = "Theme-Einstellungen";
-$a->strings["Custom Theme Settings"] = "Benutzerdefinierte Theme-Einstellungen";
-$a->strings["Content Settings"] = "Inhaltseinstellungen";
-$a->strings["Display Theme:"] = "Anzeige-Theme:";
-$a->strings["Mobile Theme:"] = "Mobile Theme:";
-$a->strings["Enable user zoom on mobile devices"] = "Zoom auf Mobilgeräten aktivieren";
-$a->strings["Update browser every xx seconds"] = "Browser alle xx Sekunden aktualisieren";
-$a->strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 Sekunden, kein Maximum";
-$a->strings["Maximum number of conversations to load at any time:"] = "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:";
-$a->strings["Maximum of 100 items"] = "Maximum: 100 Beiträge";
-$a->strings["Show emoticons (smilies) as images"] = "Emoticons (Smilies) als Bilder anzeigen";
-$a->strings["Link post titles to source"] = "Beitragstitel zum Originalbeitrag verlinken";
-$a->strings["System Page Layout Editor - (advanced)"] = "Systemseitengestaltungseditor - (erweitert)";
-$a->strings["Use blog/list mode on channel page"] = "Blog-/Listenmodus auf der Kanalseite verwenden";
-$a->strings["(comments displayed separately)"] = "(Kommentare werden separat angezeigt)";
-$a->strings["Use blog/list mode on matrix page"] = "Blog-/Listenmodus auf der Matrixseite verwenden";
-$a->strings["Channel page max height of content (in pixels)"] = "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)";
-$a->strings["click to expand content exceeding this height"] = "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden.";
-$a->strings["Matrix page max height of content (in pixels)"] = "Maximale Höhe von Beitragsblöcken auf der Matrixseite (in Pixeln)";
-$a->strings["Nobody except yourself"] = "Niemand außer Dir selbst";
-$a->strings["Only those you specifically allow"] = "Nur die, denen Du es explizit erlaubst";
-$a->strings["Approved connections"] = "Angenommene Verbindungen";
-$a->strings["Any connections"] = "Beliebige Verbindungen";
-$a->strings["Anybody on this website"] = "Jeder auf dieser Website";
-$a->strings["Anybody in this network"] = "Alle Red-Nutzer";
-$a->strings["Anybody authenticated"] = "Jeder authentifizierte";
-$a->strings["Anybody on the internet"] = "Jeder im Internet";
-$a->strings["Publish your default profile in the network directory"] = "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen";
-$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?";
-$a->strings["Your channel address is"] = "Deine Kanal-Adresse lautet";
-$a->strings["Channel Settings"] = "Kanaleinstellungen";
-$a->strings["Basic Settings"] = "Grundeinstellungen";
-$a->strings["Your Timezone:"] = "Ihre Zeitzone:";
-$a->strings["Default Post Location:"] = "Standardstandort:";
-$a->strings["Geographical location to display on your posts"] = "Geografischer Ort, der bei Deinen Beiträgen angezeigt werden soll";
-$a->strings["Use Browser Location:"] = "Standort des Browsers verwenden:";
-$a->strings["Adult Content"] = "Nicht jugendfreie Inhalte";
-$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Dieser Kanal veröffentlicht regelmäßig Inhalte, die für Minderjährige ungeeignet sind. (Bitte markiere solche Inhalte mit dem Schlagwort #NSFW)";
-$a->strings["Security and Privacy Settings"] = "Sicherheits- und Datenschutzeinstellungen";
-$a->strings["Your permissions are already configured. Click to view/adjust"] = "Deine Zugriffsrechte sind schon konfiguriert. Klicke hier, um sie zu betrachten oder zu ändern";
-$a->strings["Hide my online presence"] = "Meine Online-Präsenz verbergen";
-$a->strings["Prevents displaying in your profile that you are online"] = "Verhindert die Anzeige Deines Online-Status in deinem Profil";
-$a->strings["Simple Privacy Settings:"] = "Einfache Privatsphäreeinstellungen:";
-$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Komplett offen – <em>extrem ungeschützt (mit großer Vorsicht verwenden!)</em>";
-$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Typisch – <em>Standard öffentlich, Privatsphäre, wo sie erwünscht ist (ähnlich den Einstellungen in sozialen Netzwerken, aber mit besser geschützter Privatsphäre)</em>";
-$a->strings["Private - <em>default private, never open or public</em>"] = "Privat – <em>Standard privat, nie offen oder öffentlich</em>";
-$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Blockiert – <em>Alle standardmäßig blockiert</em>";
-$a->strings["Allow others to tag your posts"] = "Erlaube anderen, Deine Beiträge zu verschlagworten";
-$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren";
-$a->strings["Advanced Privacy Settings"] = "Fortgeschrittene Privatsphäreeinstellungen";
-$a->strings["Expire other channel content after this many days"] = "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen";
-$a->strings["0 or blank prevents expiration"] = "0 oder kein Inhalt verhindern das Verfallen";
-$a->strings["Maximum Friend Requests/Day:"] = "Maximale Kontaktanfragen pro Tag:";
-$a->strings["May reduce spam activity"] = "Kann die Spam-Aktivität verringern";
-$a->strings["Default Post Permissions"] = "Standardmäßige Beitragsberechtigungen";
-$a->strings["(click to open/close)"] = "(zum öffnen/schließen anklicken)";
-$a->strings["Channel permissions category:"] = "Zugriffsrechte-Kategorie des Kanals:";
-$a->strings["Maximum private messages per day from unknown people:"] = "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:";
-$a->strings["Useful to reduce spamming"] = "Nützlich, um Spam zu verringern";
-$a->strings["Notification Settings"] = "Benachrichtigungseinstellungen";
-$a->strings["By default post a status message when:"] = "Sende standardmäßig Status-Nachrichten, wenn:";
-$a->strings["accepting a friend request"] = "Du eine Verbindungsanfrage annimmst";
-$a->strings["joining a forum/community"] = "Du einem Forum beitrittst";
-$a->strings["making an <em>interesting</em> profile change"] = "Du eine <em>interessante</em> Änderung an Deinem Profil vornimmst";
-$a->strings["Send a notification email when:"] = "Eine E-Mail-Benachrichtigung senden, wenn:";
-$a->strings["You receive a connection request"] = "Du eine Verbindungsanfrage erhältst";
-$a->strings["Your connections are confirmed"] = "Eine Verbindung bestätigt wurde";
-$a->strings["Someone writes on your profile wall"] = "Jemand auf Deine Pinnwand schreibt";
-$a->strings["Someone writes a followup comment"] = "Jemand einen Beitrag kommentiert";
-$a->strings["You receive a private message"] = "Du eine private Nachricht erhältst";
-$a->strings["You receive a friend suggestion"] = "Du einen Kontaktvorschlag erhältst";
-$a->strings["You are tagged in a post"] = "Du in einem Beitrag erwähnt wurdest";
-$a->strings["You are poked/prodded/etc. in a post"] = "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest";
-$a->strings["Show visual notifications including:"] = "Visuelle Benachrichtigungen anzeigen für:";
-$a->strings["Unseen matrix activity"] = "Ungesehene Matrix-Aktivität";
-$a->strings["Unseen channel activity"] = "Ungesehene Kanal-Aktivität";
-$a->strings["Unseen private messages"] = "Ungelesene persönliche Nachrichten";
-$a->strings["Recommended"] = "Empfohlen";
-$a->strings["Upcoming events"] = "Baldige Termine";
-$a->strings["Events today"] = "Heutige Termine";
-$a->strings["Upcoming birthdays"] = "Baldige Geburtstage";
-$a->strings["Not available in all themes"] = "Nicht in allen Themes verfügbar";
-$a->strings["System (personal) notifications"] = "System – (persönliche) Benachrichtigungen";
-$a->strings["System info messages"] = "System – Info-Nachrichten";
-$a->strings["System critical alerts"] = "System – kritische Warnungen";
-$a->strings["New connections"] = "Neue Verbindungen";
-$a->strings["System Registrations"] = "System – Registrierungen";
-$a->strings["Also show new wall posts, private messages and connections under Notices"] = "Zeigt neue Pinnwand-Nachrichten, private Nachrichten und Verbindungen unter Benachrichtigungen an";
-$a->strings["Notify me of events this many days in advance"] = "Benachrichtige mich zu Terminen so viele Tage im Voraus";
-$a->strings["Must be greater than 0"] = "Muss größer als 0 sein";
-$a->strings["Advanced Account/Page Type Settings"] = "Erweiterte Konto-/Seitentypeinstellungen";
-$a->strings["Change the behaviour of this account for special situations"] = "Ändere das Verhalten dieses Accounts unter speziellen Umständen";
-$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Bitte aktivieren Sie den Expertenmodus (unter <a href=\"settings/features\">Einstellungen > Zusätzliche Funktionen</a>), um hier Einstellungen vorzunehmen!";
-$a->strings["Miscellaneous Settings"] = "Sonstige Einstellungen";
-$a->strings["Personal menu to display in your channel pages"] = "Eigenes Menü zur Anzeige auf den Seiten deines Kanals";
-$a->strings["Remove Channel"] = "Kanal löschen";
-$a->strings["Remove this channel."] = "Diesen Kanal löschen";
-$a->strings["First Name"] = "Vorname";
-$a->strings["Last Name"] = "Nachname";
-$a->strings["Nickname"] = "Spitzname";
-$a->strings["Full Name"] = "Voller Name";
-$a->strings["Profile Photo 16px"] = "Profilfoto 16 px";
-$a->strings["Profile Photo 32px"] = "Profilfoto 32 px";
-$a->strings["Profile Photo 48px"] = "Profilfoto 48 px";
-$a->strings["Profile Photo 64px"] = "Profilfoto 64 px";
-$a->strings["Profile Photo 80px"] = "Profilfoto 80 px";
-$a->strings["Profile Photo 128px"] = "Profilfoto 128 px";
-$a->strings["Timezone"] = "Zeitzone";
-$a->strings["Homepage URL"] = "Homepage-URL";
-$a->strings["Birth Year"] = "Geburtsjahr";
-$a->strings["Birth Month"] = "Geburtsmonat";
-$a->strings["Birth Day"] = "Geburtstag";
-$a->strings["Birthdate"] = "Geburtsdatum";
+$a->strings["Wall Photos"] = "Wall Fotos";
+$a->strings["Profile Match"] = "Profil-Übereinstimmungen";
+$a->strings["No keywords to match. Please add keywords to your default profile."] = "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu.";
+$a->strings["is interested in:"] = "interessiert sich für:";
+$a->strings["No matches"] = "Keine Übereinstimmungen";
$a->strings["Conversation removed."] = "Unterhaltung gelöscht.";
$a->strings["No messages."] = "Keine Nachrichten.";
$a->strings["Delete conversation"] = "Unterhaltung löschen";
$a->strings["D, d M Y - g:i A"] = "D, d. M Y - G:i";
-$a->strings["Unable to create element."] = "Element konnte nicht erstellt werden.";
+$a->strings["Menu element updated."] = "Menü-Element aktualisiert.";
$a->strings["Unable to update menu element."] = "Kann Menü-Element nicht aktualisieren.";
+$a->strings["Menu element added."] = "Menü-Bestandteil hinzugefügt.";
$a->strings["Unable to add menu element."] = "Kann Menü-Bestandteil nicht hinzufügen.";
-$a->strings["Menu Item Permissions"] = "Zugriffsrechte des Menü-Elements";
-$a->strings["Link Name"] = "Name des Links";
-$a->strings["Link or Submenu Target"] = "Ziel des Links oder Untermenüs";
-$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "URL des Links eingeben oder Menünamen wählen, um ein Untermenü anzulegen.";
-$a->strings["Use magic-auth if available"] = "Magic-Auth verwenden, falls verfügbar";
-$a->strings["Open link in new window"] = "Öffne Link in neuem Fenster";
-$a->strings["Order in list"] = "Reihenfolge in der Liste";
-$a->strings["Higher numbers will sink to bottom of listing"] = "Größere Nummern werden weiter unten in der Auflistung einsortiert";
-$a->strings["Submit and finish"] = "Absenden und fertigstellen";
-$a->strings["Submit and continue"] = "Absenden und fortfahren";
-$a->strings["Menu:"] = "Menü:";
-$a->strings["Link Target"] = "Ziel des Links";
+$a->strings["Manage Menu Elements"] = "Menü-Bestandteile verwalten";
$a->strings["Edit menu"] = "Menü bearbeiten";
$a->strings["Edit element"] = "Bestandteil bearbeiten";
$a->strings["Drop element"] = "Bestandteil löschen";
@@ -1917,96 +1866,44 @@ $a->strings["Edit this menu container"] = "Diesen Menü-Container bearbeiten";
$a->strings["Add menu element"] = "Menüelement hinzufügen";
$a->strings["Delete this menu item"] = "Lösche dieses Menü-Bestandteil";
$a->strings["Edit this menu item"] = "Bearbeite dieses Menü-Bestandteil";
+$a->strings["New Menu Element"] = "Neues Menü-Bestandteil";
+$a->strings["Menu Item Permissions"] = "Zugriffsrechte des Menü-Elements";
+$a->strings["Link text"] = "Link Text";
+$a->strings["URL of link"] = "URL des Links";
+$a->strings["Use RedMatrix magic-auth if available"] = "Verwende die automatische RedMatrix-Authentifizierung (magic-auth), wenn verfügbar";
+$a->strings["Open link in new window"] = "Öffne Link in neuem Fenster";
+$a->strings["Order in list"] = "Reihenfolge in der Liste";
+$a->strings["Higher numbers will sink to bottom of listing"] = "Größere Nummern werden weiter unten in der Auflistung einsortiert";
$a->strings["Menu item not found."] = "Menü-Bestandteil nicht gefunden.";
$a->strings["Menu item deleted."] = "Menü-Bestandteil gelöscht.";
$a->strings["Menu item could not be deleted."] = "Menü-Bestandteil kann nicht gelöscht werden.";
$a->strings["Edit Menu Element"] = "Bearbeite Menü-Bestandteil";
-$a->strings["Link text"] = "Link Text";
$a->strings["Set your current mood and tell your friends"] = "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden";
-$a->strings["Total votes"] = "Stimmen insgesamt";
+$a->strings["Total votes"] = "Stimmen gesamt";
$a->strings["Average Rating"] = "Durchschnittliche Bewertung";
$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Innerhalb von 48 Stunden nach einer Änderung des Passworts können keine Kanäle gelöscht werden.";
$a->strings["Remove This Channel"] = "Diesen Kanal löschen";
-$a->strings["This channel will be completely removed from the network. "] = "Dieser Kanal wird vollständig aus dem Netzwerk gelöscht.";
+$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Hiermit wird dieser Kanal komplett aus dem Netzwerk gelöscht. Einmal eingeleitet, kann dieser Prozess nicht wieder rückgängig gemacht werden.";
$a->strings["Remove this channel and all its clones from the network"] = "Lösche diesen Kanal und all seine Klone aus dem Netzwerk";
$a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk";
-$a->strings["is now connected to"] = "ist jetzt verbunden mit";
-$a->strings["Could not access address book record."] = "Konnte nicht auf den Adressbuch-Eintrag zugreifen.";
-$a->strings["Refresh failed - channel is currently unavailable."] = "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar.";
-$a->strings["Channel has been unblocked"] = "Kanal nicht mehr blockiert";
-$a->strings["Channel has been blocked"] = "Kanal blockiert";
-$a->strings["Unable to set address book parameters."] = "Konnte die Adressbuch-Parameter nicht setzen.";
-$a->strings["Channel has been unignored"] = "Kanal wird nicht mehr ignoriert";
-$a->strings["Channel has been ignored"] = "Kanal wird ignoriert";
-$a->strings["Channel has been unarchived"] = "Kanal wurde aus dem Archiv zurück geholt";
-$a->strings["Channel has been archived"] = "Kanal wurde archiviert";
-$a->strings["Channel has been unhidden"] = "Kanal wird nicht mehr versteckt";
-$a->strings["Channel has been hidden"] = "Kanal wurde versteckt";
-$a->strings["Channel has been approved"] = "Kanal wurde zugelassen";
-$a->strings["Channel has been unapproved"] = "Zulassung des Kanals entfernt";
-$a->strings["Connection has been removed."] = "Verbindung wurde gelöscht.";
-$a->strings["View %s's profile"] = "%ss Profil ansehen";
-$a->strings["Refresh Permissions"] = "Zugriffsrechte neu laden";
-$a->strings["Fetch updated permissions"] = "Aktualisierte Zugriffsrechte abfragen";
-$a->strings["Recent Activity"] = "Kürzliche Aktivitäten";
-$a->strings["View recent posts and comments"] = "Betrachte die neuesten Beiträge und Kommentare";
-$a->strings["Block (or Unblock) all communications with this connection"] = "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen";
-$a->strings["Unignore"] = "Nicht ignorieren";
-$a->strings["Ignore"] = "Ignorieren";
-$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen";
-$a->strings["Unarchive"] = "Aus Archiv zurückholen";
-$a->strings["Archive"] = "Archivieren";
-$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Verbindung archivieren/aus dem Archiv zurückholen (Archiv = Kanal als erloschen markieren, aber die Beiträge behalten)";
-$a->strings["Unhide"] = "Wieder sichtbar machen";
-$a->strings["Hide"] = "Verstecken";
-$a->strings["Hide or Unhide this connection from your other connections"] = "Diese Verbindung vor anderen Verbindungen verstecken/zeigen";
-$a->strings["Delete this connection"] = "Verbindung löschen";
-$a->strings["Approve this connection"] = "Verbindung genehmigen";
-$a->strings["Accept connection to allow communication"] = "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen";
-$a->strings["Connections: settings for %s"] = "Verbindungseinstellungen für %s";
-$a->strings["Apply these permissions automatically"] = "Diese Berechtigungen automatisch anwenden";
-$a->strings["Apply the permissions indicated on this page to all new connections."] = "Wende die auf dieser Seite gewählten Berechtigungen auf alle neuen Verbindungen an.";
-$a->strings["Slide to adjust your degree of friendship"] = "Verschieben, um den Grad der Freundschaft zu einzustellen";
-$a->strings["Default permissions for your channel type have (just) been applied. They have not yet been submitted. Please review the permissions on this page and make any desired changes at this time. This new connection may <em>not</em> be able to communicate with you until you submit this page, which will install and apply the selected permissions."] = "Die voreingestellten Zugriffsrechte der Kategorie Deines Kanals sind hier zu sehen, wurden aber noch nicht gespeichert. Bitte sieh Dir die Zugriffsrechte auf dieser Seite an und ändere sie, wenn Du willst. Dieser Kontakt kann evtl. <em>nicht</em> mit Dir kommunizieren, bevor Du nicht auf dieser Seite auf „Senden“ geklickt hast – erst dieser Klick speichert die gewünschten Zugriffsrechte.";
-$a->strings["inherited"] = "geerbt";
-$a->strings["Connection has no individual permissions!"] = "Diese Verbindung hat keine individuellen Zugriffsrechte!";
-$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Abhängig von Ihren <a href=\"settings\">Privatsphäreeinstellungen</a> könnte das passen, eventuell sollten Sie aber die „Zugriffsrechte für Fortgeschrittene“ überprüfen.";
-$a->strings["Profile Visibility"] = "Sichtbarkeit des Profils";
-$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird.";
-$a->strings["Contact Information / Notes"] = "Kontaktinformationen / Notizen";
-$a->strings["Edit contact notes"] = "Kontaktnotizen bearbeiten";
-$a->strings["Their Settings"] = "Deren Einstellungen";
-$a->strings["My Settings"] = "Meine Einstellungen";
-$a->strings["Default permissions for this channel type have (just) been applied. They have <em>not</em> been saved and there are currently no stored default permissions. Please review/edit the applied settings and click [Submit] to finalize."] = "Die voreingestellten Zugriffsrechte der Kategorie Deines Kanals sind hier zu sehen, wurden aber noch <em>nicht</em> gespeichert, und Du hast keine Voreinstellungen für die Zugriffsrechte von Verbindungen angelegt. Bitte sieh Dir die Einstellungen an, ändere sie bei Bedarf und klicke auf [Senden], um den Vorgang abzuschließen.";
-$a->strings["Clear/Disable Automatic Permissions"] = "Automatische Berechtigungen abschalten/entfernen";
-$a->strings["Forum Members"] = "Forum Mitglieder";
-$a->strings["Soapbox"] = "Marktschreier";
-$a->strings["Full Sharing (typical social network permissions)"] = "Vollumfängliches Teilen (übliche Berechtigungen in sozialen Netzwerken)";
-$a->strings["Cautious Sharing "] = "Vorsichtiges Teilen";
-$a->strings["Follow Only"] = "Nur folgen";
-$a->strings["Individual Permissions"] = "Individuelle Zugriffsrechte";
-$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "Einige Berechtigungen werden von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt, die eine höhere Priorität haben als die Einstellungen bei einer Verbindung. Werden geerbte Einstellungen hier geändert, hat das keine Auswirkungen.";
-$a->strings["Advanced Permissions"] = "Zugriffsrechte für Fortgeschrittene";
-$a->strings["Simple Permissions (select one and submit)"] = "Einfache Berechtigungseinstellungen (wählen Sie eine aus und klicken Sie auf Absenden)";
-$a->strings["Visit %s's profile - %s"] = "%ss Profil besuchen - %s";
-$a->strings["Block/Unblock contact"] = "Kontakt blockieren/freigeben";
-$a->strings["Ignore contact"] = "Kontakt ignorieren";
-$a->strings["Repair URL settings"] = "URL-Einstellungen reparieren";
-$a->strings["View conversations"] = "Unterhaltungen anzeigen";
-$a->strings["Delete contact"] = "Kontakt löschen";
-$a->strings["Last update:"] = "Letzte Aktualisierung:";
-$a->strings["Update public posts"] = "Öffentliche Beiträge aktualisieren";
-$a->strings["Update now"] = "Jetzt aktualisieren";
-$a->strings["Currently blocked"] = "Derzeit blockiert";
-$a->strings["Currently ignored"] = "Derzeit ignoriert";
-$a->strings["Currently archived"] = "Derzeit archiviert";
-$a->strings["Currently pending"] = "Derzeit anstehend";
-$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Wir haben ein Problem mit der OpenID festgestellt, mit der Du Dich anmelden wolltest. Bitte überprüfe sie noch einmal.";
-$a->strings["The error message was:"] = "Die Fehlermeldung war:";
-$a->strings["Authentication failed."] = "Authentifizierung fehlgeschlagen.";
-$a->strings["Remote Authentication"] = "Entfernte Authentifizierung";
-$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Deine Kanal-Adresse (z. B. channel@example.com)";
-$a->strings["Authenticate"] = "Authentifizieren";
+$a->strings["Remove Channel"] = "Kanal löschen";
+$a->strings["Help with this feature"] = "Hilfe zu dieser Funktion";
+$a->strings["Layout Name"] = "Layout-Name";
+$a->strings["Like/Dislike"] = "Mögen/Nicht mögen";
+$a->strings["This action is restricted to members."] = "Diese Aktion kann nur von Mitgliedern ausgeführt werden.";
+$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "Bitte <a href=\"rmagic\">melde Dich mit Deiner RedMatrix-ID an</a> oder <a href=\"register\">registriere Dich als neues Mitglied der RedMatrix</a>, um fortzufahren.";
+$a->strings["Invalid request."] = "Ungültige Anfrage.";
+$a->strings["thing"] = "Sache";
+$a->strings["Channel unavailable."] = "Kanal nicht vorhanden.";
+$a->strings["Previous action reversed."] = "Die vorherige Aktion wurde rückgängig gemacht.";
+$a->strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s stimmt %2\$ss %3\$s zu";
+$a->strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s lehnt %2\$ss %3\$s ab";
+$a->strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s enthält sich zu %2\$ss %3\$s";
+$a->strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s nimmt an %2\$ss %3\$s teil";
+$a->strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s nimmt an %2\$ss %3\$s nicht teil";
+$a->strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s nimmt vielleicht an %2\$ss %3\$s teil";
+$a->strings["Action completed."] = "Aktion durchgeführt.";
+$a->strings["Thank you."] = "Vielen Dank.";
$a->strings["Unable to lookup recipient."] = "Konnte den Empfänger nicht finden.";
$a->strings["Unable to communicate with requested channel."] = "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen.";
$a->strings["Cannot verify requested channel."] = "Verifizierung des angeforderten Kanals fehlgeschlagen.";
@@ -2026,8 +1923,6 @@ $a->strings["No secure communications available. You <strong>may</strong> be abl
$a->strings["Send Reply"] = "Antwort senden";
$a->strings["Invalid request identifier."] = "Ungültiger Anfrage-Identifikator.";
$a->strings["Discard"] = "Verwerfen";
-$a->strings["Please login."] = "Bitte melde dich an.";
-$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Fern-Authentifizierung blockiert. Du bist lokal auf diesem Server angemeldet. Bitte melde Dich ab und versuche es erneut.";
$a->strings["Add a Channel"] = "Kanal hinzufügen";
$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Ein Kanal ist Deine eigene Sammlung von zusammengehörigen Webseiten. Ein Kanal kann genutzt werden, um ein Social-Network-Profil, ein Blog, eine Gesprächsgruppe oder ein Forum, Promi-Seiten und vieles mehr zu erstellen. Du kannst so viele Kanäle erstellen, wie es der Betreiber Deines Hubs zulässt.";
$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ ";
@@ -2037,75 +1932,112 @@ $a->strings["Or <a href=\"import\">import an existing channel</a> from another l
$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Wähle einen Kanaltyp (wie Soziales Netzwerk oder Forum) und Privatsphäre-Vorgaben, so dass wir die passenden Kanal-Zugriffsrechte für Dich setzen können";
$a->strings["Channel Type"] = "Kanaltyp";
$a->strings["Read more about roles"] = "Mehr Informationen über Rollen";
-$a->strings["App installed."] = "App installiert.";
-$a->strings["Malformed app."] = "Fehlerhafte App.";
-$a->strings["Embed code"] = "Code einbetten";
-$a->strings["Edit App"] = "App bearbeiten";
-$a->strings["Create App"] = "App erstellen";
-$a->strings["Name of app"] = "Name der App";
-$a->strings["Location (URL) of app"] = "Ort (URL) der App";
-$a->strings["Photo icon URL"] = "URL zum Icon";
-$a->strings["80 x 80 pixels - optional"] = "80 x 80 Pixel – optional";
-$a->strings["Version ID"] = "Versions-ID";
-$a->strings["Price of app"] = "Preis der App";
-$a->strings["Location (URL) to purchase app"] = "Ort (URL), um die App zu kaufen";
+$a->strings["OpenID protocol error. No ID returned."] = "OpenID Protokollfehler. Keine ID zurückgegeben.";
+$a->strings["Page owner information could not be retrieved."] = "Informationen über den Besitzer der Seite konnten nicht gefunden werden.";
+$a->strings["Album not found."] = "Album nicht gefunden.";
+$a->strings["Delete Album"] = "Album löschen";
+$a->strings["Delete Photo"] = "Foto löschen";
+$a->strings["No photos selected"] = "Keine Fotos ausgewählt";
+$a->strings["Access to this item is restricted."] = "Der Zugriff auf dieses Foto ist eingeschränkt.";
+$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB von %2$.2f MB Foto-Speicher belegt.";
+$a->strings["%1$.2f MB photo storage used."] = "%1$.2f MB Foto-Speicher belegt.";
+$a->strings["Upload Photos"] = "Fotos hochladen";
+$a->strings["Enter a new album name"] = "Gib einen Namen für ein neues Album ein";
+$a->strings["or select an existing one (doubleclick)"] = "oder wähle ein bereits vorhandenes aus (Doppelklick)";
+$a->strings["Do not show a status post for this upload"] = "Keine Statusnachricht für diesen Upload anzeigen";
+$a->strings["Album name could not be decoded"] = "Albumname konnte nicht dekodiert werden";
+$a->strings["Contact Photos"] = "Kontakt-Bilder";
+$a->strings["Show Newest First"] = "Neueste zuerst anzeigen";
+$a->strings["Show Oldest First"] = "Älteste zuerst anzeigen";
+$a->strings["View Photo"] = "Foto ansehen";
+$a->strings["Edit Album"] = "Album bearbeiten";
+$a->strings["Permission denied. Access to this item may be restricted."] = "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden.";
+$a->strings["Photo not available"] = "Foto nicht verfügbar";
+$a->strings["Use as profile photo"] = "Als Profilfoto verwenden";
+$a->strings["Private Photo"] = "Privates Foto";
+$a->strings["View Full Size"] = "In voller Größe anzeigen";
+$a->strings["Edit photo"] = "Foto bearbeiten";
+$a->strings["Rotate CW (right)"] = "Drehen im UZS (rechts)";
+$a->strings["Rotate CCW (left)"] = "Drehen gegen UZS (links)";
+$a->strings["Caption"] = "Bildunterschrift";
+$a->strings["Add a Tag"] = "Schlagwort hinzufügen";
+$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Beispiele: @ben, @Karl_Prester, @lieschen@example.com";
+$a->strings["Flag as adult in album view"] = "In der Albumansicht als nicht jugendfrei markieren";
+$a->strings["In This Photo:"] = "Auf diesem Foto:";
+$a->strings["View Album"] = "Album ansehen";
+$a->strings["Recent Photos"] = "Neueste Fotos";
$a->strings["sent you a private message"] = "hat Dir eine private Nachricht geschickt";
$a->strings["added your channel"] = "hat deinen Kanal hinzugefügt";
$a->strings["posted an event"] = "hat einen Termin veröffentlicht";
-$a->strings["Comanche page description language help"] = "Hilfe zur Comanche-Seitenbeschreibungssprache";
-$a->strings["Layout Description"] = "Gestaltungsbeschreibung";
-$a->strings["Download PDL file"] = "PDL-Datei herunterladen";
-$a->strings["Welcome to %s"] = "Willkommen auf %s";
-$a->strings["Lorem Ipsum"] = "Lorem Ipsum";
$a->strings["Bookmark added"] = "Lesezeichen hinzugefügt";
$a->strings["My Bookmarks"] = "Meine Lesezeichen";
$a->strings["My Connections Bookmarks"] = "Lesezeichen meiner Kontakte";
$a->strings["Insufficient permissions. Request redirected to profile page."] = "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet.";
-$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal.";
+$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal.";
+$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen.";
+$a->strings["Passwords do not match."] = "Passwörter stimmen nicht überein.";
+$a->strings["Registration successful. Please check your email for validation instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet.";
+$a->strings["Your registration is pending approval by the site owner."] = "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden.";
+$a->strings["Your registration can not be processed."] = "Deine Registrierung konnte nicht verarbeitet werden.";
+$a->strings["Registration on this site/hub is by approval only."] = "Anmeldungen auf diesem Server erfordern Zustimmung durch den Administrator";
+$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registrierung auf einem anderen, angeschlossenen Server</a>";
+$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal.";
+$a->strings["Terms of Service"] = "Nutzungsbedingungen";
+$a->strings["I accept the %s for this website"] = "Ich akzeptiere die %s für diese Webseite";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite";
+$a->strings["Membership on this site is by invitation only."] = "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich.";
+$a->strings["Please enter your invitation code"] = "Bitte trage Deinen Einladungs-Code ein";
+$a->strings["Your email address"] = "Ihre E-Mail Adresse";
+$a->strings["Choose a password"] = "Passwort";
+$a->strings["Please re-enter your password"] = "Bitte gib Dein Passwort noch einmal ein";
+$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Wir haben ein Problem mit der OpenID festgestellt, mit der Du Dich anmelden wolltest. Bitte überprüfe sie noch einmal.";
+$a->strings["The error message was:"] = "Die Fehlermeldung war:";
+$a->strings["Authentication failed."] = "Authentifizierung fehlgeschlagen.";
+$a->strings["Remote Authentication"] = "Entfernte Authentifizierung";
+$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Deine Kanal-Adresse (z. B. channel@example.com)";
+$a->strings["Authenticate"] = "Authentifizieren";
$a->strings["Poll"] = "Umfrage";
-$a->strings["View Results"] = "Ergebnisse ansehen";
+$a->strings["View Results"] = "Ergebnisse";
$a->strings["No service class restrictions found."] = "Keine Dienstklassenbeschränkungen gefunden.";
$a->strings["Files: shared with me"] = "Dateien, die mit mir geteilt wurden";
-$a->strings["NEW"] = "NEU";
$a->strings["Remove all files"] = "Alle Dateien löschen";
$a->strings["Remove this file"] = "Diese Datei löschen";
-$a->strings["Schema Default"] = "Schemastandard";
-$a->strings["Sans-Serif"] = "Sans Serif";
-$a->strings["Monospace"] = "Monospace (dicktengleich)";
+$a->strings["Schema Default"] = "Standard-Schema";
+$a->strings["Sans-Serif"] = "Sans-Serif";
+$a->strings["Monospace"] = "Monospace";
$a->strings["Theme settings"] = "Theme-Einstellungen";
-$a->strings["Set scheme"] = "Schema festlegen";
-$a->strings["Set font-size for posts and comments"] = "Schriftgröße für Beiträge und Kommentare festlegen";
+$a->strings["Set scheme"] = "Schema";
+$a->strings["Set font-size for posts and comments"] = "Schriftgröße für Beiträge und Kommentare";
$a->strings["Set font face"] = "Schriftart";
-$a->strings["Set iconset"] = "Symbolsatz festlegen";
-$a->strings["Set big shadow size, default 15px 15px 15px"] = "Ausmaß der großen Schatten (Default 15px 15px 15px)";
-$a->strings["Set small shadow size, default 5px 5px 5px"] = "Ausmaß der kleinen Schatten festlegen (Voreinstellung 5px 5px 5px)";
-$a->strings["Set shadow color, default #000"] = "Schattenfarbe (Voreinstellung #000)";
-$a->strings["Set radius size, default 5px"] = "Eckenradius (Voreinstellung 5px)";
-$a->strings["Set line-height for posts and comments"] = "Zeilenhöhe für Beiträge und Kommentare";
-$a->strings["Set background image"] = "Hintergrundbild festlegen";
+$a->strings["Set iconset"] = "Icon-Set";
+$a->strings["Set big shadow size, default 15px 15px 15px"] = "Ausmaß der großen Schatten (Voreinstellung 15px 15px 15px)";
+$a->strings["Set small shadow size, default 5px 5px 5px"] = "Ausmaß der kleinen Schatten (Voreinstellung 5px 5px 5px)";
+$a->strings["Set shadow color, default #000"] = "Farbe der Schatten (Voreinstellung #000)";
+$a->strings["Set radius size, default 5px"] = "Ecken-Radius (Voreinstellung 5px)";
+$a->strings["Set line-height for posts and comments"] = "Zeilenhöhe in Beiträgen und Kommentaren";
+$a->strings["Set background image"] = "Hintergrundbild";
$a->strings["Set background attachment"] = "Hintergrunddatei";
-$a->strings["Set background color"] = "Hintergrundfarbe festlegen";
-$a->strings["Set section background image"] = "Hintergrundbild für die section";
-$a->strings["Set section background color"] = "Hintergrundfarbe für die section";
+$a->strings["Set background color"] = "Hintergrundfarbe";
+$a->strings["Set section background image"] = "Hintergrundbild für die Section";
+$a->strings["Set section background color"] = "Hintergrundfarbe für die Section";
$a->strings["Set color of items - use hex"] = "Farbe für Beiträge – Hex benutzen";
$a->strings["Set color of links - use hex"] = "Farbe für Links – Hex benutzen";
-$a->strings["Set max-width for items. Default 400px"] = "Maximalbreite von Beiträgen (Voreinstellung 400px)";
-$a->strings["Set min-width for items. Default 240px"] = "Minimalbreite von Beiträgen (Voreinstellung 240px)";
-$a->strings["Set the generic content wrapper width. Default 48%"] = "Breite des „generic content wrapper“ (Voreinstellung 48%)";
+$a->strings["Set max-width for items. Default 400px"] = "Maximale Breite von Beiträgen (Voreinstellung 400px)";
+$a->strings["Set min-width for items. Default 240px"] = "Minimale Breite von Beiträgen (Voreinstellung 240px)";
+$a->strings["Set the generic content wrapper width. Default 48%"] = "Breite des \"generic content wrapper\" (Voreinstellung 48%)";
$a->strings["Set color of fonts - use hex"] = "Schriftfarbe – Hex benutzen";
-$a->strings["Set background-size element"] = "size-Element für den Hintergrund";
-$a->strings["Item opacity"] = "Deckkraft für Beiträge";
+$a->strings["Set background-size element"] = "Größe des Hintergrund-Elements";
+$a->strings["Item opacity"] = "Deckkraft der Beiträge";
$a->strings["Display post previews only"] = "Nur Beitragsvorschau anzeigen";
-$a->strings["Display side bar on channel page"] = "Seitenleiste auf der Kanalseite anzeigen";
+$a->strings["Display side bar on channel page"] = "Zeige die Seitenleiste auf der Kanal-Seite";
$a->strings["Colour of the navigation bar"] = "Farbe der Navigationsleiste";
-$a->strings["Item float"] = "float für Beiträge";
-$a->strings["Left offset of the section element"] = "Linker offset des section-Elements";
-$a->strings["Right offset of the section element"] = "Rechter offset des section-Elements";
-$a->strings["Section width"] = "Breite der section";
-$a->strings["Left offset of the aside"] = "Linker offset der Seitenleiste";
-$a->strings["Right offset of the aside element"] = "Rechter offset der Seitenleiste";
+$a->strings["Item float"] = "Beitragsfluss";
+$a->strings["Left offset of the section element"] = "Linker Rand des Section Elements";
+$a->strings["Right offset of the section element"] = "Rechter Rand des Section Elements";
+$a->strings["Section width"] = "Breite der Section";
+$a->strings["Left offset of the aside"] = "Linker Rand des Aside-Elements";
+$a->strings["Right offset of the aside element"] = "Rechter Rand des Aside-Elements";
$a->strings["Light (Red Matrix default)"] = "Hell (RedMatrix-Voreinstellung)";
-$a->strings["Select scheme"] = "Schema wählen";
$a->strings["Narrow navbar"] = "Schmale Navigationsleiste";
$a->strings["Navigation bar background color"] = "Hintergrundfarbe der Navigationsleiste";
$a->strings["Navigation bar gradient top color"] = "Farbverlauf der Navigationsleiste: Farbe oben";
@@ -2117,33 +2049,31 @@ $a->strings["Navigation bar icon color "] = "Farbe für die Icons der Navigation
$a->strings["Navigation bar active icon color "] = "Farbe für aktive Icons der Navigationsleiste";
$a->strings["link color"] = "Farbe für Links";
$a->strings["Set font-color for banner"] = "Farbe der Schrift des Banners";
-$a->strings["Set the background color"] = "Hintergrundfarbe festlegen";
-$a->strings["Set the background image"] = "Hintergrundbild festlegen";
-$a->strings["Set the background color of items"] = "Hintergrundfarbe für Beiträge festlegen";
-$a->strings["Set the background color of comments"] = "Hintergrundfarbe für Kommentare festlegen";
-$a->strings["Set the border color of comments"] = "Farbe des Randes von Kommentaren festlegen";
-$a->strings["Set the indent for comments"] = "Einzugsbreite für Kommentare festlegen";
-$a->strings["Set the basic color for item icons"] = "Grundfarbe für Beitragssymbole festlegen";
-$a->strings["Set the hover color for item icons"] = "Farbe für Beitragssymbole unter dem Mauszeiger festlegen";
-$a->strings["Set font-size for the entire application"] = "Schriftgröße für die gesamte Anwendung festlegen";
-$a->strings["Example: 14px"] = "Beispiel: 14px";
-$a->strings["Set font-color for posts and comments"] = "Schriftfarbe für Beiträge und Kommentare festlegen";
-$a->strings["Set radius of corners"] = "Eckenradius festlegen";
-$a->strings["Set shadow depth of photos"] = "Schattentiefe von Fotos festlegen";
-$a->strings["Set maximum width of content region in pixel"] = "Maximalbreite des Inhaltsbereichs in Pixel festlegen";
-$a->strings["Leave empty for default width"] = "Leer lassen für Standardbreite";
-$a->strings["Center page content"] = "Seiteninhalt zentrieren";
-$a->strings["Set minimum opacity of nav bar - to hide it"] = "Mindestdeckkraft der Navigationsleiste festlegen - zum Verstecken";
-$a->strings["Set size of conversation author photo"] = "Größe der Avatare von Themenstartern festlegen";
-$a->strings["Set size of followup author photos"] = "Größe der Avatare von Kommentatoren festlegen";
+$a->strings["Set the background color"] = "Hintergrundfarbe";
+$a->strings["Set the background image"] = "Hintergrundbild";
+$a->strings["Set the background color of items"] = "Hintergrundfarbe für Beiträge";
+$a->strings["Set the background color of comments"] = "Hintergrundfarbe für Kommentare";
+$a->strings["Set the border color of comments"] = "Farbe des Randes von Kommentaren";
+$a->strings["Set the indent for comments"] = "Einzugsbreite für Kommentare";
+$a->strings["Set the basic color for item icons"] = "Grundfarbe für Beitrags-Icons";
+$a->strings["Set the hover color for item icons"] = "Farbe für Beitrags-Icons unter dem Mauszeiger";
+$a->strings["Set font-size for the entire application"] = "Schriftgröße für die gesamte Anwendung";
+$a->strings["Set font-color for posts and comments"] = "Schriftfarbe für Beiträge und Kommentare";
+$a->strings["Set radius of corners"] = "Ecken-Radius";
+$a->strings["Set shadow depth of photos"] = "Schattentiefe von Fotos";
+$a->strings["Set maximum width of conversation regions"] = "Maximalbreite der Unterhaltungsbereiche";
+$a->strings["Center conversation regions"] = "Konversationsbereich zentrieren";
+$a->strings["Set minimum opacity of nav bar - to hide it"] = "Mindest-Deckkraft der Navigationsleiste ( - versteckt sie)";
+$a->strings["Set size of conversation author photo"] = "Größe der Avatare von Themenstartern";
+$a->strings["Set size of followup author photos"] = "Größe der Avatare von Kommentatoren";
+$a->strings["Sloppy photo albums"] = "Schräge Fotoalben";
+$a->strings["Are you a clean desk or a messy desk person?"] = "Bist Du jemand, der einen aufgeräumten Schreibtisch hat, oder eher einen chaotischen?";
$a->strings["Update %s failed. See error logs."] = "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen.";
$a->strings["Update Error at %s"] = "Aktualisierungsfehler auf %s";
$a->strings["Create an account to access services and applications within the Red Matrix"] = "Erstelle einen Account, um Anwendungen und Dienste innerhalb der Red-Matrix verwenden zu können.";
$a->strings["Password"] = "Kennwort";
$a->strings["Remember me"] = "Angaben speichern";
$a->strings["Forgot your password?"] = "Passwort vergessen?";
+$a->strings["permission denied"] = "Zugriff verweigert";
+$a->strings["Got Zot?"] = "Haste schon Zot?";
$a->strings["toggle mobile"] = "auf/von mobile Ansicht wechseln";
-$a->strings["Website SSL certificate is not valid. Please correct."] = "Das SSL-Zertifikat der Website ist nicht gültig. Bitte beheben.";
-$a->strings["[red] Website SSL error for %s"] = "[red] Website-SSL-Fehler für %s";
-$a->strings["Cron/Scheduled tasks not running."] = "Cron-Aufgaben laufen nicht.";
-$a->strings["[red] Cron tasks not running on %s"] = "[red] Cron-Aufgaben für %s laufen nicht";
diff --git a/view/en-au/htconfig.tpl b/view/en-au/htconfig.tpl
index 9377472bd..c3bef0de3 100644
--- a/view/en-au/htconfig.tpl
+++ b/view/en-au/htconfig.tpl
@@ -30,7 +30,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
diff --git a/view/en-au/update_fail_eml.tpl b/view/en-au/update_fail_eml.tpl
index a7df8fc2f..61f44b1e6 100644
--- a/view/en-au/update_fail_eml.tpl
+++ b/view/en-au/update_fail_eml.tpl
@@ -1,7 +1,7 @@
Hey,
I'm the web server at {{$sitename}};
-The Red Matrix developers released update {{$update}} recently,
+The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and it requires human intervention.
Please contact a Red developer if you can not figure out how to
diff --git a/view/en-gb/htconfig.tpl b/view/en-gb/htconfig.tpl
index 9377472bd..c3bef0de3 100644
--- a/view/en-gb/htconfig.tpl
+++ b/view/en-gb/htconfig.tpl
@@ -30,7 +30,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
diff --git a/view/en-gb/strings.php b/view/en-gb/strings.php
index a95915844..1cac5673e 100644
--- a/view/en-gb/strings.php
+++ b/view/en-gb/strings.php
@@ -25,7 +25,7 @@ $a->strings["Set font-color for posts and comments"] = "Set font-colour for post
$a->strings["Authorize application connection"] = "Authorise application connection";
$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Do you want to authorise this application to access your posts and contacts, and/or create new posts for you?";
$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "If your certificate is not recognised, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues.";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "This is a hub of the Red Matrix - a global cooperative network of decentralised privacy enhanced websites.";
-$a->strings["You are cordially invited to join me and some other close friends on the Red Matrix - a revolutionary new decentralized communication and information tool."] = "You are cordially invited to join me and some other close friends on the Red Matrix - a revolutionary new decentralised communication and information tool.";
+$a->strings["This is a hub of the Hubzilla - a global cooperative network of decentralized privacy enhanced websites."] = "This is a hub of the Hubzilla - a global cooperative network of decentralised privacy enhanced websites.";
+$a->strings["You are cordially invited to join me and some other close friends on the Hubzilla - a revolutionary new decentralized communication and information tool."] = "You are cordially invited to join me and some other close friends on the Hubzilla - a revolutionary new decentralised communication and information tool.";
$a->strings["l F d, Y \\@ g:i A"] = "l j F, Y \\@ G:i";
$a->strings["D, d M Y - g:i A"] = "D, d M Y - G:i";
diff --git a/view/en-gb/update_fail_eml.tpl b/view/en-gb/update_fail_eml.tpl
index a7df8fc2f..61f44b1e6 100644
--- a/view/en-gb/update_fail_eml.tpl
+++ b/view/en-gb/update_fail_eml.tpl
@@ -1,7 +1,7 @@
Hey,
I'm the web server at {{$sitename}};
-The Red Matrix developers released update {{$update}} recently,
+The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and it requires human intervention.
Please contact a Red developer if you can not figure out how to
diff --git a/view/en/cert_bad_eml.tpl b/view/en/cert_bad_eml.tpl
index f4b197131..e42b9696c 100644
--- a/view/en/cert_bad_eml.tpl
+++ b/view/en/cert_bad_eml.tpl
@@ -1,11 +1,11 @@
This is the webserver at {{$sitename}};
A routine check indicates the SSL certificate for this website is
-not valid. Your website cannot fully participate in the RedMatrix
+not valid. Your website cannot fully participate in the Hubzilla
until this is resolved. Please check your certificate and with your
certificate provider or service provider to ensure it is "browser valid"
and installed correctly. Self-signed certificates are NOT SUPPORTED
-and NOT ALLOWED in the RedMatrix.
+and NOT ALLOWED in the Hubzilla.
The check is performed by fetching a URL from your website with strict
SSL checking enabled, and if this fails, checking again with SSL
diff --git a/view/en/htconfig.tpl b/view/en/htconfig.tpl
index 066ae39d8..c6357b3a7 100644
--- a/view/en/htconfig.tpl
+++ b/view/en/htconfig.tpl
@@ -31,7 +31,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
diff --git a/view/en/update_fail_eml.tpl b/view/en/update_fail_eml.tpl
index a7df8fc2f..61f44b1e6 100644
--- a/view/en/update_fail_eml.tpl
+++ b/view/en/update_fail_eml.tpl
@@ -1,7 +1,7 @@
Hey,
I'm the web server at {{$sitename}};
-The Red Matrix developers released update {{$update}} recently,
+The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and it requires human intervention.
Please contact a Red developer if you can not figure out how to
diff --git a/view/eo/htconfig.tpl b/view/eo/htconfig.tpl
index 096143798..cc4087f96 100644
--- a/view/eo/htconfig.tpl
+++ b/view/eo/htconfig.tpl
@@ -30,7 +30,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
diff --git a/view/eo/update_fail_eml.tpl b/view/eo/update_fail_eml.tpl
index a7df8fc2f..61f44b1e6 100644
--- a/view/eo/update_fail_eml.tpl
+++ b/view/eo/update_fail_eml.tpl
@@ -1,7 +1,7 @@
Hey,
I'm the web server at {{$sitename}};
-The Red Matrix developers released update {{$update}} recently,
+The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and it requires human intervention.
Please contact a Red developer if you can not figure out how to
diff --git a/view/es/update_fail_eml.tpl b/view/es/update_fail_eml.tpl
index 96f068a67..6643947bb 100644
--- a/view/es/update_fail_eml.tpl
+++ b/view/es/update_fail_eml.tpl
@@ -1,13 +1,14 @@
Hey,
Soy el servidor web en {{$sitename}};
-Los desarrolladores de The Red Matrix han lanzado la actualización {{$update}} recientemente,
+Los desarrolladores de RedMatrix/Hubzilla han lanzado la actualización {{$update}} recientemente,
pero cuando se intentaba instalar, alguna cosa ha ido terriblemente mal.
Esto requiere intervención humana tan pronto como sea posible.
Por favor, contacte con algún desarrollador de Red si no puede arreglarlo
por sí mismo. Mi base se datos puede quedar inservible.
+
El mensaje de error ha sido el siguiente: '{{$error}}'.
Disculpe por cualquier inconveniente causado,
- su servidor web en {{$siteurl}} \ No newline at end of file
+ su servidor web en {{$siteurl}}
diff --git a/view/fr/messages.po b/view/fr/messages.po
index dfff156a2..c54cd5f2c 100644
--- a/view/fr/messages.po
+++ b/view/fr/messages.po
@@ -1,18 +1,18 @@
-# Red Matrix Project
-# Copyright (C) 2012-2014 the Red Matrix Project
+# Hubzilla Project
+# Copyright (C) 2012-2014 the Hubzilla Project
# This file is distributed under the same license as the Red package.
#
# Translators:
# Olivier <olivier+transifex@migeot.org>, 2013-2014
-# Webmaster_Redmatrix.ca <webmaster@redmatrix.ca>, 2014
-# Webmaster_Redmatrix.ca <webmaster@redmatrix.ca>, 2014
+# Webmaster_Hubzilla.ca <webmaster@hubzilla.ca>, 2014
+# Webmaster_Hubzilla.ca <webmaster@hubzilla.ca>, 2014
msgid ""
msgstr ""
-"Project-Id-Version: Red Matrix\n"
+"Project-Id-Version: Hubzilla\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-08-15 00:03-0700\n"
"PO-Revision-Date: 2014-08-17 00:08+0000\n"
-"Last-Translator: Webmaster_Redmatrix.ca <webmaster@redmatrix.ca>\n"
+"Last-Translator: Webmaster_Hubzilla.ca <webmaster@hubzilla.ca>\n"
"Language-Team: French (http://www.transifex.com/projects/p/red-matrix/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1410,11 +1410,11 @@ msgid "Safe Mode"
msgstr "Mode sûr"
#: ../../include/enotify.php:41
-msgid "Red Matrix Notification"
+msgid "Hubzilla Notification"
msgstr "Notification Matrice Rouge"
#: ../../include/enotify.php:42
-msgid "redmatrix"
+msgid "hubzilla"
msgstr "Matrice Rouge"
#: ../../include/enotify.php:44
@@ -4599,7 +4599,7 @@ msgstr "Sites publics"
#: ../../mod/pubsites.php:19
msgid ""
-"The listed sites allow public registration into the Red Matrix. All sites in"
+"The listed sites allow public registration into the Hubzilla. All sites in"
" the matrix are interlinked so membership on any of them conveys membership "
"in the matrix as a whole. Some sites may require subscription or provide "
"tiered service plans. The provider links <strong>may</strong> provide "
@@ -4775,7 +4775,7 @@ msgid "Please login."
msgstr "Merci de vous connecter."
#: ../../mod/cloud.php:126
-msgid "Red Matrix - Guests: Username: {your email address}, Password: +++"
+msgid "Hubzilla - Guests: Username: {your email address}, Password: +++"
msgstr "Matrice Rouge - Pour les invités: Nom d'utilisateur = {votre courriel}, Mot de passe = +++"
#: ../../mod/removeme.php:29
@@ -5413,7 +5413,7 @@ msgid "This site is not a directory server"
msgstr "Ce site n'est pas un serveur d'annuaire"
#: ../../mod/home.php:81
-msgid "Red Matrix - &quot;The Network&quot;"
+msgid "Hubzilla - &quot;The Network&quot;"
msgstr "La Matrice Rouge - &quot;LE Réseau&quot;"
#: ../../mod/home.php:94
@@ -5422,7 +5422,7 @@ msgid "Welcome to %s"
msgstr "Bienvenue sur %s"
#: ../../mod/setup.php:162
-msgid "Red Matrix Server - Setup"
+msgid "Hubzilla Server - Setup"
msgstr "Serveur de la Matrice Rouge - Configuration"
#: ../../mod/setup.php:168
@@ -5471,7 +5471,7 @@ msgstr "Connexion à la base de données"
#: ../../mod/setup.php:285
msgid ""
-"In order to install Red Matrix we need to know how to connect to your "
+"In order to install Hubzilla we need to know how to connect to your "
"database."
msgstr "Pour installer la Matrice Rouge, nous avons besoin de savoir comment contacter votre base de données."
@@ -5908,7 +5908,7 @@ msgstr "Rouge"
#: ../../mod/siteinfo.php:98
msgid ""
-"This is a hub of the Red Matrix - a global cooperative network of "
+"This is a hub of the Hubzilla - a global cooperative network of "
"decentralized privacy enhanced websites."
msgstr "Ceci est un serveur de la Matrice Rouge - un réseau collaboratif de plusieurs serveurs qui assurent la protection de votre vie privée notamment par la décentralisation de votre identité."
@@ -5919,7 +5919,7 @@ msgstr "Installée sur"
#: ../../mod/siteinfo.php:102
msgid ""
"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
-"about the Red Matrix."
+"about the Hubzilla."
msgstr "Merci de visiter <a href=\"http://getzot.com\">GetZot.com</a> pour en apprendre davantage sur la Matrice Rouge."
#: ../../mod/siteinfo.php:103
@@ -5928,9 +5928,9 @@ msgstr "Pour remonter bogues et problèmes, merci de visiter"
#: ../../mod/siteinfo.php:106
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot "
"com"
-msgstr "Suggestions, demandes, etc. - merci de vous adresser à \"redmatrix\" à librelist - point com"
+msgstr "Suggestions, demandes, etc. - merci de vous adresser à \"hubzilla\" à librelist - point com"
#: ../../mod/siteinfo.php:108
msgid "Site Administrators"
@@ -7114,7 +7114,7 @@ msgid "Your message:"
msgstr "Votre message&nbsp;:"
#: ../../mod/invite.php:132
-msgid "Please join my community on RedMatrix."
+msgid "Please join my community on Hubzilla."
msgstr "Veuillez me rejoindre sur la Matrice Rouge."
#: ../../mod/invite.php:134
@@ -7122,11 +7122,11 @@ msgid "You will need to supply this invitation code: "
msgstr "Vous aurez besoin de fournir le code suivant:"
#: ../../mod/invite.php:135
-msgid "1. Register at any RedMatrix location (they are all inter-connected)"
+msgid "1. Register at any Hubzilla location (they are all inter-connected)"
msgstr "1. Enregistrez-vous sur n'importe quel serveurs ( ils sont tous inter-connectés )"
#: ../../mod/invite.php:137
-msgid "2. Enter my RedMatrix network address into the site searchbar."
+msgid "2. Enter my Hubzilla network address into the site searchbar."
msgstr "2. Saisissez l'adresse de mon canal dans la barre de recherche du site."
#: ../../mod/invite.php:138
@@ -7186,8 +7186,8 @@ msgstr "Cette action est réservée aux membres."
#: ../../mod/like.php:21
msgid ""
-"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
-"href=\"register\">register as a new RedMatrix member</a> to continue."
+"Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a "
+"href=\"register\">register as a new Redmatrix.member</a> to continue."
msgstr "SVP <a href=\"rmagic\">connectez-vous</a> ou <a href=\"register\">enregistrez-vous</a> pour continuer."
#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
@@ -7871,7 +7871,7 @@ msgid "Header image only on profile pages"
msgstr "Image de l'entête tel qu'elle est affichée sur la page du profil"
#: ../../view/theme/redbasic/php/config.php:84
-msgid "Light (Red Matrix default)"
+msgid "Light (Hubzilla default)"
msgstr "Blanc (valeur par défaut)"
#: ../../view/theme/redbasic/php/config.php:104
@@ -8006,7 +8006,7 @@ msgstr "Erreur de mise à jour sur %s"
#: ../../boot.php:1473
msgid ""
-"Create an account to access services and applications within the Red Matrix"
+"Create an account to access services and applications within the Hubzilla"
msgstr "Créez un compte pour pouvoir accéder aux services et applications de la Matrice Red"
#: ../../boot.php:1501
diff --git a/view/fr/strings.php b/view/fr/strings.php
index 03a6a0fee..f73230b1d 100644
--- a/view/fr/strings.php
+++ b/view/fr/strings.php
@@ -333,8 +333,8 @@ $a->strings["Newest to Oldest"] = "Anté-chronologique";
$a->strings["Enable Safe Search"] = "Activer la recherche sûre";
$a->strings["Disable Safe Search"] = "Désactiver la recherche sûre";
$a->strings["Safe Mode"] = "Mode sûr";
-$a->strings["Red Matrix Notification"] = "Notification Matrice Rouge";
-$a->strings["redmatrix"] = "Matrice Rouge";
+$a->strings["Hubzilla Notification"] = "Notification Matrice Rouge";
+$a->strings["hubzilla"] = "Matrice Rouge";
$a->strings["Thank You,"] = "Merci,";
$a->strings["%s Administrator"] = "l'administrateur de %s";
$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
@@ -1090,7 +1090,7 @@ $a->strings["Click on a contact to add or remove."] = "Cliquez sur un contact po
$a->strings["Visible To"] = "Visible par";
$a->strings["All Connections"] = "Toutes les relations";
$a->strings["Public Sites"] = "Sites publics";
-$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Les sites listés autorisent l'inscription pour tous. Tous sont liés entre eux, de manière à ce qu'un compte sur un seul d'entre eux soit valable sur l'ensemble de la matrice. Certains sites peuvent demander des frais de souscriptions, ou fournir des forfaits ajustés. Le lien \"fournisseur\" <strong>peut</strong> vous donner des détails supplémentaires.";
+$a->strings["The listed sites allow public registration into the Hubzilla. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Les sites listés autorisent l'inscription pour tous. Tous sont liés entre eux, de manière à ce qu'un compte sur un seul d'entre eux soit valable sur l'ensemble de la matrice. Certains sites peuvent demander des frais de souscriptions, ou fournir des forfaits ajustés. Le lien \"fournisseur\" <strong>peut</strong> vous donner des détails supplémentaires.";
$a->strings["Site URL"] = "URL du site";
$a->strings["Access Type"] = "Type d'accès";
$a->strings["Registration Policy"] = "Politique d'inscription";
@@ -1131,7 +1131,7 @@ $a->strings["Please re-enter your password"] = "Confirmez-le";
$a->strings["Away"] = "Absent";
$a->strings["Online"] = "En ligne";
$a->strings["Please login."] = "Merci de vous connecter.";
-$a->strings["Red Matrix - Guests: Username: {your email address}, Password: +++"] = "Matrice Rouge - Pour les invités: Nom d'utilisateur = {votre courriel}, Mot de passe = +++";
+$a->strings["Hubzilla - Guests: Username: {your email address}, Password: +++"] = "Matrice Rouge - Pour les invités: Nom d'utilisateur = {votre courriel}, Mot de passe = +++";
$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Il est impossible de supprimer un canal à l'intérieur de 48 heures après avoir changé le mot de passe d'un compte.";
$a->strings["Remove This Channel"] = "Supprimer ce Canal";
$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Ceci effacera complètement le canal du réseau. Une fois effacé, un canal ne PEUT PAS être récupéré.";
@@ -1280,9 +1280,9 @@ $a->strings["Hometown: "] = "Ville natale&nbsp;:";
$a->strings["About: "] = "À propos&nbsp;:";
$a->strings["Keywords: "] = "Mots-clefs&nbsp;:";
$a->strings["This site is not a directory server"] = "Ce site n'est pas un serveur d'annuaire";
-$a->strings["Red Matrix - &quot;The Network&quot;"] = "La Matrice Rouge - &quot;LE Réseau&quot;";
+$a->strings["Hubzilla - &quot;The Network&quot;"] = "La Matrice Rouge - &quot;LE Réseau&quot;";
$a->strings["Welcome to %s"] = "Bienvenue sur %s";
-$a->strings["Red Matrix Server - Setup"] = "Serveur de la Matrice Rouge - Configuration";
+$a->strings["Hubzilla Server - Setup"] = "Serveur de la Matrice Rouge - Configuration";
$a->strings["Could not connect to database."] = "Impossible de se connecter à la base de données.";
$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Impossible de se connecter au site par l'URL indiquée. Problème potentiel de certificat SSL/TLS ou de DNS.";
$a->strings["Could not create table."] = "Impossible de créer la table.";
@@ -1293,7 +1293,7 @@ $a->strings["System check"] = "Vérification du système";
$a->strings["Next"] = "Suivant";
$a->strings["Check again"] = "Re-vérifier";
$a->strings["Database connection"] = "Connexion à la base de données";
-$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "Pour installer la Matrice Rouge, nous avons besoin de savoir comment contacter votre base de données.";
+$a->strings["In order to install Hubzilla we need to know how to connect to your database."] = "Pour installer la Matrice Rouge, nous avons besoin de savoir comment contacter votre base de données.";
$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Merci de contacter votre prestataire d'hébergement ou votre administrateur système si vous avez des doutes à propos de ces paramètres.";
$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "La base de données que vous allez spécifier doit exister. Si ce n'est pas déjà le cas, merci de la créer avant de continuer.";
$a->strings["Database Server Name"] = "Nom du serveur de la base de données";
@@ -1385,11 +1385,11 @@ $a->strings["Version %s"] = "Version %s";
$a->strings["Installed plugins/addons/apps:"] = "Extensions/applications installées&nbsp;:";
$a->strings["No installed plugins/addons/apps"] = "Aucune extension/application installée";
$a->strings["Red"] = "Rouge";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Ceci est un serveur de la Matrice Rouge - un réseau collaboratif de plusieurs serveurs qui assurent la protection de votre vie privée notamment par la décentralisation de votre identité.";
+$a->strings["This is a hub of the Hubzilla - a global cooperative network of decentralized privacy enhanced websites."] = "Ceci est un serveur de la Matrice Rouge - un réseau collaboratif de plusieurs serveurs qui assurent la protection de votre vie privée notamment par la décentralisation de votre identité.";
$a->strings["Running at web location"] = "Installée sur";
-$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Red Matrix."] = "Merci de visiter <a href=\"http://getzot.com\">GetZot.com</a> pour en apprendre davantage sur la Matrice Rouge.";
+$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Hubzilla."] = "Merci de visiter <a href=\"http://getzot.com\">GetZot.com</a> pour en apprendre davantage sur la Matrice Rouge.";
$a->strings["Bug reports and issues: please visit"] = "Pour remonter bogues et problèmes, merci de visiter";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Suggestions, demandes, etc. - merci de vous adresser à \"redmatrix\" à librelist - point com";
+$a->strings["Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot com"] = "Suggestions, demandes, etc. - merci de vous adresser à \"hubzilla\" à librelist - point com";
$a->strings["Site Administrators"] = "Administrateurs du site";
$a->strings["Page owner information could not be retrieved."] = "Impossible d'obtenir des informations sur le propriétaire de la page.";
$a->strings["Album not found."] = "Album introuvable.";
@@ -1677,10 +1677,10 @@ $a->strings["You have no more invitations available"] = "Vous ne disposez plus d
$a->strings["Send invitations"] = "Envoyer des invitations";
$a->strings["Enter email addresses, one per line:"] = "Entrez les adresses de courriel, une par ligne&nbsp;:";
$a->strings["Your message:"] = "Votre message&nbsp;:";
-$a->strings["Please join my community on RedMatrix."] = "Veuillez me rejoindre sur la Matrice Rouge.";
+$a->strings["Please join my community on Hubzilla."] = "Veuillez me rejoindre sur la Matrice Rouge.";
$a->strings["You will need to supply this invitation code: "] = "Vous aurez besoin de fournir le code suivant:";
-$a->strings["1. Register at any RedMatrix location (they are all inter-connected)"] = "1. Enregistrez-vous sur n'importe quel serveurs ( ils sont tous inter-connectés )";
-$a->strings["2. Enter my RedMatrix network address into the site searchbar."] = "2. Saisissez l'adresse de mon canal dans la barre de recherche du site.";
+$a->strings["1. Register at any Hubzilla location (they are all inter-connected)"] = "1. Enregistrez-vous sur n'importe quel serveurs ( ils sont tous inter-connectés )";
+$a->strings["2. Enter my Hubzilla network address into the site searchbar."] = "2. Saisissez l'adresse de mon canal dans la barre de recherche du site.";
$a->strings["or visit "] = "ou visitez";
$a->strings["3. Click [Connect]"] = "3. Click sur [Ajouter]";
$a->strings["Unable to locate original post."] = "Impossible de localiser la publication initiale.";
@@ -1694,7 +1694,7 @@ $a->strings["Help with this feature"] = "Aide avec cette fonctionnalité";
$a->strings["Layout Name"] = "Nom de la mise-en-page";
$a->strings["Like/Dislike"] = "J'aime/Je Déteste";
$a->strings["This action is restricted to members."] = "Cette action est réservée aux membres.";
-$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "SVP <a href=\"rmagic\">connectez-vous</a> ou <a href=\"register\">enregistrez-vous</a> pour continuer.";
+$a->strings["Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a href=\"register\">register as a new Redmatrix.member</a> to continue."] = "SVP <a href=\"rmagic\">connectez-vous</a> ou <a href=\"register\">enregistrez-vous</a> pour continuer.";
$a->strings["Invalid request."] = "Requête invalide.";
$a->strings["thing"] = "chose";
$a->strings["Channel unavailable."] = "Canal indisponible.";
@@ -1856,7 +1856,7 @@ $a->strings["Right offset of the aside element"] = "Décalage droit du panneau l
$a->strings["None"] = "Aucun";
$a->strings["Header image"] = "Image de l'entête";
$a->strings["Header image only on profile pages"] = "Image de l'entête tel qu'elle est affichée sur la page du profil";
-$a->strings["Light (Red Matrix default)"] = "Blanc (valeur par défaut)";
+$a->strings["Light (Hubzilla default)"] = "Blanc (valeur par défaut)";
$a->strings["Narrow navbar"] = "Barre de navigation fine";
$a->strings["Navigation bar background color"] = "Couleur de fond de la barre de navigation";
$a->strings["Navigation bar gradient top color"] = "Gradient de la barre de navigation HAUT";
@@ -1889,7 +1889,7 @@ $a->strings["Sloppy photo albums"] = "Albums photo \"en biais\"";
$a->strings["Are you a clean desk or a messy desk person?"] = "Vous êtes plutôt \"bureau bien rangé\" ou \"gros foutoir\"?";
$a->strings["Update %s failed. See error logs."] = "La mise à jour %s a échoué. Merci de consulter les journaux d'erreur.";
$a->strings["Update Error at %s"] = "Erreur de mise à jour sur %s";
-$a->strings["Create an account to access services and applications within the Red Matrix"] = "Créez un compte pour pouvoir accéder aux services et applications de la Matrice Red";
+$a->strings["Create an account to access services and applications within the Hubzilla"] = "Créez un compte pour pouvoir accéder aux services et applications de la Matrice Red";
$a->strings["Password"] = "Mot de passe";
$a->strings["Remember me"] = "Se souvenir de moi";
$a->strings["Forgot your password?"] = "Mot de passe oublié?";
diff --git a/view/it/htconfig.tpl b/view/it/htconfig.tpl
index 096143798..cc4087f96 100644
--- a/view/it/htconfig.tpl
+++ b/view/it/htconfig.tpl
@@ -30,7 +30,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
diff --git a/view/it/messages.po b/view/it/messages.po
index 3e2538443..4a0117f9d 100644
--- a/view/it/messages.po
+++ b/view/it/messages.po
@@ -1,5 +1,5 @@
-# Red Matrix Project
-# Copyright (C) 2012-2014 the Red Matrix Project
+# Hubzilla Project
+# Copyright (C) 2012-2014 the Hubzilla Project
# This file is distributed under the same license as the Red package.
#
# Translators:
@@ -11,10 +11,10 @@
# tuscanhobbit <pynolo@tarine.net>, 2013-2015
msgid ""
msgstr ""
-"Project-Id-Version: Redmatrix\n"
+"Project-Id-Version: Hubzilla\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-31 00:03-0700\n"
-"PO-Revision-Date: 2015-08-03 07:18+0000\n"
+"POT-Creation-Date: 2015-04-24 00:03-0700\n"
+"PO-Revision-Date: 2015-05-04 14:29+0000\n"
"Last-Translator: tuscanhobbit <pynolo@tarine.net>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/red-matrix/language/it/)\n"
"MIME-Version: 1.0\n"
@@ -30,108 +30,24 @@ msgstr "Non trovo le informazioni DNS per il database server '%s'"
#: ../../include/photo/photo_driver.php:687 ../../mod/profile_photo.php:143
#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
-#: ../../mod/photos.php:92 ../../mod/photos.php:637
+#: ../../mod/photos.php:91 ../../mod/photos.php:625
msgid "Profile Photos"
msgstr "Foto del profilo"
-#: ../../include/menu.php:107 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:266
-#: ../../include/ItemObject.php:100 ../../include/apps.php:254
-#: ../../mod/webpages.php:181 ../../mod/thing.php:227
-#: ../../mod/connections.php:382 ../../mod/connections.php:395
-#: ../../mod/connections.php:414 ../../mod/blocks.php:153
-#: ../../mod/editpost.php:106 ../../mod/editlayout.php:133
-#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:134
-#: ../../mod/menu.php:103 ../../mod/settings.php:650 ../../mod/layouts.php:183
-msgid "Edit"
-msgstr "Modifica"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Frequentemente"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Ogni ora"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Due volte al giorno"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Ogni giorno"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Ogni settimana"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Ogni mese"
-
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
-#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
-#: ../../boot.php:1553
-msgid "Email"
-msgstr "Email"
-
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/security.php:349
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
#: ../../include/notify.php:23
msgid "created a new post"
-msgstr "Ha creato un nuovo post"
+msgstr "Ha creato un nuovo articolo"
#: ../../include/notify.php:24
#, php-format
msgid "commented on %s's post"
-msgstr "ha commentato il post di %s"
-
-#: ../../include/Import/import_diaspora.php:17
-msgid "No username found in import file."
-msgstr "Impossibile trovare il nome utente nel file da importare."
-
-#: ../../include/Import/import_diaspora.php:42 ../../mod/import.php:156
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "Impossibile creare un indirizzo univoco per il canale. L'import è fallito."
-
-#: ../../include/Import/import_diaspora.php:140 ../../mod/import.php:504
-msgid "Import completed."
-msgstr "L'importazione è terminata con successo!"
+msgstr "ha commentato l'articolo di %s"
#: ../../include/group.php:26
msgid ""
@@ -144,7 +60,7 @@ msgstr "È stato ripristinato un insieme con lo stesso nome che era stato elimin
msgid "Default privacy group for new contacts"
msgstr "Insieme predefinito per i canali che inizi a seguire"
-#: ../../include/group.php:254 ../../mod/admin.php:831
+#: ../../include/group.php:254 ../../mod/admin.php:822
msgid "All Channels"
msgstr "Tutti i canali"
@@ -211,7 +127,7 @@ msgid "Registration request at %s"
msgstr "Richiesta di registrazione su %s"
#: ../../include/account.php:314 ../../include/account.php:341
-#: ../../include/account.php:401 ../../include/network.php:1632
+#: ../../include/account.php:401
msgid "Administrator"
msgstr "Amministratore"
@@ -257,12 +173,12 @@ msgstr "Altro"
msgid "YYYY-MM-DD or MM-DD"
msgstr "AAAA-MM-GG oppure MM-GG"
-#: ../../include/datetime.php:235 ../../mod/events.php:649
+#: ../../include/datetime.php:235 ../../mod/events.php:635
#: ../../mod/appman.php:91 ../../mod/appman.php:92
msgid "Required"
msgstr "Obbligatorio"
-#: ../../include/datetime.php:262 ../../boot.php:2354
+#: ../../include/datetime.php:262 ../../boot.php:2342
msgid "never"
msgstr "mai"
@@ -342,69 +258,41 @@ msgstr "Compleanno di %1$s"
msgid "Happy Birthday %1$s"
msgstr "Buon compleanno %1$s"
-#: ../../include/dir_fns.php:126
-msgid "Directory Options"
-msgstr "Opzioni elenco pubblico"
-
-#: ../../include/dir_fns.php:128
-msgid "Safe Mode"
-msgstr "Modalità SafeSearch"
-
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:106
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:428
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../mod/connedit.php:635 ../../mod/connedit.php:663
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "No"
-msgstr "No"
-
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:105
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:430
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "Yes"
-msgstr "Si"
-
-#: ../../include/dir_fns.php:129
-msgid "Public Forums Only"
-msgstr "Solo forum pubblici"
-
-#: ../../include/dir_fns.php:130
-msgid "This Website Only"
-msgstr "Solo in questo sito"
-
#: ../../include/page_widgets.php:6
msgid "New Page"
msgstr "Nuova pagina web"
-#: ../../include/page_widgets.php:39 ../../mod/webpages.php:187
-#: ../../mod/blocks.php:159 ../../mod/layouts.php:188
+#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../include/RedDAV/RedBrowser.php:269 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:43
+#: ../../mod/settings.php:644 ../../mod/thing.php:227
+#: ../../mod/connections.php:382 ../../mod/connections.php:395
+#: ../../mod/connections.php:414 ../../mod/editlayout.php:139
+#: ../../mod/editwebpage.php:178 ../../mod/editpost.php:113
+#: ../../mod/menu.php:100 ../../mod/webpages.php:179
+#: ../../mod/editblock.php:140 ../../mod/blocks.php:148
+#: ../../mod/layouts.php:174
+msgid "Edit"
+msgstr "Modifica"
+
+#: ../../include/page_widgets.php:39 ../../mod/webpages.php:185
+#: ../../mod/blocks.php:154 ../../mod/layouts.php:178
msgid "View"
msgstr "Guarda"
#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
-#: ../../include/conversation.php:1155 ../../mod/webpages.php:188
-#: ../../mod/events.php:667 ../../mod/editpost.php:143
-#: ../../mod/photos.php:982 ../../mod/editwebpage.php:214
-#: ../../mod/editblock.php:170
+#: ../../include/conversation.php:1153 ../../mod/events.php:653
+#: ../../mod/photos.php:970 ../../mod/editwebpage.php:214
+#: ../../mod/editpost.php:149 ../../mod/webpages.php:186
+#: ../../mod/editblock.php:176
msgid "Preview"
msgstr "Anteprima"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:187
msgid "Actions"
msgstr "Azioni"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:188
msgid "Page Link"
msgstr "Link alla pagina"
@@ -412,31 +300,89 @@ msgstr "Link alla pagina"
msgid "Title"
msgstr "Titolo"
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:192
-#: ../../mod/blocks.php:150 ../../mod/menu.php:105 ../../mod/layouts.php:181
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:190
+#: ../../mod/blocks.php:145
msgid "Created"
msgstr "Creato"
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:193
-#: ../../mod/blocks.php:151 ../../mod/menu.php:106 ../../mod/layouts.php:182
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:191
+#: ../../mod/blocks.php:146
msgid "Edited"
msgstr "Modificato"
-#: ../../include/api.php:1193
+#: ../../include/api.php:1158
msgid "Public Timeline"
msgstr "Diario pubblico"
-#: ../../include/comanche.php:34 ../../mod/admin.php:390
+#: ../../include/comanche.php:34 ../../mod/admin.php:386
#: ../../view/theme/apw/php/config.php:185
msgid "Default"
msgstr "Predefinito"
+#: ../../include/dir_fns.php:143
+msgid "Directory Options"
+msgstr "Opzioni elenco pubblico"
+
+#: ../../include/dir_fns.php:144
+msgid "Alphabetic"
+msgstr "Alfabetico"
+
+#: ../../include/dir_fns.php:145
+msgid "Reverse Alphabetic"
+msgstr "Alfabetico inverso"
+
+#: ../../include/dir_fns.php:146
+msgid "Newest to Oldest"
+msgstr "Prima i più recenti"
+
+#: ../../include/dir_fns.php:147
+msgid "Oldest to Newest"
+msgstr "Prima i più vecchi"
+
+#: ../../include/dir_fns.php:148
+msgid "Sort"
+msgstr "Ordinamento"
+
+#: ../../include/dir_fns.php:152
+msgid "Safe Mode"
+msgstr "Modalità SafeSearch"
+
+#: ../../include/dir_fns.php:154
+msgid "Public Forums Only"
+msgstr "Solo forum pubblici"
+
+#: ../../include/dir_fns.php:155
+msgid "This Website Only"
+msgstr "Solo in questo sito"
+
+#: ../../include/event.php:19 ../../include/bb2diaspora.php:451
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
+
+#: ../../include/event.php:27 ../../include/bb2diaspora.php:457
+msgid "Starts:"
+msgstr "Inizio:"
+
+#: ../../include/event.php:37 ../../include/bb2diaspora.php:465
+msgid "Finishes:"
+msgstr "Fine:"
+
+#: ../../include/event.php:47 ../../include/bb2diaspora.php:473
+#: ../../include/identity.php:874 ../../mod/events.php:647
+#: ../../mod/directory.php:234
+msgid "Location:"
+msgstr "Luogo:"
+
+#: ../../include/event.php:391
+msgid "This event has been added to your calendar."
+msgstr "Questo evento è stato aggiunto al tuo calendario"
+
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr "Eliminare questo elemento?"
#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
-#: ../../mod/photos.php:980 ../../mod/photos.php:1098
+#: ../../mod/photos.php:968 ../../mod/photos.php:1086
msgid "Comment"
msgstr "Commento"
@@ -464,7 +410,7 @@ msgstr "Password troppo corta"
msgid "Passwords do not match"
msgstr "Le password non corrispondono"
-#: ../../include/js_strings.php:13 ../../mod/photos.php:40
+#: ../../include/js_strings.php:13 ../../mod/photos.php:39
msgid "everybody"
msgstr "tutti"
@@ -493,7 +439,6 @@ msgid "Rate This Channel (this is public)"
msgstr "Valuta questo canale (visibile a tutti)"
#: ../../include/js_strings.php:20 ../../mod/rate.php:156
-#: ../../mod/connedit.php:671
msgid "Rating"
msgstr "Valutazioni"
@@ -502,26 +447,25 @@ msgid "Describe (optional)"
msgstr "Descrizione (facoltativa)"
#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
-#: ../../mod/xchan.php:11 ../../mod/connect.php:93 ../../mod/thing.php:275
-#: ../../mod/thing.php:318 ../../mod/events.php:494 ../../mod/events.php:670
-#: ../../mod/group.php:81 ../../mod/photos.php:577 ../../mod/photos.php:654
-#: ../../mod/photos.php:941 ../../mod/photos.php:981 ../../mod/photos.php:1099
-#: ../../mod/pdledit.php:58 ../../mod/import.php:534 ../../mod/chat.php:177
-#: ../../mod/chat.php:211 ../../mod/mitem.php:232 ../../mod/rate.php:167
-#: ../../mod/invite.php:142 ../../mod/locs.php:105 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/filestorage.php:156
-#: ../../mod/fsuggest.php:108 ../../mod/poke.php:166
-#: ../../mod/profiles.php:667 ../../mod/setup.php:327 ../../mod/setup.php:367
-#: ../../mod/admin.php:453 ../../mod/admin.php:819 ../../mod/admin.php:986
-#: ../../mod/admin.php:1118 ../../mod/admin.php:1312 ../../mod/admin.php:1397
-#: ../../mod/settings.php:588 ../../mod/settings.php:692
-#: ../../mod/settings.php:718 ../../mod/settings.php:746
-#: ../../mod/settings.php:769 ../../mod/settings.php:854
-#: ../../mod/settings.php:1050 ../../mod/mood.php:134
-#: ../../mod/connedit.php:692 ../../mod/mail.php:355 ../../mod/appman.php:99
-#: ../../mod/pconfig.php:108 ../../mod/poll.php:68
-#: ../../mod/bulksetclose.php:24 ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/redbasic/php/config.php:99
+#: ../../mod/settings.php:582 ../../mod/settings.php:684
+#: ../../mod/settings.php:710 ../../mod/settings.php:738
+#: ../../mod/settings.php:761 ../../mod/settings.php:843
+#: ../../mod/settings.php:1039 ../../mod/xchan.php:11 ../../mod/connect.php:93
+#: ../../mod/thing.php:275 ../../mod/thing.php:318 ../../mod/events.php:656
+#: ../../mod/group.php:81 ../../mod/setup.php:313 ../../mod/setup.php:358
+#: ../../mod/photos.php:565 ../../mod/photos.php:642 ../../mod/photos.php:929
+#: ../../mod/photos.php:969 ../../mod/photos.php:1087 ../../mod/pdledit.php:58
+#: ../../mod/import.php:504 ../../mod/chat.php:177 ../../mod/chat.php:211
+#: ../../mod/rate.php:167 ../../mod/invite.php:142 ../../mod/locs.php:105
+#: ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
+#: ../../mod/poke.php:166 ../../mod/profiles.php:667 ../../mod/mitem.php:229
+#: ../../mod/admin.php:446 ../../mod/admin.php:810 ../../mod/admin.php:946
+#: ../../mod/admin.php:1077 ../../mod/admin.php:1271 ../../mod/admin.php:1356
+#: ../../mod/mood.php:134 ../../mod/connedit.php:679 ../../mod/mail.php:355
+#: ../../mod/appman.php:99 ../../mod/poll.php:68 ../../mod/bulksetclose.php:24
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:97
msgid "Submit"
msgstr "Salva"
@@ -606,366 +550,15 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/text.php:395
-msgid "prev"
-msgstr "prec"
-
-#: ../../include/text.php:397
-msgid "first"
-msgstr "inizio"
-
-#: ../../include/text.php:426
-msgid "last"
-msgstr "fine"
-
-#: ../../include/text.php:429
-msgid "next"
-msgstr "succ"
-
-#: ../../include/text.php:439
-msgid "older"
-msgstr "più recenti"
-
-#: ../../include/text.php:441
-msgid "newer"
-msgstr "più nuovi"
-
-#: ../../include/text.php:834
-msgid "No connections"
-msgstr "Nessun contatto"
-
-#: ../../include/text.php:848
-#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d contatto"
-msgstr[1] "%d contatti"
-
-#: ../../include/text.php:861 ../../mod/viewconnections.php:104
-msgid "View Connections"
-msgstr "Elenco contatti"
-
-#: ../../include/text.php:918 ../../include/text.php:930
-#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../mod/search.php:38
-msgid "Search"
-msgstr "Cerca"
-
-#: ../../include/text.php:919 ../../include/text.php:931
-#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1457
-#: ../../mod/admin.php:1477
-msgid "Save"
-msgstr "Salva"
-
-#: ../../include/text.php:994
-msgid "poke"
-msgstr "poke"
-
-#: ../../include/text.php:994 ../../include/conversation.php:243
-msgid "poked"
-msgstr "ha ricevuto un poke"
-
-#: ../../include/text.php:995
-msgid "ping"
-msgstr "ping"
-
-#: ../../include/text.php:995
-msgid "pinged"
-msgstr "ha ricevuto un ping"
-
-#: ../../include/text.php:996
-msgid "prod"
-msgstr "spintone"
-
-#: ../../include/text.php:996
-msgid "prodded"
-msgstr "ha ricevuto uno spintone"
-
-#: ../../include/text.php:997
-msgid "slap"
-msgstr "schiaffo"
-
-#: ../../include/text.php:997
-msgid "slapped"
-msgstr "ha ricevuto uno schiaffo"
-
-#: ../../include/text.php:998
-msgid "finger"
-msgstr "finger"
-
-#: ../../include/text.php:998
-msgid "fingered"
-msgstr "ha ricevuto un finger"
-
-#: ../../include/text.php:999
-msgid "rebuff"
-msgstr "rifiuto"
-
-#: ../../include/text.php:999
-msgid "rebuffed"
-msgstr "ha ricevuto un rifiuto"
-
-#: ../../include/text.php:1009
-msgid "happy"
-msgstr "felice"
-
-#: ../../include/text.php:1010
-msgid "sad"
-msgstr "triste"
-
-#: ../../include/text.php:1011
-msgid "mellow"
-msgstr "calmo"
-
-#: ../../include/text.php:1012
-msgid "tired"
-msgstr "stanco"
-
-#: ../../include/text.php:1013
-msgid "perky"
-msgstr "vivace"
-
-#: ../../include/text.php:1014
-msgid "angry"
-msgstr "arrabbiato"
-
-#: ../../include/text.php:1015
-msgid "stupified"
-msgstr "stordito"
-
-#: ../../include/text.php:1016
-msgid "puzzled"
-msgstr "confuso"
-
-#: ../../include/text.php:1017
-msgid "interested"
-msgstr "attento"
-
-#: ../../include/text.php:1018
-msgid "bitter"
-msgstr "amaro"
-
-#: ../../include/text.php:1019
-msgid "cheerful"
-msgstr "allegro"
-
-#: ../../include/text.php:1020
-msgid "alive"
-msgstr "vivace"
-
-#: ../../include/text.php:1021
-msgid "annoyed"
-msgstr "seccato"
-
-#: ../../include/text.php:1022
-msgid "anxious"
-msgstr "ansioso"
-
-#: ../../include/text.php:1023
-msgid "cranky"
-msgstr "irritabile"
-
-#: ../../include/text.php:1024
-msgid "disturbed"
-msgstr "turbato"
-
-#: ../../include/text.php:1025
-msgid "frustrated"
-msgstr "frustrato"
-
-#: ../../include/text.php:1026
-msgid "depressed"
-msgstr "in depressione"
-
-#: ../../include/text.php:1027
-msgid "motivated"
-msgstr "motivato"
-
-#: ../../include/text.php:1028
-msgid "relaxed"
-msgstr "rilassato"
-
-#: ../../include/text.php:1029
-msgid "surprised"
-msgstr "sorpreso"
-
-#: ../../include/text.php:1201
-msgid "Monday"
-msgstr "lunedì"
-
-#: ../../include/text.php:1201
-msgid "Tuesday"
-msgstr "martedì"
-
-#: ../../include/text.php:1201
-msgid "Wednesday"
-msgstr "mercoledì"
-
-#: ../../include/text.php:1201
-msgid "Thursday"
-msgstr "giovedì"
-
-#: ../../include/text.php:1201
-msgid "Friday"
-msgstr "venerdì"
-
-#: ../../include/text.php:1201
-msgid "Saturday"
-msgstr "sabato"
-
-#: ../../include/text.php:1201
-msgid "Sunday"
-msgstr "domenica"
-
-#: ../../include/text.php:1205
-msgid "January"
-msgstr "gennaio"
-
-#: ../../include/text.php:1205
-msgid "February"
-msgstr "febbraio"
-
-#: ../../include/text.php:1205
-msgid "March"
-msgstr "marzo"
-
-#: ../../include/text.php:1205
-msgid "April"
-msgstr "aprile"
-
-#: ../../include/text.php:1205
-msgid "May"
-msgstr "maggio"
-
-#: ../../include/text.php:1205
-msgid "June"
-msgstr "giugno"
-
-#: ../../include/text.php:1205
-msgid "July"
-msgstr "luglio"
-
-#: ../../include/text.php:1205
-msgid "August"
-msgstr "agosto"
-
-#: ../../include/text.php:1205
-msgid "September"
-msgstr "settembre"
-
-#: ../../include/text.php:1205
-msgid "October"
-msgstr "ottobre"
-
-#: ../../include/text.php:1205
-msgid "November"
-msgstr "novembre"
-
-#: ../../include/text.php:1205
-msgid "December"
-msgstr "dicembre"
-
-#: ../../include/text.php:1310
-msgid "unknown.???"
-msgstr "sconosciuto???"
-
-#: ../../include/text.php:1311
-msgid "bytes"
-msgstr "byte"
-
-#: ../../include/text.php:1347
-msgid "remove category"
-msgstr "rimuovi la categoria"
-
-#: ../../include/text.php:1422
-msgid "remove from file"
-msgstr "rimuovi dal file"
-
-#: ../../include/text.php:1498 ../../include/text.php:1509
-msgid "Click to open/close"
-msgstr "Clicca per aprire/chiudere"
-
-#: ../../include/text.php:1665 ../../mod/events.php:457
-msgid "Link to Source"
-msgstr "Link al sito d'origine"
-
-#: ../../include/text.php:1686 ../../include/text.php:1757
-msgid "default"
-msgstr "predefinito"
-
-#: ../../include/text.php:1694
-msgid "Page layout"
-msgstr "Layout della pagina"
-
-#: ../../include/text.php:1694
-msgid "You can create your own with the layouts tool"
-msgstr "Con la configurazione del layout puoi crearne uno tuo"
-
-#: ../../include/text.php:1735
-msgid "Page content type"
-msgstr "Tipo di contenuto della pagina"
-
-#: ../../include/text.php:1769
-msgid "Select an alternate language"
-msgstr "Seleziona una lingua diversa"
-
-#: ../../include/text.php:1888 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:120 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:43
-msgid "photo"
-msgstr "la foto"
-
-#: ../../include/text.php:1891 ../../include/conversation.php:123
-#: ../../mod/like.php:348 ../../mod/tagger.php:47
-msgid "event"
-msgstr "l'evento"
-
-#: ../../include/text.php:1894 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:148 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-msgid "status"
-msgstr "il messaggio di stato"
-
-#: ../../include/text.php:1896 ../../include/conversation.php:150
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr "il commento"
-
-#: ../../include/text.php:1901
-msgid "activity"
-msgstr "l'attività"
-
-#: ../../include/text.php:2196
-msgid "Design Tools"
-msgstr "Strumenti di design"
-
-#: ../../include/text.php:2199 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr "Riquadri"
-
-#: ../../include/text.php:2200 ../../mod/menu.php:98
-msgid "Menus"
-msgstr "Menù"
-
-#: ../../include/text.php:2201 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr "Layout"
-
-#: ../../include/text.php:2202
-msgid "Pages"
-msgstr "Pagine"
-
-#: ../../include/text.php:2553 ../../include/RedDAV/RedBrowser.php:131
-msgid "Collection"
-msgstr "Cartella"
-
#: ../../include/RedDAV/RedBrowser.php:107
-#: ../../include/RedDAV/RedBrowser.php:265
+#: ../../include/RedDAV/RedBrowser.php:268
msgid "parent"
msgstr "cartella superiore"
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2479
+msgid "Collection"
+msgstr "Cartella"
+
#: ../../include/RedDAV/RedBrowser.php:134
msgid "Principal"
msgstr "Principale"
@@ -988,7 +581,7 @@ msgstr "Appuntamenti inviati"
#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1019
#: ../../include/apps.php:336 ../../include/apps.php:387
-#: ../../mod/photos.php:693 ../../mod/photos.php:1131
+#: ../../mod/photos.php:681 ../../mod/photos.php:1119
msgid "Unknown"
msgstr "Sconosciuto"
@@ -1003,7 +596,7 @@ msgid "%1$s used of %2$s (%3$s&#37;)"
msgstr "%1$s occupati di %2$s (%3$s&#37;)"
#: ../../include/RedDAV/RedBrowser.php:251 ../../include/nav.php:98
-#: ../../include/conversation.php:1609 ../../include/apps.php:135
+#: ../../include/conversation.php:1606 ../../include/apps.php:135
#: ../../mod/fbrowser.php:114
msgid "Files"
msgstr "Archivio file"
@@ -1017,51 +610,51 @@ msgid "Shared"
msgstr "Condiviso"
#: ../../include/RedDAV/RedBrowser.php:256
-#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/webpages.php:180
-#: ../../mod/blocks.php:152 ../../mod/menu.php:109
-#: ../../mod/new_channel.php:121 ../../mod/layouts.php:175
+#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/menu.php:104
+#: ../../mod/webpages.php:178 ../../mod/blocks.php:147
+#: ../../mod/layouts.php:170 ../../mod/new_channel.php:121
msgid "Create"
msgstr "Crea"
#: ../../include/RedDAV/RedBrowser.php:257
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362
-#: ../../mod/events.php:493 ../../mod/photos.php:718 ../../mod/photos.php:1248
+#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/profile_photo.php:362
+#: ../../mod/photos.php:706 ../../mod/photos.php:1236
msgid "Upload"
msgstr "Carica"
-#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
-#: ../../mod/settings.php:590 ../../mod/settings.php:616
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/settings.php:584
+#: ../../mod/settings.php:610 ../../mod/admin.php:953
#: ../../mod/sharedwithme.php:95
msgid "Name"
msgstr "Nome"
-#: ../../include/RedDAV/RedBrowser.php:262
+#: ../../include/RedDAV/RedBrowser.php:265
msgid "Type"
msgstr "Tipo"
-#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
+#: ../../include/RedDAV/RedBrowser.php:266 ../../mod/sharedwithme.php:97
msgid "Size"
msgstr "Dimensione"
-#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
+#: ../../include/RedDAV/RedBrowser.php:267 ../../mod/sharedwithme.php:98
msgid "Last Modified"
msgstr "Ultima modifica"
-#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
+#: ../../include/RedDAV/RedBrowser.php:270 ../../include/ItemObject.php:120
#: ../../include/conversation.php:660 ../../include/apps.php:255
-#: ../../mod/webpages.php:183 ../../mod/thing.php:228 ../../mod/group.php:176
-#: ../../mod/blocks.php:155 ../../mod/photos.php:1062
-#: ../../mod/editlayout.php:178 ../../mod/editwebpage.php:225
-#: ../../mod/editblock.php:180 ../../mod/admin.php:826 ../../mod/admin.php:988
-#: ../../mod/settings.php:651 ../../mod/connedit.php:551
+#: ../../mod/settings.php:645 ../../mod/thing.php:228 ../../mod/group.php:176
+#: ../../mod/photos.php:1050 ../../mod/editwebpage.php:225
+#: ../../mod/webpages.php:181 ../../mod/admin.php:817 ../../mod/admin.php:948
+#: ../../mod/editblock.php:113 ../../mod/blocks.php:150
+#: ../../mod/connedit.php:543
msgid "Delete"
msgstr "Elimina"
-#: ../../include/RedDAV/RedBrowser.php:302
+#: ../../include/RedDAV/RedBrowser.php:305
msgid "Create new folder"
msgstr "Crea una nuova cartella"
-#: ../../include/RedDAV/RedBrowser.php:304
+#: ../../include/RedDAV/RedBrowser.php:307
msgid "Upload file"
msgstr "Carica un file"
@@ -1070,33 +663,10 @@ msgstr "Carica un file"
msgid "%1$s's bookmarks"
msgstr "I segnalibri di %1$s"
-#: ../../include/network.php:635
+#: ../../include/network.php:632
msgid "view full size"
msgstr "guarda nelle dimensioni reali"
-#: ../../include/network.php:1585 ../../include/enotify.php:58
-msgid "$Projectname Notification"
-msgstr "Notifica $Projectname"
-
-#: ../../include/network.php:1586 ../../include/enotify.php:59
-#: ../../include/diaspora.php:2522 ../../include/diaspora.php:2533
-#: ../../mod/p.php:46
-msgid "$projectname"
-msgstr "$projectname"
-
-#: ../../include/network.php:1588 ../../include/enotify.php:61
-msgid "Thank You,"
-msgstr "Grazie,"
-
-#: ../../include/network.php:1590 ../../include/enotify.php:63
-#, php-format
-msgid "%s Administrator"
-msgstr "L'amministratore di %s"
-
-#: ../../include/network.php:1646
-msgid "No Subject"
-msgstr "Nessun titolo"
-
#: ../../include/features.php:38
msgid "General Features"
msgstr "Funzionalità di base"
@@ -1107,7 +677,7 @@ msgstr "Scadenza"
#: ../../include/features.php:40
msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"
+msgstr "Elimina gli articoli, i commenti o i messaggi privati dopo un lasso di tempo"
#: ../../include/features.php:41
msgid "Multiple Profiles"
@@ -1185,7 +755,7 @@ msgstr "Ti permette di impostare delle restrizioni e dei termini d'uso a chi seg
#: ../../include/features.php:55
msgid "Post Composition Features"
-msgstr "Modalità di scrittura post"
+msgstr "Modalità di scrittura articoli"
#: ../../include/features.php:57
msgid "Use Markdown"
@@ -1193,7 +763,7 @@ msgstr "Usa il markdown"
#: ../../include/features.php:57
msgid "Allow use of \"Markdown\" to format posts"
-msgstr "Consenti l'uso del markdown per formattare i post"
+msgstr "Consenti l'uso del markdown per formattare gli articoli"
#: ../../include/features.php:58
msgid "Large Photos"
@@ -1205,7 +775,7 @@ msgid ""
"(320px) photo thumbnails"
msgstr "Includi anteprime grandi delle foto nei post (640px). Se disabilitato le anteprime saranno piccole (320px)"
-#: ../../include/features.php:59 ../../include/widgets.php:548
+#: ../../include/features.php:59 ../../include/widgets.php:546
#: ../../mod/sources.php:88
msgid "Channel Sources"
msgstr "Sorgenti del canale"
@@ -1229,7 +799,7 @@ msgstr "Permetti i post con votazione"
#: ../../include/features.php:61
msgid "Provide a class of post which others can vote on"
-msgstr "Rende possibile la creazione di post in cui sarà possibile votare"
+msgstr "Rende possibile la creazione di articoli in cui sarà possibile votare"
#: ../../include/features.php:67
msgid "Network and Stream Filtering"
@@ -1241,7 +811,7 @@ msgstr "Ricerca per data"
#: ../../include/features.php:68
msgid "Ability to select posts by date ranges"
-msgstr "Per selezionare i post in un intervallo tra date"
+msgstr "Per selezionare gli articoli in un intervallo tra date"
#: ../../include/features.php:69
msgid "Collections Filter"
@@ -1249,7 +819,7 @@ msgstr "Filtra per insiemi di canali"
#: ../../include/features.php:69
msgid "Enable widget to display Network posts only from selected collections"
-msgstr "Mostra il riquadro per filtrare i post di certi insiemi di canali"
+msgstr "Mostra il riquadro per filtrare gli articoli di certi insiemi di canali"
#: ../../include/features.php:70 ../../include/widgets.php:274
msgid "Saved Searches"
@@ -1284,71 +854,63 @@ msgid "Filter stream activity by depth of relationships"
msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
#: ../../include/features.php:74
-msgid "Connection Filtering"
-msgstr "Filtro sui contatti"
-
-#: ../../include/features.php:74
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtra con delle parole chiave i post che ricevi"
-
-#: ../../include/features.php:75
msgid "Suggest Channels"
msgstr "Suggerisci canali"
-#: ../../include/features.php:75
+#: ../../include/features.php:74
msgid "Show channel suggestions"
msgstr "Mostra alcuni canali che potrebbero interessarti"
-#: ../../include/features.php:80
+#: ../../include/features.php:79
msgid "Post/Comment Tools"
-msgstr "Gestione post e commenti"
+msgstr "Gestione articoli e commenti"
-#: ../../include/features.php:81
+#: ../../include/features.php:80
msgid "Tagging"
msgstr "Tag"
-#: ../../include/features.php:81
+#: ../../include/features.php:80
msgid "Ability to tag existing posts"
-msgstr "Permetti l'aggiunta di tag su post già esistenti"
+msgstr "Permetti l'aggiunta di tag su articoli già esistenti"
-#: ../../include/features.php:82
+#: ../../include/features.php:81
msgid "Post Categories"
-msgstr "Categorie dei post"
+msgstr "Categorie degli articoli"
-#: ../../include/features.php:82
+#: ../../include/features.php:81
msgid "Add categories to your posts"
-msgstr "Abilita le categorie per i tuoi post"
+msgstr "Abilita le categorie per i tuoi articoli"
-#: ../../include/features.php:83 ../../include/widgets.php:304
+#: ../../include/features.php:82 ../../include/widgets.php:304
#: ../../include/contact_widgets.php:57
msgid "Saved Folders"
msgstr "Cartelle salvate"
-#: ../../include/features.php:83
+#: ../../include/features.php:82
msgid "Ability to file posts under folders"
-msgstr "Abilita la raccolta dei tuoi articoli in post"
+msgstr "Abilita la raccolta dei tuoi articoli in cartelle"
-#: ../../include/features.php:84
+#: ../../include/features.php:83
msgid "Dislike Posts"
msgstr "Non mi piace"
-#: ../../include/features.php:84
+#: ../../include/features.php:83
msgid "Ability to dislike posts/comments"
-msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi post"
+msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi articoli"
-#: ../../include/features.php:85
+#: ../../include/features.php:84
msgid "Star Posts"
-msgstr "Post con stella"
+msgstr "Articoli stella (preferiti)"
-#: ../../include/features.php:85
+#: ../../include/features.php:84
msgid "Ability to mark special posts with a star indicator"
-msgstr "Mostra la stella per segnare i post preferiti"
+msgstr "Mostra la stella per scegliere gli articoli preferiti"
-#: ../../include/features.php:86
+#: ../../include/features.php:85
msgid "Tag Cloud"
msgstr "Nuvola di tag"
-#: ../../include/features.php:86
+#: ../../include/features.php:85
msgid "Provide a personal tag cloud on your channel page"
msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
@@ -1358,7 +920,7 @@ msgid "Categories"
msgstr "Categorie"
#: ../../include/widgets.php:91 ../../include/nav.php:163
-#: ../../mod/apps.php:36
+#: ../../mod/apps.php:34
msgid "Apps"
msgstr "Apps"
@@ -1366,7 +928,7 @@ msgstr "Apps"
msgid "System"
msgstr "Sistema"
-#: ../../include/widgets.php:94 ../../include/conversation.php:1504
+#: ../../include/widgets.php:94 ../../include/conversation.php:1501
msgid "Personal"
msgstr "Personali"
@@ -1380,8 +942,8 @@ msgstr "Modifica una app personale"
#: ../../include/widgets.php:136 ../../include/widgets.php:175
#: ../../include/Contact.php:107 ../../include/conversation.php:945
-#: ../../include/identity.php:857 ../../mod/directory.php:316
-#: ../../mod/match.php:64 ../../mod/suggest.php:52
+#: ../../include/identity.php:823 ../../mod/match.php:64
+#: ../../mod/directory.php:302 ../../mod/suggest.php:52
msgid "Connect"
msgstr "Aggiungi"
@@ -1418,6 +980,12 @@ msgstr "Per esempio: mario@pippo.it oppure http://pluto.com/barbara"
msgid "Notes"
msgstr "Note"
+#: ../../include/widgets.php:192 ../../include/text.php:853
+#: ../../include/text.php:865 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50 ../../mod/admin.php:1416 ../../mod/admin.php:1436
+msgid "Save"
+msgstr "Salva"
+
#: ../../include/widgets.php:266
msgid "Remove term"
msgstr "Rimuovi termine"
@@ -1431,140 +999,135 @@ msgstr "Tutto"
msgid "Archives"
msgstr "Archivi"
-#: ../../include/widgets.php:429 ../../mod/connedit.php:571
+#: ../../include/widgets.php:427 ../../mod/connedit.php:572
msgid "Me"
msgstr "Io"
-#: ../../include/widgets.php:430 ../../mod/connedit.php:572
+#: ../../include/widgets.php:428 ../../mod/connedit.php:573
msgid "Family"
msgstr "Famiglia"
-#: ../../include/widgets.php:431 ../../include/identity.php:394
+#: ../../include/widgets.php:429 ../../include/identity.php:394
#: ../../include/identity.php:395 ../../include/identity.php:402
-#: ../../include/profile_selectors.php:80 ../../mod/settings.php:345
-#: ../../mod/settings.php:349 ../../mod/settings.php:350
-#: ../../mod/settings.php:353 ../../mod/settings.php:364
-#: ../../mod/connedit.php:573
+#: ../../include/profile_selectors.php:80 ../../mod/settings.php:339
+#: ../../mod/settings.php:343 ../../mod/settings.php:344
+#: ../../mod/settings.php:347 ../../mod/settings.php:358
+#: ../../mod/connedit.php:574
msgid "Friends"
msgstr "Amici"
-#: ../../include/widgets.php:432 ../../mod/connedit.php:574
+#: ../../include/widgets.php:430 ../../mod/connedit.php:575
msgid "Acquaintances"
msgstr "Conoscenti"
-#: ../../include/widgets.php:433 ../../mod/connections.php:231
-#: ../../mod/connections.php:246 ../../mod/connedit.php:575
+#: ../../include/widgets.php:431 ../../mod/connections.php:231
+#: ../../mod/connections.php:246 ../../mod/connedit.php:576
msgid "All"
msgstr "Tutti"
-#: ../../include/widgets.php:452
+#: ../../include/widgets.php:450
msgid "Refresh"
msgstr "Aggiorna"
-#: ../../include/widgets.php:487
+#: ../../include/widgets.php:485
msgid "Account settings"
msgstr "Il tuo account"
-#: ../../include/widgets.php:493
+#: ../../include/widgets.php:491
msgid "Channel settings"
msgstr "Impostazioni del canale"
-#: ../../include/widgets.php:499
+#: ../../include/widgets.php:497
msgid "Additional features"
msgstr "Funzionalità opzionali"
-#: ../../include/widgets.php:505
+#: ../../include/widgets.php:503
msgid "Feature/Addon settings"
msgstr "Impostazioni dei componenti aggiuntivi"
-#: ../../include/widgets.php:511
+#: ../../include/widgets.php:509
msgid "Display settings"
msgstr "Aspetto"
-#: ../../include/widgets.php:517
+#: ../../include/widgets.php:515
msgid "Connected apps"
msgstr "App connesse"
-#: ../../include/widgets.php:523
+#: ../../include/widgets.php:521
msgid "Export channel"
msgstr "Esporta il canale"
-#: ../../include/widgets.php:532 ../../mod/connedit.php:662
+#: ../../include/widgets.php:530 ../../mod/connedit.php:653
msgid "Connection Default Permissions"
msgstr "Permessi predefiniti dei nuovi contatti"
-#: ../../include/widgets.php:540
+#: ../../include/widgets.php:538
msgid "Premium Channel Settings"
msgstr "Canale premium - impostazioni"
-#: ../../include/widgets.php:556 ../../include/nav.php:208
-#: ../../include/apps.php:134 ../../mod/admin.php:1079
-#: ../../mod/admin.php:1279
+#: ../../include/widgets.php:554 ../../include/nav.php:208
+#: ../../include/apps.php:134 ../../mod/admin.php:1038
+#: ../../mod/admin.php:1238
msgid "Settings"
msgstr "Impostazioni"
-#: ../../include/widgets.php:569 ../../mod/message.php:31
+#: ../../include/widgets.php:567 ../../mod/message.php:31
#: ../../mod/mail.php:128
msgid "Messages"
msgstr "Messaggi"
-#: ../../include/widgets.php:572
+#: ../../include/widgets.php:570
msgid "Check Mail"
msgstr "Controlla i messaggi"
-#: ../../include/widgets.php:577 ../../include/nav.php:199
+#: ../../include/widgets.php:575 ../../include/nav.php:199
msgid "New Message"
msgstr "Nuovo messaggio"
-#: ../../include/widgets.php:652
+#: ../../include/widgets.php:650
msgid "Chat Rooms"
msgstr "Aree chat attive"
-#: ../../include/widgets.php:672
+#: ../../include/widgets.php:670
msgid "Bookmarked Chatrooms"
msgstr "Aree chat nei segnalibri"
-#: ../../include/widgets.php:692
+#: ../../include/widgets.php:690
msgid "Suggested Chatrooms"
msgstr "Aree chat suggerite"
-#: ../../include/widgets.php:819 ../../include/widgets.php:877
+#: ../../include/widgets.php:817 ../../include/widgets.php:875
msgid "photo/image"
msgstr "foto/immagine"
-#: ../../include/widgets.php:972 ../../include/widgets.php:974
+#: ../../include/widgets.php:970 ../../include/widgets.php:972
msgid "Rate Me"
msgstr "Valutami"
-#: ../../include/widgets.php:978
+#: ../../include/widgets.php:976
msgid "View Ratings"
msgstr "Vedi le valutazioni ricevute"
-#: ../../include/widgets.php:989
+#: ../../include/widgets.php:987
msgid "Public Hubs"
msgstr "Hub pubblici"
-#: ../../include/event.php:22 ../../include/bb2diaspora.php:459
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
+#: ../../include/enotify.php:58
+msgid "Hubzilla Notification"
+msgstr "Notifica di Hubzilla"
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:465
-msgid "Starts:"
-msgstr "Inizio:"
+#: ../../include/enotify.php:59
+msgid "hubzilla"
+msgstr "Hubzilla"
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:473
-msgid "Finishes:"
-msgstr "Fine:"
-
-#: ../../include/event.php:50 ../../include/bb2diaspora.php:481
-#: ../../include/identity.php:908 ../../mod/directory.php:302
-#: ../../mod/events.php:661
-msgid "Location:"
-msgstr "Luogo:"
+#: ../../include/enotify.php:61
+msgid "Thank You,"
+msgstr "Grazie,"
-#: ../../include/event.php:535
-msgid "This event has been added to your calendar."
-msgstr "Questo evento è stato aggiunto al tuo calendario"
+#: ../../include/enotify.php:63
+#, php-format
+msgid "%s Administrator"
+msgstr "L'amministratore di %s"
#: ../../include/enotify.php:96
#, php-format
@@ -1574,7 +1137,7 @@ msgstr "%s <!item_type!>"
#: ../../include/enotify.php:100
#, php-format
msgid "[Red:Notify] New mail received at %s"
-msgstr "[RedMatrix] Nuovo messaggio su %s"
+msgstr "[Hubzilla] Nuovo messaggio su %s"
#: ../../include/enotify.php:102
#, php-format
@@ -1613,7 +1176,7 @@ msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s che hai creato[/zrl]"
#: ../../include/enotify.php:186
#, php-format
msgid "[Red:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[RedMatrix] Nuovo commento di %2$s alla conversazione #%1$d"
+msgstr "[Hubzilla] Nuovo commento di %2$s alla conversazione #%1$d"
#: ../../include/enotify.php:187
#, php-format
@@ -1630,7 +1193,7 @@ msgstr "Visita %s per leggere o commentare la conversazione."
#: ../../include/enotify.php:196
#, php-format
msgid "[Red:Notify] %s posted to your profile wall"
-msgstr "[RedMatrix] %s ha scritto sulla tua bacheca"
+msgstr "[Hubzilla] %s ha scritto sulla tua bacheca"
#: ../../include/enotify.php:198
#, php-format
@@ -1645,7 +1208,7 @@ msgstr "%1$s, %2$s ha scritto sulla [zrl=%3$s]tua bacheca[/zrl]"
#: ../../include/enotify.php:224
#, php-format
msgid "[Red:Notify] %s tagged you"
-msgstr "[RedMatrix] %s ti ha taggato"
+msgstr "[Hubzilla] %s ti ha taggato"
#: ../../include/enotify.php:225
#, php-format
@@ -1660,7 +1223,7 @@ msgstr "%1$s, %2$s [zrl=%3$s]ti ha taggato[/zrl]."
#: ../../include/enotify.php:238
#, php-format
msgid "[Red:Notify] %1$s poked you"
-msgstr "[RedMatrix] %1$s ti ha mandato un poke"
+msgstr "[Hubzilla] %1$s ti ha mandato un poke"
#: ../../include/enotify.php:239
#, php-format
@@ -1675,21 +1238,21 @@ msgstr "%1$s, %2$s [zrl=%2$s]ti ha mandato un poke[/zrl]."
#: ../../include/enotify.php:256
#, php-format
msgid "[Red:Notify] %s tagged your post"
-msgstr "[RedMatrix] %s ha taggato il tuo post"
+msgstr "[Hubzilla] %s ha taggato il tuo articolo"
#: ../../include/enotify.php:257
#, php-format
msgid "%1$s, %2$s tagged your post at %3$s"
-msgstr "%1$s, %2$s ha taggato il tuo post su %3$s"
+msgstr "%1$s, %2$s ha taggato il tuo articolo su %3$s"
#: ../../include/enotify.php:258
#, php-format
msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
-msgstr "%1$s, %2$s ha taggato [zrl=%3$s]il tuo post[/zrl]"
+msgstr "%1$s, %2$s ha taggato [zrl=%3$s]il tuo articolo[/zrl]"
#: ../../include/enotify.php:270
msgid "[Red:Notify] Introduction received"
-msgstr "[RedMatrix] Hai una richiesta di amicizia"
+msgstr "[Hubzilla] Hai una richiesta di amicizia"
#: ../../include/enotify.php:271
#, php-format
@@ -1714,7 +1277,7 @@ msgstr "Visita %s per approvare o rifiutare la richiesta di entrare in contatto.
#: ../../include/enotify.php:285
msgid "[Red:Notify] Friend suggestion received"
-msgstr "[RedMatrix] Ti è stato suggerito un amico"
+msgstr "[Hubzilla] Ti è stato suggerito un amico"
#: ../../include/enotify.php:286
#, php-format
@@ -1743,7 +1306,73 @@ msgstr "Visita %s per approvare o rifiutare il suggerimento."
#: ../../include/enotify.php:508
msgid "[Red:Notify]"
-msgstr "[RedMatrix]"
+msgstr "[Hubzilla]"
+
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
+msgstr "Frequentemente"
+
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
+msgstr "Ogni ora"
+
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
+msgstr "Due volte al giorno"
+
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
+msgstr "Ogni giorno"
+
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "Ogni settimana"
+
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "Ogni mese"
+
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:813
+#: ../../mod/admin.php:822 ../../mod/id.php:15 ../../mod/id.php:16
+#: ../../boot.php:1542
+msgid "Email"
+msgstr "Email"
+
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
+
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "MySpace"
#: ../../include/message.php:18
msgid "No recipient provided."
@@ -1759,29 +1388,7 @@ msgstr "Impossibile determinare il mittente."
#: ../../include/message.php:200
msgid "Stored post could not be verified."
-msgstr "Non è stato possibile verificare il post."
-
-#: ../../include/diaspora.php:2148 ../../include/conversation.php:164
-#: ../../mod/like.php:394
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "A %1$s piace %3$s di %2$s"
-
-#: ../../include/diaspora.php:2494
-msgid "Please choose"
-msgstr "La tua scelta"
-
-#: ../../include/diaspora.php:2496
-msgid "Agree"
-msgstr "Sono d'accordo"
-
-#: ../../include/diaspora.php:2498
-msgid "Disagree"
-msgstr "Non sono d'accordo"
-
-#: ../../include/diaspora.php:2500
-msgid "Abstain"
-msgstr "Mi astengo"
+msgstr "Non è stato possibile verificare l'articolo inserito."
#: ../../include/follow.php:28
msgid "Channel is blocked on this site."
@@ -1799,23 +1406,19 @@ msgstr "La risposta dal canale non è completa."
msgid "Channel was deleted and no longer exists."
msgstr "Il canale è stato rimosso e non esiste più."
-#: ../../include/follow.php:135 ../../include/follow.php:206
+#: ../../include/follow.php:135 ../../include/follow.php:197
msgid "Protocol disabled."
msgstr "Protocollo disabilitato."
-#: ../../include/follow.php:144
-msgid "Protocol blocked for this channel."
-msgstr "Protocollo bloccato per questo canale."
-
-#: ../../include/follow.php:179
+#: ../../include/follow.php:170
msgid "Channel discovery failed."
msgstr "La ricerca del canale non ha avuto successo."
-#: ../../include/follow.php:195
+#: ../../include/follow.php:186
msgid "local account not found."
msgstr "l'account locale non è stato trovato."
-#: ../../include/follow.php:224
+#: ../../include/follow.php:215
msgid "Cannot connect to yourself."
msgstr "Non puoi connetterti a te stesso."
@@ -1856,22 +1459,22 @@ msgid "I abstain"
msgstr "Mi astengo"
#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1677 ../../mod/photos.php:1015
-#: ../../mod/photos.php:1027
+#: ../../include/conversation.php:1674 ../../mod/photos.php:1003
+#: ../../mod/photos.php:1015
msgid "View all"
msgstr "Vedi tutto"
#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
-#: ../../include/conversation.php:1701 ../../include/identity.php:1167
-#: ../../mod/photos.php:1019
+#: ../../include/conversation.php:1698 ../../include/identity.php:1133
+#: ../../mod/photos.php:1007
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
msgstr[0] "Mi piace"
msgstr[1] "Mi piace"
-#: ../../include/ItemObject.php:184 ../../include/conversation.php:1704
-#: ../../mod/photos.php:1024
+#: ../../include/ItemObject.php:184 ../../include/conversation.php:1701
+#: ../../mod/photos.php:1012
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
@@ -1906,7 +1509,7 @@ msgstr "Massaggio con firma non corretta"
msgid "Add Tag"
msgstr "Aggiungi un tag"
-#: ../../include/ItemObject.php:254 ../../mod/photos.php:959
+#: ../../include/ItemObject.php:254 ../../mod/photos.php:947
msgid "I like this (toggle)"
msgstr "Attiva/disattiva Mi piace"
@@ -1914,7 +1517,7 @@ msgstr "Attiva/disattiva Mi piace"
msgid "like"
msgstr "mi piace"
-#: ../../include/ItemObject.php:255 ../../mod/photos.php:960
+#: ../../include/ItemObject.php:255 ../../mod/photos.php:948
msgid "I don't like this (toggle)"
msgstr "Attiva/disattiva Non mi piace"
@@ -1985,61 +1588,61 @@ msgstr "Aggiungi al calendario"
msgid "Mark all seen"
msgstr "Marca tutto come letto"
-#: ../../include/ItemObject.php:353 ../../mod/photos.php:1145
+#: ../../include/ItemObject.php:353 ../../mod/photos.php:1133
msgctxt "noun"
msgid "Likes"
msgstr "Mi piace"
-#: ../../include/ItemObject.php:354 ../../mod/photos.php:1146
+#: ../../include/ItemObject.php:354 ../../mod/photos.php:1134
msgctxt "noun"
msgid "Dislikes"
msgstr "Non mi piace"
#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249
-#: ../../mod/photos.php:1151
+#: ../../mod/photos.php:1139
msgid "Close"
msgstr "Chiudi"
#: ../../include/ItemObject.php:364 ../../include/conversation.php:737
-#: ../../include/conversation.php:1209 ../../mod/editpost.php:123
-#: ../../mod/photos.php:962 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:192 ../../mod/editblock.php:149
+#: ../../include/conversation.php:1206 ../../mod/photos.php:950
+#: ../../mod/editlayout.php:153 ../../mod/editwebpage.php:192
+#: ../../mod/editpost.php:130 ../../mod/editblock.php:155
#: ../../mod/mail.php:241 ../../mod/mail.php:356
msgid "Please wait"
msgstr "Attendere"
-#: ../../include/ItemObject.php:665 ../../mod/photos.php:978
-#: ../../mod/photos.php:1096
+#: ../../include/ItemObject.php:665 ../../mod/photos.php:966
+#: ../../mod/photos.php:1084
msgid "This is you"
msgstr "Questo sei tu"
-#: ../../include/ItemObject.php:669 ../../include/conversation.php:1181
-#: ../../mod/editpost.php:107 ../../mod/editlayout.php:134
-#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:135
+#: ../../include/ItemObject.php:669 ../../include/conversation.php:1179
+#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:179
+#: ../../mod/editpost.php:114 ../../mod/editblock.php:141
msgid "Bold"
msgstr "Grassetto"
-#: ../../include/ItemObject.php:670 ../../include/conversation.php:1182
-#: ../../mod/editpost.php:108 ../../mod/editlayout.php:135
-#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:136
+#: ../../include/ItemObject.php:670 ../../include/conversation.php:1180
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:180
+#: ../../mod/editpost.php:115 ../../mod/editblock.php:142
msgid "Italic"
msgstr "Corsivo"
-#: ../../include/ItemObject.php:671 ../../include/conversation.php:1183
-#: ../../mod/editpost.php:109 ../../mod/editlayout.php:136
-#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:137
+#: ../../include/ItemObject.php:671 ../../include/conversation.php:1181
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:181
+#: ../../mod/editpost.php:116 ../../mod/editblock.php:143
msgid "Underline"
msgstr "Sottolineato"
-#: ../../include/ItemObject.php:672 ../../include/conversation.php:1184
-#: ../../mod/editpost.php:110 ../../mod/editlayout.php:137
-#: ../../mod/editwebpage.php:182 ../../mod/editblock.php:138
+#: ../../include/ItemObject.php:672 ../../include/conversation.php:1182
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:182
+#: ../../mod/editpost.php:117 ../../mod/editblock.php:144
msgid "Quote"
msgstr "Citazione"
-#: ../../include/ItemObject.php:673 ../../include/conversation.php:1185
-#: ../../mod/editpost.php:111 ../../mod/editlayout.php:138
-#: ../../mod/editwebpage.php:183 ../../mod/editblock.php:139
+#: ../../include/ItemObject.php:673 ../../include/conversation.php:1183
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:183
+#: ../../mod/editpost.php:118 ../../mod/editblock.php:145
msgid "Code"
msgstr "Codice"
@@ -2055,8 +1658,8 @@ msgstr "Collegamento"
msgid "Video"
msgstr "Video"
-#: ../../include/ItemObject.php:680 ../../include/conversation.php:1236
-#: ../../mod/editpost.php:151 ../../mod/mail.php:247 ../../mod/mail.php:361
+#: ../../include/ItemObject.php:680 ../../include/conversation.php:1233
+#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:361
msgid "Encrypt text"
msgstr "Crittografia del testo"
@@ -2068,7 +1671,7 @@ msgstr "Nuova finestra"
msgid "Open the selected location in a different window or browser tab"
msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
-#: ../../include/Contact.php:215 ../../mod/admin.php:739
+#: ../../include/Contact.php:215 ../../mod/admin.php:730
#, php-format
msgid "User '%s' deleted"
msgstr "Utente '%s' eliminato"
@@ -2077,11 +1680,357 @@ msgstr "Utente '%s' eliminato"
msgid "Attachments:"
msgstr "Allegati:"
-#: ../../include/bb2diaspora.php:461
-msgid "$Projectname event notification:"
-msgstr "Notifica evento $Projectname:"
+#: ../../include/bb2diaspora.php:453
+msgid "Hubzilla event notification:"
+msgstr "Notifica eventi Hubzilla:"
+
+#: ../../include/text.php:329
+msgid "prev"
+msgstr "prec"
+
+#: ../../include/text.php:331
+msgid "first"
+msgstr "inizio"
+
+#: ../../include/text.php:360
+msgid "last"
+msgstr "fine"
-#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1550
+#: ../../include/text.php:363
+msgid "next"
+msgstr "succ"
+
+#: ../../include/text.php:373
+msgid "older"
+msgstr "più recenti"
+
+#: ../../include/text.php:375
+msgid "newer"
+msgstr "più nuovi"
+
+#: ../../include/text.php:768
+msgid "No connections"
+msgstr "Nessun contatto"
+
+#: ../../include/text.php:782
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d contatto"
+msgstr[1] "%d contatti"
+
+#: ../../include/text.php:795 ../../mod/viewconnections.php:104
+msgid "View Connections"
+msgstr "Elenco contatti"
+
+#: ../../include/text.php:852 ../../include/text.php:864
+#: ../../include/nav.php:165 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
+msgstr "Cerca"
+
+#: ../../include/text.php:928
+msgid "poke"
+msgstr "poke"
+
+#: ../../include/text.php:928 ../../include/conversation.php:243
+msgid "poked"
+msgstr "ha ricevuto un poke"
+
+#: ../../include/text.php:929
+msgid "ping"
+msgstr "ping"
+
+#: ../../include/text.php:929
+msgid "pinged"
+msgstr "ha ricevuto un ping"
+
+#: ../../include/text.php:930
+msgid "prod"
+msgstr "spintone"
+
+#: ../../include/text.php:930
+msgid "prodded"
+msgstr "ha ricevuto uno spintone"
+
+#: ../../include/text.php:931
+msgid "slap"
+msgstr "schiaffo"
+
+#: ../../include/text.php:931
+msgid "slapped"
+msgstr "ha ricevuto uno schiaffo"
+
+#: ../../include/text.php:932
+msgid "finger"
+msgstr "finger"
+
+#: ../../include/text.php:932
+msgid "fingered"
+msgstr "ha ricevuto un finger"
+
+#: ../../include/text.php:933
+msgid "rebuff"
+msgstr "rifiuto"
+
+#: ../../include/text.php:933
+msgid "rebuffed"
+msgstr "ha ricevuto un rifiuto"
+
+#: ../../include/text.php:943
+msgid "happy"
+msgstr "felice"
+
+#: ../../include/text.php:944
+msgid "sad"
+msgstr "triste"
+
+#: ../../include/text.php:945
+msgid "mellow"
+msgstr "calmo"
+
+#: ../../include/text.php:946
+msgid "tired"
+msgstr "stanco"
+
+#: ../../include/text.php:947
+msgid "perky"
+msgstr "vivace"
+
+#: ../../include/text.php:948
+msgid "angry"
+msgstr "arrabbiato"
+
+#: ../../include/text.php:949
+msgid "stupified"
+msgstr "stordito"
+
+#: ../../include/text.php:950
+msgid "puzzled"
+msgstr "confuso"
+
+#: ../../include/text.php:951
+msgid "interested"
+msgstr "attento"
+
+#: ../../include/text.php:952
+msgid "bitter"
+msgstr "amaro"
+
+#: ../../include/text.php:953
+msgid "cheerful"
+msgstr "allegro"
+
+#: ../../include/text.php:954
+msgid "alive"
+msgstr "vivace"
+
+#: ../../include/text.php:955
+msgid "annoyed"
+msgstr "seccato"
+
+#: ../../include/text.php:956
+msgid "anxious"
+msgstr "ansioso"
+
+#: ../../include/text.php:957
+msgid "cranky"
+msgstr "irritabile"
+
+#: ../../include/text.php:958
+msgid "disturbed"
+msgstr "turbato"
+
+#: ../../include/text.php:959
+msgid "frustrated"
+msgstr "frustrato"
+
+#: ../../include/text.php:960
+msgid "depressed"
+msgstr "in depressione"
+
+#: ../../include/text.php:961
+msgid "motivated"
+msgstr "motivato"
+
+#: ../../include/text.php:962
+msgid "relaxed"
+msgstr "rilassato"
+
+#: ../../include/text.php:963
+msgid "surprised"
+msgstr "sorpreso"
+
+#: ../../include/text.php:1135
+msgid "Monday"
+msgstr "lunedì"
+
+#: ../../include/text.php:1135
+msgid "Tuesday"
+msgstr "martedì"
+
+#: ../../include/text.php:1135
+msgid "Wednesday"
+msgstr "mercoledì"
+
+#: ../../include/text.php:1135
+msgid "Thursday"
+msgstr "giovedì"
+
+#: ../../include/text.php:1135
+msgid "Friday"
+msgstr "venerdì"
+
+#: ../../include/text.php:1135
+msgid "Saturday"
+msgstr "sabato"
+
+#: ../../include/text.php:1135
+msgid "Sunday"
+msgstr "domenica"
+
+#: ../../include/text.php:1139
+msgid "January"
+msgstr "gennaio"
+
+#: ../../include/text.php:1139
+msgid "February"
+msgstr "febbraio"
+
+#: ../../include/text.php:1139
+msgid "March"
+msgstr "marzo"
+
+#: ../../include/text.php:1139
+msgid "April"
+msgstr "aprile"
+
+#: ../../include/text.php:1139
+msgid "May"
+msgstr "maggio"
+
+#: ../../include/text.php:1139
+msgid "June"
+msgstr "giugno"
+
+#: ../../include/text.php:1139
+msgid "July"
+msgstr "luglio"
+
+#: ../../include/text.php:1139
+msgid "August"
+msgstr "agosto"
+
+#: ../../include/text.php:1139
+msgid "September"
+msgstr "settembre"
+
+#: ../../include/text.php:1139
+msgid "October"
+msgstr "ottobre"
+
+#: ../../include/text.php:1139
+msgid "November"
+msgstr "novembre"
+
+#: ../../include/text.php:1139
+msgid "December"
+msgstr "dicembre"
+
+#: ../../include/text.php:1236
+msgid "unknown.???"
+msgstr "sconosciuto???"
+
+#: ../../include/text.php:1237
+msgid "bytes"
+msgstr "byte"
+
+#: ../../include/text.php:1273
+msgid "remove category"
+msgstr "rimuovi la categoria"
+
+#: ../../include/text.php:1348
+msgid "remove from file"
+msgstr "rimuovi dal file"
+
+#: ../../include/text.php:1424 ../../include/text.php:1435
+#: ../../mod/connedit.php:661
+msgid "Click to open/close"
+msgstr "Clicca per aprire/chiudere"
+
+#: ../../include/text.php:1591 ../../mod/events.php:444
+msgid "Link to Source"
+msgstr "Link al sito d'origine"
+
+#: ../../include/text.php:1612 ../../include/text.php:1683
+msgid "default"
+msgstr "predefinito"
+
+#: ../../include/text.php:1620
+msgid "Page layout"
+msgstr "Layout della pagina"
+
+#: ../../include/text.php:1620
+msgid "You can create your own with the layouts tool"
+msgstr "Con gli strumenti di design puoi creare il tuo"
+
+#: ../../include/text.php:1661
+msgid "Page content type"
+msgstr "Tipo di contenuto della pagina"
+
+#: ../../include/text.php:1695
+msgid "Select an alternate language"
+msgstr "Seleziona una lingua diversa"
+
+#: ../../include/text.php:1814 ../../include/conversation.php:120
+#: ../../include/diaspora.php:2081 ../../mod/like.php:346
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:43
+msgid "photo"
+msgstr "la foto"
+
+#: ../../include/text.php:1817 ../../include/conversation.php:123
+#: ../../mod/like.php:348 ../../mod/tagger.php:47
+msgid "event"
+msgstr "l'evento"
+
+#: ../../include/text.php:1820 ../../include/conversation.php:148
+#: ../../include/diaspora.php:2081 ../../mod/like.php:346
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:51
+msgid "status"
+msgstr "il messaggio di stato"
+
+#: ../../include/text.php:1822 ../../include/conversation.php:150
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr "il commento"
+
+#: ../../include/text.php:1827
+msgid "activity"
+msgstr "l'attività"
+
+#: ../../include/text.php:2122
+msgid "Design Tools"
+msgstr "Strumenti di design"
+
+#: ../../include/text.php:2125 ../../mod/blocks.php:143
+msgid "Blocks"
+msgstr "Riquadri"
+
+#: ../../include/text.php:2126 ../../mod/menu.php:95
+msgid "Menus"
+msgstr "Menù"
+
+#: ../../include/text.php:2127 ../../mod/layouts.php:169
+msgid "Layouts"
+msgstr "Layout"
+
+#: ../../include/text.php:2128
+msgid "Pages"
+msgstr "Pagine"
+
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1539
msgid "Logout"
msgstr "Esci"
@@ -2095,10 +2044,10 @@ msgstr "Bacheca"
#: ../../include/nav.php:90
msgid "Your posts and conversations"
-msgstr "I tuoi post e conversazioni"
+msgstr "I tuoi articoli e conversazioni"
#: ../../include/nav.php:91 ../../include/conversation.php:942
-#: ../../mod/connedit.php:498
+#: ../../mod/connedit.php:494 ../../mod/connedit.php:660
msgid "View Profile"
msgstr "Profilo"
@@ -2114,7 +2063,7 @@ msgstr "Modifica i profili"
msgid "Manage/Edit profiles"
msgstr "Gestisci/modifica i profili"
-#: ../../include/nav.php:95 ../../include/identity.php:880
+#: ../../include/nav.php:95 ../../include/identity.php:846
msgid "Edit Profile"
msgstr "Modifica il profilo"
@@ -2122,7 +2071,7 @@ msgstr "Modifica il profilo"
msgid "Edit your profile"
msgstr "Modifica il profilo"
-#: ../../include/nav.php:97 ../../include/conversation.php:1600
+#: ../../include/nav.php:97 ../../include/conversation.php:1597
#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
msgid "Photos"
msgstr "Foto"
@@ -2143,7 +2092,7 @@ msgstr "Area chat"
msgid "Your chatrooms"
msgstr "Le tue aree chat"
-#: ../../include/nav.php:109 ../../include/conversation.php:1635
+#: ../../include/nav.php:109 ../../include/conversation.php:1632
#: ../../include/apps.php:129
msgid "Bookmarks"
msgstr "Segnalibri"
@@ -2152,8 +2101,8 @@ msgstr "Segnalibri"
msgid "Your bookmarks"
msgstr "I tuoi segnalibri"
-#: ../../include/nav.php:113 ../../include/conversation.php:1645
-#: ../../include/apps.php:136 ../../mod/webpages.php:178
+#: ../../include/nav.php:113 ../../include/conversation.php:1642
+#: ../../include/apps.php:136 ../../mod/webpages.php:176
msgid "Webpages"
msgstr "Pagine web"
@@ -2161,7 +2110,7 @@ msgstr "Pagine web"
msgid "Your webpages"
msgstr "Le tue pagine web"
-#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1551
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1540
msgid "Login"
msgstr "Accedi"
@@ -2176,17 +2125,17 @@ msgstr "%s - clicca per uscire"
#: ../../include/nav.php:137
msgid "Remote authentication"
-msgstr "Accedi dal tuo hub"
+msgstr "Autenticazione magica dal tuo server"
#: ../../include/nav.php:137
msgid "Click to authenticate to your home hub"
-msgstr "Accedi tramite il tuo hub principale"
+msgstr "Clicca per autenticarti sul tuo server principale"
#: ../../include/nav.php:151
msgid "Home Page"
msgstr "Bacheca"
-#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1527
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1516
msgid "Register"
msgstr "Iscriviti"
@@ -2195,7 +2144,7 @@ msgid "Create an account"
msgstr "Crea un account"
#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
-#: ../../mod/help.php:72 ../../mod/layouts.php:176
+#: ../../mod/help.php:72 ../../mod/layouts.php:171
msgid "Help"
msgstr "Guida"
@@ -2212,6 +2161,7 @@ msgid "Search site content"
msgstr "Cerca nel sito"
#: ../../include/nav.php:168 ../../include/apps.php:141
+#: ../../mod/directory.php:366
msgid "Directory"
msgstr "Elenco pubblico"
@@ -2221,7 +2171,7 @@ msgstr "Elenco pubblico canali"
#: ../../include/nav.php:180 ../../include/apps.php:133
msgid "Matrix"
-msgstr "RedMatrix"
+msgstr "Hubzilla"
#: ../../include/nav.php:180
msgid "Your matrix"
@@ -2288,7 +2238,7 @@ msgid "Outbox"
msgstr "Inviati"
#: ../../include/nav.php:202 ../../include/apps.php:140
-#: ../../mod/events.php:486
+#: ../../mod/events.php:472
msgid "Events"
msgstr "Eventi"
@@ -2392,15 +2342,167 @@ msgstr "Guarda %2$s di %1$s "
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
-#: ../../include/security.php:349
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:735
+#: ../../include/bbcode.php:738 ../../include/bbcode.php:743
+#: ../../include/bbcode.php:746 ../../include/bbcode.php:749
+#: ../../include/bbcode.php:752 ../../include/bbcode.php:757
+#: ../../include/bbcode.php:760 ../../include/bbcode.php:765
+#: ../../include/bbcode.php:768 ../../include/bbcode.php:771
+#: ../../include/bbcode.php:774
+msgid "Image/photo"
+msgstr "Immagine"
+
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:785
+msgid "Encrypted content"
+msgstr "Contenuto crittografato"
+
+#: ../../include/bbcode.php:177
+msgid "Install design element: "
+msgstr "Installa il componente di design:"
+
+#: ../../include/bbcode.php:190
+msgid "QR code"
+msgstr "QR code"
+
+#: ../../include/bbcode.php:241
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s ha scritto %2$s %3$s"
+
+#: ../../include/bbcode.php:243
+msgid "post"
+msgstr "l'articolo"
+
+#: ../../include/bbcode.php:485
+msgid "Different viewers will see this text differently"
+msgstr "Ad altri questo testo potrebbe apparire in modo differente"
+
+#: ../../include/bbcode.php:696
+msgid "$1 spoiler"
+msgstr "$1 spoiler"
+
+#: ../../include/bbcode.php:723
+msgid "$1 wrote:"
+msgstr "$1 ha scritto:"
+
+#: ../../include/items.php:399 ../../mod/like.php:270
+#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
+#: ../../mod/bulksetclose.php:11 ../../index.php:392
+msgid "Permission denied"
+msgstr "Permesso negato"
+
+#: ../../include/items.php:1012 ../../include/items.php:1058
+msgid "(Unknown)"
+msgstr "(Sconosciuto)"
+
+#: ../../include/items.php:1226
+msgid "Visible to anybody on the internet."
+msgstr "Visibile a chiunque su internet."
+
+#: ../../include/items.php:1228
+msgid "Visible to you only."
+msgstr "Visibile solo a te."
+
+#: ../../include/items.php:1230
+msgid "Visible to anybody in this network."
+msgstr "Visibile a tutti su questa rete."
+
+#: ../../include/items.php:1232
+msgid "Visible to anybody authenticated."
+msgstr "Visibile a chiunque sia autenticato."
+
+#: ../../include/items.php:1234
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Visibile a tutti in %s."
+
+#: ../../include/items.php:1236
+msgid "Visible to all connections."
+msgstr "Visibile a tutti coloro che ti seguono."
+
+#: ../../include/items.php:1238
+msgid "Visible to approved connections."
+msgstr "Visibile ai contatti approvati."
+
+#: ../../include/items.php:1240
+msgid "Visible to specific connections."
+msgstr "Visibile ad alcuni contatti scelti."
+
+#: ../../include/items.php:4051 ../../mod/thing.php:74
+#: ../../mod/display.php:36 ../../mod/filestorage.php:27
+#: ../../mod/viewsrc.php:20 ../../mod/admin.php:167 ../../mod/admin.php:984
+#: ../../mod/admin.php:1184
+msgid "Item not found."
+msgstr "Elemento non trovato."
+
+#: ../../include/items.php:4124 ../../include/photos.php:26
+#: ../../include/attach.php:136 ../../include/attach.php:183
+#: ../../include/attach.php:246 ../../include/attach.php:260
+#: ../../include/attach.php:304 ../../include/attach.php:318
+#: ../../include/attach.php:343 ../../include/attach.php:539
+#: ../../include/attach.php:611 ../../include/chat.php:131
+#: ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/achievements.php:30 ../../mod/manage.php:6
+#: ../../mod/settings.php:564 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/thing.php:241 ../../mod/thing.php:256 ../../mod/thing.php:290
+#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
+#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
+#: ../../mod/events.php:219 ../../mod/group.php:9 ../../mod/setup.php:207
+#: ../../mod/common.php:35 ../../mod/connections.php:169
+#: ../../mod/photos.php:68 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
+#: ../../mod/editlayout.php:64 ../../mod/editlayout.php:89
+#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/editwebpage.php:64
+#: ../../mod/editwebpage.php:86 ../../mod/editwebpage.php:101
+#: ../../mod/editwebpage.php:125 ../../mod/rate.php:110
+#: ../../mod/editpost.php:13 ../../mod/invite.php:13 ../../mod/invite.php:104
+#: ../../mod/locs.php:77 ../../mod/sources.php:66 ../../mod/menu.php:69
+#: ../../mod/filestorage.php:18 ../../mod/filestorage.php:73
+#: ../../mod/filestorage.php:88 ../../mod/filestorage.php:115
+#: ../../mod/fsuggest.php:78 ../../mod/poke.php:128 ../../mod/webpages.php:69
+#: ../../mod/profiles.php:188 ../../mod/profiles.php:576
+#: ../../mod/viewsrc.php:14 ../../mod/mitem.php:115
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/editblock.php:65 ../../mod/register.php:72 ../../mod/item.php:206
+#: ../../mod/item.php:214 ../../mod/item.php:962 ../../mod/blocks.php:69
+#: ../../mod/blocks.php:76 ../../mod/id.php:71 ../../mod/message.php:16
+#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
+#: ../../mod/mood.php:111 ../../mod/connedit.php:331 ../../mod/mail.php:114
+#: ../../mod/notifications.php:66 ../../mod/regmod.php:17
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/appman.php:66 ../../mod/network.php:12 ../../mod/page.php:28
+#: ../../mod/page.php:79 ../../mod/bookmarks.php:46 ../../mod/channel.php:100
+#: ../../mod/channel.php:219 ../../mod/channel.php:262
+#: ../../mod/suggest.php:26 ../../mod/service_limits.php:7
+#: ../../mod/sharedwithme.php:7 ../../index.php:190 ../../index.php:393
+msgid "Permission denied."
+msgstr "Permesso negato."
+
+#: ../../include/items.php:4524 ../../mod/group.php:38 ../../mod/group.php:140
+#: ../../mod/bulksetclose.php:51
+msgid "Collection not found."
+msgstr "Insieme di canali non trovato."
+
+#: ../../include/items.php:4540
+msgid "Collection is empty."
+msgstr "L'insieme di canali è vuoto."
+
+#: ../../include/items.php:4547
+#, php-format
+msgid "Collection: %s"
+msgstr "Insieme: %s"
+
+#: ../../include/items.php:4557
+#, php-format
+msgid "Connection: %s"
+msgstr "Contatto: %s"
+
+#: ../../include/items.php:4559
+msgid "Connection not found."
+msgstr "Contatto non trovato."
#: ../../include/permissions.php:26
msgid "Can view my normal stream and posts"
-msgstr "Può vedere i miei contenuti e i post normali"
+msgstr "Può vedere i miei contenuti e articoli normali"
#: ../../include/permissions.php:27
msgid "Can view my default channel profile"
@@ -2432,7 +2534,7 @@ msgstr "Può scrivere sulla bacheca del mio canale"
#: ../../include/permissions.php:36
msgid "Can comment on or like my posts"
-msgstr "Può commentare o aggiungere \"mi piace\" ai miei post"
+msgstr "Può commentare o aggiungere \"mi piace\" ai miei articoli"
#: ../../include/permissions.php:37
msgid "Can send me private mail messages"
@@ -2448,11 +2550,11 @@ msgstr "Può aggiungere \"mi piace\""
#: ../../include/permissions.php:39
msgid "Profiles and things other than posts/comments"
-msgstr "Profili e tutto ciò che non è post o commenti"
+msgstr "Profili e tutto ciò che non è articoli e commenti"
#: ../../include/permissions.php:41
msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Può inoltrare post a tutti i contatti del canale tramite una @menzione"
+msgstr "Può inoltrare articoli a tutti i contatti del canale tramite una @menzione"
#: ../../include/permissions.php:41
msgid "Advanced - useful for creating group forum channels"
@@ -2472,7 +2574,7 @@ msgstr "Può modificare le mie pagine web"
#: ../../include/permissions.php:46
msgid "Can source my public posts in derived channels"
-msgstr "Può usare i miei post pubblici per creare canali derivati"
+msgstr "Può usare i miei articoli pubblici per creare canali derivati"
#: ../../include/permissions.php:46
msgid "Somewhat advanced - very useful in open communities"
@@ -2487,52 +2589,52 @@ msgid ""
"Extremely advanced. Leave this alone unless you know what you are doing"
msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
-#: ../../include/permissions.php:893
+#: ../../include/permissions.php:809
msgid "Social Networking"
msgstr "Social network"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
+#: ../../include/permissions.php:811
msgid "Mostly Public"
msgstr "Prevalentemente pubblico"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
+#: ../../include/permissions.php:811
msgid "Restricted"
msgstr "Con restrizioni"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
msgid "Private"
msgstr "Privato"
-#: ../../include/permissions.php:894
+#: ../../include/permissions.php:810
msgid "Community Forum"
msgstr "Forum di discussione"
-#: ../../include/permissions.php:895
+#: ../../include/permissions.php:811
msgid "Feed Republish"
msgstr "Aggregatore di feed esterni"
-#: ../../include/permissions.php:896
+#: ../../include/permissions.php:812
msgid "Special Purpose"
msgstr "Per finalità speciali"
-#: ../../include/permissions.php:896
+#: ../../include/permissions.php:812
msgid "Celebrity/Soapbox"
msgstr "Pagina per fan"
-#: ../../include/permissions.php:896
+#: ../../include/permissions.php:812
msgid "Group Repository"
msgstr "Repository di gruppo"
-#: ../../include/permissions.php:897 ../../include/profile_selectors.php:6
+#: ../../include/permissions.php:813 ../../include/profile_selectors.php:6
#: ../../include/profile_selectors.php:23
#: ../../include/profile_selectors.php:61
#: ../../include/profile_selectors.php:97
msgid "Other"
msgstr "Altro"
-#: ../../include/permissions.php:897
+#: ../../include/permissions.php:813
msgid "Custom/Expert Mode"
msgstr "Personalizzazione per esperti"
@@ -2540,6 +2642,12 @@ msgstr "Personalizzazione per esperti"
msgid "channel"
msgstr "canale"
+#: ../../include/conversation.php:164 ../../include/diaspora.php:2110
+#: ../../mod/like.php:394
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "A %1$s piace %3$s di %2$s"
+
#: ../../include/conversation.php:167 ../../mod/like.php:396
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
@@ -2561,42 +2669,42 @@ msgctxt "mood"
msgid "%1$s is %2$s"
msgstr "%1$s è %2$s"
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
+#: ../../include/conversation.php:572 ../../mod/photos.php:984
msgctxt "title"
msgid "Likes"
msgstr "Mi piace"
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
+#: ../../include/conversation.php:572 ../../mod/photos.php:984
msgctxt "title"
msgid "Dislikes"
msgstr "Non mi piace"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
msgctxt "title"
msgid "Agree"
msgstr "D'accordo"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
msgctxt "title"
msgid "Disagree"
msgstr "Non d'accordo"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
msgctxt "title"
msgid "Abstain"
msgstr "Astenuti"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Attending"
msgstr "Partecipano"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Not attending"
msgstr "Non partecipano"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Might attend"
msgstr "Forse partecipano"
@@ -2703,420 +2811,327 @@ msgstr "Piace a %s."
msgid "%s don't like this."
msgstr "Non piace a %s."
-#: ../../include/conversation.php:1140
+#: ../../include/conversation.php:1138
msgid "Visible to <strong>everybody</strong>"
msgstr "Visibile a <strong>tutti</strong>"
-#: ../../include/conversation.php:1141 ../../mod/mail.php:174
+#: ../../include/conversation.php:1139 ../../mod/mail.php:174
#: ../../mod/mail.php:289
msgid "Please enter a link URL:"
msgstr "Inserisci l'indirizzo del link:"
-#: ../../include/conversation.php:1142
+#: ../../include/conversation.php:1140
msgid "Please enter a video link/URL:"
msgstr "Inserisci l'indirizzo del video:"
-#: ../../include/conversation.php:1143
+#: ../../include/conversation.php:1141
msgid "Please enter an audio link/URL:"
msgstr "Inserisci l'indirizzo dell'audio:"
-#: ../../include/conversation.php:1144
+#: ../../include/conversation.php:1142
msgid "Tag term:"
msgstr "Tag:"
-#: ../../include/conversation.php:1145 ../../mod/filer.php:49
+#: ../../include/conversation.php:1143 ../../mod/filer.php:49
msgid "Save to Folder:"
msgstr "Salva nella cartella:"
-#: ../../include/conversation.php:1146
+#: ../../include/conversation.php:1144
msgid "Where are you right now?"
msgstr "Dove sei ora?"
-#: ../../include/conversation.php:1147 ../../mod/editpost.php:47
+#: ../../include/conversation.php:1145 ../../mod/editpost.php:52
#: ../../mod/mail.php:175 ../../mod/mail.php:290
msgid "Expires YYYY-MM-DD HH:MM"
msgstr "Scade il YYYY-MM-DD HH:MM"
-#: ../../include/conversation.php:1174 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154 ../../mod/photos.php:961 ../../mod/layouts.php:184
+#: ../../include/conversation.php:1172 ../../mod/photos.php:949
+#: ../../mod/editlayout.php:197 ../../mod/webpages.php:180
+#: ../../mod/blocks.php:149 ../../mod/layouts.php:175
msgid "Share"
msgstr "Condividi"
-#: ../../include/conversation.php:1176
+#: ../../include/conversation.php:1174
msgid "Page link name"
msgstr "Nome del link alla pagina"
-#: ../../include/conversation.php:1179
+#: ../../include/conversation.php:1177
msgid "Post as"
msgstr "Pubblica come "
-#: ../../include/conversation.php:1186 ../../mod/editpost.php:112
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:184
-#: ../../mod/editblock.php:141 ../../mod/mail.php:238 ../../mod/mail.php:352
+#: ../../include/conversation.php:1184 ../../mod/editlayout.php:145
+#: ../../mod/editwebpage.php:184 ../../mod/editpost.php:119
+#: ../../mod/editblock.php:147 ../../mod/mail.php:238 ../../mod/mail.php:352
msgid "Upload photo"
msgstr "Carica foto"
-#: ../../include/conversation.php:1187
+#: ../../include/conversation.php:1185
msgid "upload photo"
msgstr "carica foto"
-#: ../../include/conversation.php:1188 ../../mod/editpost.php:113
-#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:185
-#: ../../mod/editblock.php:142 ../../mod/mail.php:239 ../../mod/mail.php:353
+#: ../../include/conversation.php:1186 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:185 ../../mod/editpost.php:120
+#: ../../mod/editblock.php:148 ../../mod/mail.php:239 ../../mod/mail.php:353
msgid "Attach file"
msgstr "Allega file"
-#: ../../include/conversation.php:1189
+#: ../../include/conversation.php:1187
msgid "attach file"
msgstr "allega file"
-#: ../../include/conversation.php:1190 ../../mod/editpost.php:114
-#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:186
-#: ../../mod/editblock.php:143 ../../mod/mail.php:240 ../../mod/mail.php:354
+#: ../../include/conversation.php:1188 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:186 ../../mod/editpost.php:121
+#: ../../mod/editblock.php:149 ../../mod/mail.php:240 ../../mod/mail.php:354
msgid "Insert web link"
msgstr "Inserisci un indirizzo web"
-#: ../../include/conversation.php:1191
+#: ../../include/conversation.php:1189
msgid "web link"
msgstr "link web"
-#: ../../include/conversation.php:1192
+#: ../../include/conversation.php:1190
msgid "Insert video link"
msgstr "Inserisci l'indirizzo di un video"
-#: ../../include/conversation.php:1193
+#: ../../include/conversation.php:1191
msgid "video link"
msgstr "link video"
-#: ../../include/conversation.php:1194
+#: ../../include/conversation.php:1192
msgid "Insert audio link"
msgstr "Inserisci l'indirizzo di un audio"
-#: ../../include/conversation.php:1195
+#: ../../include/conversation.php:1193
msgid "audio link"
msgstr "link audio"
-#: ../../include/conversation.php:1196 ../../mod/editpost.php:118
-#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:190
-#: ../../mod/editblock.php:147
+#: ../../include/conversation.php:1194 ../../mod/editlayout.php:151
+#: ../../mod/editwebpage.php:190 ../../mod/editpost.php:125
+#: ../../mod/editblock.php:153
msgid "Set your location"
msgstr "La tua località"
-#: ../../include/conversation.php:1197
+#: ../../include/conversation.php:1195
msgid "set location"
msgstr "la tua località"
-#: ../../include/conversation.php:1198 ../../mod/editpost.php:120
+#: ../../include/conversation.php:1196 ../../mod/editpost.php:127
msgid "Toggle voting"
msgstr "Abilita/disabilita il voto"
-#: ../../include/conversation.php:1201 ../../mod/editpost.php:119
-#: ../../mod/editlayout.php:146 ../../mod/editwebpage.php:191
-#: ../../mod/editblock.php:148
+#: ../../include/conversation.php:1199 ../../mod/editlayout.php:152
+#: ../../mod/editwebpage.php:191 ../../mod/editpost.php:126
+#: ../../mod/editblock.php:154
msgid "Clear browser location"
msgstr "Rimuovi la località data dal browser"
-#: ../../include/conversation.php:1202
+#: ../../include/conversation.php:1200
msgid "clear location"
msgstr "rimuovi la località"
-#: ../../include/conversation.php:1204 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:207 ../../mod/editblock.php:161
+#: ../../include/conversation.php:1202 ../../mod/editlayout.php:164
+#: ../../mod/editwebpage.php:207 ../../mod/editpost.php:141
+#: ../../mod/editblock.php:167
msgid "Title (optional)"
msgstr "Titolo (opzionale)"
-#: ../../include/conversation.php:1208 ../../mod/editpost.php:137
-#: ../../mod/editlayout.php:162 ../../mod/editwebpage.php:209
-#: ../../mod/editblock.php:164
+#: ../../include/conversation.php:1205 ../../mod/editlayout.php:167
+#: ../../mod/editwebpage.php:209 ../../mod/editpost.php:143
+#: ../../mod/editblock.php:170
msgid "Categories (optional, comma-separated list)"
msgstr "Categorie (lista separata da virgole)"
-#: ../../include/conversation.php:1210 ../../mod/editpost.php:124
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:193
-#: ../../mod/editblock.php:150
+#: ../../include/conversation.php:1207 ../../mod/editlayout.php:154
+#: ../../mod/editwebpage.php:193 ../../mod/editpost.php:131
+#: ../../mod/editblock.php:156
msgid "Permission settings"
msgstr "Impostazioni permessi"
-#: ../../include/conversation.php:1211
+#: ../../include/conversation.php:1208
msgid "permissions"
msgstr "permessi"
-#: ../../include/conversation.php:1219 ../../mod/editpost.php:132
-#: ../../mod/editlayout.php:155 ../../mod/editwebpage.php:202
-#: ../../mod/editblock.php:158
+#: ../../include/conversation.php:1216 ../../mod/editlayout.php:161
+#: ../../mod/editwebpage.php:202 ../../mod/editpost.php:138
+#: ../../mod/editblock.php:164
msgid "Public post"
-msgstr "Post pubblico"
+msgstr "Articolo pubblico"
-#: ../../include/conversation.php:1221 ../../mod/editpost.php:138
-#: ../../mod/editlayout.php:163 ../../mod/editwebpage.php:210
-#: ../../mod/editblock.php:165
+#: ../../include/conversation.php:1218 ../../mod/editlayout.php:168
+#: ../../mod/editwebpage.php:210 ../../mod/editpost.php:144
+#: ../../mod/editblock.php:171
msgid "Example: bob@example.com, mary@example.com"
msgstr "Per esempio: mario@esempio.com, simona@esempio.com"
-#: ../../include/conversation.php:1234 ../../mod/editpost.php:149
-#: ../../mod/editlayout.php:172 ../../mod/editwebpage.php:219
-#: ../../mod/editblock.php:175 ../../mod/mail.php:245 ../../mod/mail.php:359
+#: ../../include/conversation.php:1231 ../../mod/editlayout.php:177
+#: ../../mod/editwebpage.php:219 ../../mod/editpost.php:155
+#: ../../mod/editblock.php:181 ../../mod/mail.php:245 ../../mod/mail.php:359
msgid "Set expiration date"
msgstr "Data di scadenza"
-#: ../../include/conversation.php:1238 ../../mod/events.php:651
-#: ../../mod/editpost.php:153
+#: ../../include/conversation.php:1235 ../../mod/events.php:637
+#: ../../mod/editpost.php:159
msgid "OK"
msgstr "OK"
-#: ../../include/conversation.php:1239 ../../mod/tagrm.php:11
-#: ../../mod/tagrm.php:134 ../../mod/events.php:650 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:154
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../include/conversation.php:1236 ../../mod/settings.php:583
+#: ../../mod/settings.php:609 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+#: ../../mod/events.php:636 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
msgid "Cancel"
msgstr "Annulla"
-#: ../../include/conversation.php:1481
+#: ../../include/conversation.php:1478
msgid "Discover"
msgstr "Scopri"
-#: ../../include/conversation.php:1484
+#: ../../include/conversation.php:1481
msgid "Imported public streams"
msgstr "Contenuti pubblici importati"
-#: ../../include/conversation.php:1489
+#: ../../include/conversation.php:1486
msgid "Commented Order"
msgstr "Ultimi commenti"
-#: ../../include/conversation.php:1492
+#: ../../include/conversation.php:1489
msgid "Sort by Comment Date"
msgstr "Per data del commento"
-#: ../../include/conversation.php:1496
+#: ../../include/conversation.php:1493
msgid "Posted Order"
-msgstr "Ultimi post"
+msgstr "Ultimi articoli"
-#: ../../include/conversation.php:1499
+#: ../../include/conversation.php:1496
msgid "Sort by Post Date"
msgstr "Per data di creazione"
-#: ../../include/conversation.php:1507
+#: ../../include/conversation.php:1504
msgid "Posts that mention or involve you"
-msgstr "Post che ti riguardano o ti menzionano"
+msgstr "Articoli che ti riguardano o ti menzionano"
-#: ../../include/conversation.php:1513 ../../mod/connections.php:212
-#: ../../mod/connections.php:225 ../../mod/menu.php:107
+#: ../../include/conversation.php:1510 ../../mod/connections.php:212
+#: ../../mod/connections.php:225 ../../mod/menu.php:102
msgid "New"
msgstr "Novità"
-#: ../../include/conversation.php:1516
+#: ../../include/conversation.php:1513
msgid "Activity Stream - by date"
msgstr "Elenco attività - per data"
-#: ../../include/conversation.php:1522
+#: ../../include/conversation.php:1519
msgid "Starred"
msgstr "Preferiti"
-#: ../../include/conversation.php:1525
+#: ../../include/conversation.php:1522
msgid "Favourite Posts"
-msgstr "Post preferiti"
+msgstr "Articoli preferiti"
-#: ../../include/conversation.php:1532
+#: ../../include/conversation.php:1529
msgid "Spam"
msgstr "Spam"
-#: ../../include/conversation.php:1535
+#: ../../include/conversation.php:1532
msgid "Posts flagged as SPAM"
-msgstr "Post marcati come spam"
+msgstr "Articoli marcati come spam"
-#: ../../include/conversation.php:1579 ../../mod/admin.php:993
+#: ../../include/conversation.php:1576 ../../mod/admin.php:952
msgid "Channel"
msgstr "Canale"
-#: ../../include/conversation.php:1582
+#: ../../include/conversation.php:1579
msgid "Status Messages and Posts"
-msgstr "Post e messaggi di stato"
+msgstr "Articoli e messaggi di stato"
-#: ../../include/conversation.php:1591
+#: ../../include/conversation.php:1588
msgid "About"
msgstr "Informazioni"
-#: ../../include/conversation.php:1594
+#: ../../include/conversation.php:1591
msgid "Profile Details"
msgstr "Dettagli del profilo"
-#: ../../include/conversation.php:1603 ../../include/photos.php:359
+#: ../../include/conversation.php:1600 ../../include/photos.php:359
msgid "Photo Albums"
msgstr "Album foto"
-#: ../../include/conversation.php:1612
+#: ../../include/conversation.php:1609
msgid "Files and Storage"
msgstr "Archivio file"
-#: ../../include/conversation.php:1622 ../../include/conversation.php:1625
+#: ../../include/conversation.php:1619 ../../include/conversation.php:1622
msgid "Chatrooms"
msgstr "Area chat"
-#: ../../include/conversation.php:1638
+#: ../../include/conversation.php:1635
msgid "Saved Bookmarks"
msgstr "Segnalibri salvati"
-#: ../../include/conversation.php:1648
+#: ../../include/conversation.php:1645
msgid "Manage Webpages"
msgstr "Gestisci le pagine web"
-#: ../../include/conversation.php:1707
+#: ../../include/conversation.php:1704
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
msgstr[0] "Partecipa"
msgstr[1] "Partecipano"
-#: ../../include/conversation.php:1710
+#: ../../include/conversation.php:1707
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] "Non partecipa"
msgstr[1] "Non partecipano"
-#: ../../include/conversation.php:1713
+#: ../../include/conversation.php:1710
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] "Indeciso"
msgstr[1] "Indecisi"
-#: ../../include/conversation.php:1716
+#: ../../include/conversation.php:1713
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
msgstr[0] "D'accordo"
msgstr[1] "D'accordo"
-#: ../../include/conversation.php:1719
+#: ../../include/conversation.php:1716
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
msgstr[0] "Non d'accordo"
msgstr[1] "Non d'accordo"
-#: ../../include/conversation.php:1722
+#: ../../include/conversation.php:1719
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
msgstr[0] "Astenuto"
msgstr[1] "Astenuti"
-#: ../../include/items.php:413 ../../mod/like.php:270
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
-#: ../../mod/bulksetclose.php:11 ../../index.php:392
-msgid "Permission denied"
-msgstr "Permesso negato"
-
-#: ../../include/items.php:1035 ../../include/items.php:1081
-msgid "(Unknown)"
-msgstr "(Sconosciuto)"
-
-#: ../../include/items.php:1307
-msgid "Visible to anybody on the internet."
-msgstr "Visibile a chiunque su internet."
-
-#: ../../include/items.php:1309
-msgid "Visible to you only."
-msgstr "Visibile solo a te."
-
-#: ../../include/items.php:1311
-msgid "Visible to anybody in this network."
-msgstr "Visibile a tutti su questa rete."
-
-#: ../../include/items.php:1313
-msgid "Visible to anybody authenticated."
-msgstr "Visibile a chiunque sia autenticato."
-
-#: ../../include/items.php:1315
+#: ../../include/photos.php:94
#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visibile a tutti in %s."
-
-#: ../../include/items.php:1317
-msgid "Visible to all connections."
-msgstr "Visibile a tutti coloro che ti seguono."
-
-#: ../../include/items.php:1319
-msgid "Visible to approved connections."
-msgstr "Visibile ai contatti approvati."
-
-#: ../../include/items.php:1321
-msgid "Visible to specific connections."
-msgstr "Visibile ad alcuni contatti scelti."
-
-#: ../../include/items.php:4209 ../../mod/thing.php:74
-#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
-#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
-#: ../../mod/display.php:36
-msgid "Item not found."
-msgstr "Elemento non trovato."
-
-#: ../../include/items.php:4282 ../../include/attach.php:137
-#: ../../include/attach.php:184 ../../include/attach.php:247
-#: ../../include/attach.php:261 ../../include/attach.php:305
-#: ../../include/attach.php:319 ../../include/attach.php:350
-#: ../../include/attach.php:546 ../../include/attach.php:618
-#: ../../include/chat.php:131 ../../include/photos.php:26
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/achievements.php:30 ../../mod/manage.php:6 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/webpages.php:69 ../../mod/thing.php:241
-#: ../../mod/thing.php:256 ../../mod/thing.php:290
-#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
-#: ../../mod/events.php:232 ../../mod/group.php:9 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:978 ../../mod/network.php:12
-#: ../../mod/common.php:35 ../../mod/connections.php:169
-#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/editpost.php:13
-#: ../../mod/photos.php:69 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
-#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/mitem.php:109
-#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
-#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
-#: ../../mod/rate.php:110 ../../mod/editblock.php:65 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
-#: ../../mod/menu.php:69 ../../mod/filestorage.php:18
-#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
-#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
-#: ../../mod/poke.php:128 ../../mod/profiles.php:188
-#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14 ../../mod/setup.php:223
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/register.php:72 ../../mod/settings.php:570 ../../mod/id.php:71
-#: ../../mod/message.php:16 ../../mod/mood.php:111 ../../mod/connedit.php:336
-#: ../../mod/mail.php:114 ../../mod/notifications.php:66
-#: ../../mod/regmod.php:17 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/appman.php:66
-#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
-#: ../../mod/page.php:31 ../../mod/page.php:86 ../../mod/bookmarks.php:46
-#: ../../mod/channel.php:100 ../../mod/channel.php:219
-#: ../../mod/channel.php:262 ../../mod/suggest.php:26
-#: ../../mod/service_limits.php:7 ../../mod/sharedwithme.php:7
-#: ../../index.php:182 ../../index.php:393
-msgid "Permission denied."
-msgstr "Permesso negato."
-
-#: ../../include/items.php:4684 ../../mod/group.php:38 ../../mod/group.php:140
-#: ../../mod/bulksetclose.php:51
-msgid "Collection not found."
-msgstr "Insieme di canali non trovato."
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "L'immagine supera il limite massimo di %lu bytes"
-#: ../../include/items.php:4700
-msgid "Collection is empty."
-msgstr "L'insieme di canali è vuoto."
+#: ../../include/photos.php:101
+msgid "Image file is empty."
+msgstr "Il file dell'immagine è vuoto."
-#: ../../include/items.php:4707
-#, php-format
-msgid "Collection: %s"
-msgstr "Insieme: %s"
+#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
+msgid "Unable to process image"
+msgstr "Impossibile elaborare l'immagine"
-#: ../../include/items.php:4717 ../../mod/connedit.php:662
-#, php-format
-msgid "Connection: %s"
-msgstr "Contatto: %s"
+#: ../../include/photos.php:199
+msgid "Photo storage failed."
+msgstr "Impossibile caricare la foto."
-#: ../../include/items.php:4719
-msgid "Connection not found."
-msgstr "Contatto non trovato."
+#: ../../include/photos.php:363
+msgid "Upload New Photos"
+msgstr "Carica nuove foto"
#: ../../include/zot.php:666
msgid "Invalid data packet"
@@ -3126,7 +3141,7 @@ msgstr "Dati non validi"
msgid "Unable to verify channel signature"
msgstr "Impossibile verificare la firma elettronica del canale"
-#: ../../include/zot.php:2132
+#: ../../include/zot.php:2108
#, php-format
msgid "Unable to verify site signature for %s"
msgstr "Impossibile verificare la firma elettronica del sito %s"
@@ -3158,7 +3173,7 @@ msgid_plural "%d invitations available"
msgstr[0] "%d invito disponibile"
msgstr[1] "%d inviti disponibili"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:450
msgid "Advanced"
msgstr "Avanzate"
@@ -3178,12 +3193,12 @@ msgstr "Aggiungi"
msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Per esempio: Mario Rossi, Pesca"
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379
-#: ../../mod/directory.php:384 ../../mod/connections.php:413
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:413
+#: ../../mod/directory.php:362 ../../mod/directory.php:367
msgid "Find"
msgstr "Cerca"
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:366
#: ../../mod/suggest.php:60
msgid "Channel Suggestions"
msgstr "Canali suggeriti"
@@ -3223,67 +3238,67 @@ msgstr "Mostra"
msgid "Don't show"
msgstr "Non mostrare"
-#: ../../include/acl_selectors.php:248 ../../mod/events.php:668
-#: ../../mod/photos.php:571 ../../mod/photos.php:934 ../../mod/chat.php:209
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:654
+#: ../../mod/photos.php:559 ../../mod/photos.php:922 ../../mod/chat.php:209
#: ../../mod/filestorage.php:147
msgid "Permissions"
msgstr "Permessi"
-#: ../../include/attach.php:242 ../../include/attach.php:300
+#: ../../include/attach.php:241 ../../include/attach.php:299
msgid "Item was not found."
msgstr "Elemento non trovato."
-#: ../../include/attach.php:363
+#: ../../include/attach.php:356
msgid "No source file."
msgstr "Nessun file di origine."
-#: ../../include/attach.php:381
+#: ../../include/attach.php:374
msgid "Cannot locate file to replace"
msgstr "Il file da sostituire non è stato trovato"
-#: ../../include/attach.php:399
+#: ../../include/attach.php:392
msgid "Cannot locate file to revise/update"
msgstr "Il file da aggiornare non è stato trovato"
-#: ../../include/attach.php:410
+#: ../../include/attach.php:403
#, php-format
msgid "File exceeds size limit of %d"
msgstr "Il file supera la dimensione massima di %d"
-#: ../../include/attach.php:422
+#: ../../include/attach.php:415
#, php-format
msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
-#: ../../include/attach.php:505
+#: ../../include/attach.php:498
msgid "File upload failed. Possible system limit or action terminated."
msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."
-#: ../../include/attach.php:517
+#: ../../include/attach.php:510
msgid "Stored file could not be verified. Upload failed."
msgstr "Il file non può essere verificato. Caricamento fallito."
-#: ../../include/attach.php:561 ../../include/attach.php:578
+#: ../../include/attach.php:554 ../../include/attach.php:571
msgid "Path not available."
msgstr "Percorso non disponibile."
-#: ../../include/attach.php:623
+#: ../../include/attach.php:616
msgid "Empty pathname"
msgstr "Il percorso del file è vuoto"
-#: ../../include/attach.php:639
+#: ../../include/attach.php:632
msgid "duplicate filename or path"
msgstr "il file o il percorso del file è duplicato"
-#: ../../include/attach.php:663
+#: ../../include/attach.php:656
msgid "Path not found."
msgstr "Percorso del file non trovato."
-#: ../../include/attach.php:714
+#: ../../include/attach.php:707
msgid "mkdir failed."
msgstr "mkdir fallito."
-#: ../../include/attach.php:718
+#: ../../include/attach.php:711
msgid "database storage failed."
msgstr "scrittura su database fallita."
@@ -3324,206 +3339,205 @@ msgstr "Impossibile caricare l'identità creata"
msgid "Default Profile"
msgstr "Profilo predefinito"
-#: ../../include/identity.php:660
+#: ../../include/identity.php:630
msgid "Requested channel is not available."
msgstr "Il canale che cerchi non è disponibile."
-#: ../../include/identity.php:707 ../../mod/profile.php:16
-#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
-#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
-#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/editblock.php:29 ../../mod/filestorage.php:54
-#: ../../mod/layouts.php:29
+#: ../../include/identity.php:677 ../../mod/profile.php:16
+#: ../../mod/achievements.php:11 ../../mod/connect.php:13
+#: ../../mod/hcard.php:8 ../../mod/editlayout.php:28
+#: ../../mod/editwebpage.php:28 ../../mod/filestorage.php:54
+#: ../../mod/webpages.php:29 ../../mod/editblock.php:29
+#: ../../mod/blocks.php:29 ../../mod/layouts.php:29
msgid "Requested profile is not available."
msgstr "Il profilo richiesto non è disponibile."
-#: ../../include/identity.php:870 ../../mod/profiles.php:774
+#: ../../include/identity.php:836 ../../mod/profiles.php:774
msgid "Change profile photo"
msgstr "Cambia la foto del profilo"
-#: ../../include/identity.php:876
+#: ../../include/identity.php:842
msgid "Profiles"
msgstr "Profili"
-#: ../../include/identity.php:876
+#: ../../include/identity.php:842
msgid "Manage/edit profiles"
msgstr "Gestisci/modifica i profili"
-#: ../../include/identity.php:877 ../../mod/profiles.php:775
+#: ../../include/identity.php:843 ../../mod/profiles.php:775
msgid "Create New Profile"
msgstr "Crea un nuovo profilo"
-#: ../../include/identity.php:892 ../../mod/profiles.php:786
+#: ../../include/identity.php:858 ../../mod/profiles.php:786
msgid "Profile Image"
msgstr "Immagine del profilo"
-#: ../../include/identity.php:895
+#: ../../include/identity.php:861
msgid "visible to everybody"
msgstr "visibile a tutti"
-#: ../../include/identity.php:896 ../../mod/profiles.php:669
+#: ../../include/identity.php:862 ../../mod/profiles.php:669
#: ../../mod/profiles.php:790
msgid "Edit visibility"
msgstr "Cambia la visibilità"
-#: ../../include/identity.php:912 ../../include/identity.php:1151
+#: ../../include/identity.php:878 ../../include/identity.php:1117
msgid "Gender:"
msgstr "Sesso:"
-#: ../../include/identity.php:913 ../../include/identity.php:1195
+#: ../../include/identity.php:879 ../../include/identity.php:1161
msgid "Status:"
msgstr "Stato:"
-#: ../../include/identity.php:914 ../../include/identity.php:1206
+#: ../../include/identity.php:880 ../../include/identity.php:1172
msgid "Homepage:"
msgstr "Home page:"
-#: ../../include/identity.php:915
+#: ../../include/identity.php:881
msgid "Online Now"
msgstr "Online adesso"
-#: ../../include/identity.php:998 ../../include/identity.php:1076
+#: ../../include/identity.php:964 ../../include/identity.php:1042
#: ../../mod/ping.php:324
msgid "g A l F d"
msgstr "g A l d F"
-#: ../../include/identity.php:999 ../../include/identity.php:1077
+#: ../../include/identity.php:965 ../../include/identity.php:1043
msgid "F d"
msgstr "d F"
-#: ../../include/identity.php:1044 ../../include/identity.php:1116
+#: ../../include/identity.php:1010 ../../include/identity.php:1082
#: ../../mod/ping.php:346
msgid "[today]"
msgstr "[oggi]"
-#: ../../include/identity.php:1055
+#: ../../include/identity.php:1021
msgid "Birthday Reminders"
msgstr "Promemoria compleanni"
-#: ../../include/identity.php:1056
+#: ../../include/identity.php:1022
msgid "Birthdays this week:"
msgstr "Compleanni questa settimana:"
-#: ../../include/identity.php:1109
+#: ../../include/identity.php:1075
msgid "[No description]"
msgstr "[Nessuna descrizione]"
-#: ../../include/identity.php:1127
+#: ../../include/identity.php:1093
msgid "Event Reminders"
msgstr "Promemoria"
-#: ../../include/identity.php:1128
+#: ../../include/identity.php:1094
msgid "Events this week:"
msgstr "Eventi di questa settimana:"
-#: ../../include/identity.php:1141 ../../include/identity.php:1258
+#: ../../include/identity.php:1107 ../../include/identity.php:1224
#: ../../include/apps.php:138 ../../mod/profperm.php:112
msgid "Profile"
msgstr "Profilo"
-#: ../../include/identity.php:1149 ../../mod/settings.php:1056
+#: ../../include/identity.php:1115 ../../mod/settings.php:1045
msgid "Full Name:"
msgstr "Nome completo:"
-#: ../../include/identity.php:1156
+#: ../../include/identity.php:1122
msgid "Like this channel"
msgstr "Mi piace questo canale"
-#: ../../include/identity.php:1180
+#: ../../include/identity.php:1146
msgid "j F, Y"
msgstr "j F Y"
-#: ../../include/identity.php:1181
+#: ../../include/identity.php:1147
msgid "j F"
msgstr "j F"
-#: ../../include/identity.php:1188
+#: ../../include/identity.php:1154
msgid "Birthday:"
msgstr "Compleanno:"
-#: ../../include/identity.php:1192 ../../mod/directory.php:297
+#: ../../include/identity.php:1158
msgid "Age:"
msgstr "Età:"
-#: ../../include/identity.php:1201
+#: ../../include/identity.php:1167
#, php-format
msgid "for %1$d %2$s"
msgstr "per %1$d %2$s"
-#: ../../include/identity.php:1204 ../../mod/profiles.php:691
+#: ../../include/identity.php:1170 ../../mod/profiles.php:691
msgid "Sexual Preference:"
msgstr "Preferenze sessuali:"
-#: ../../include/identity.php:1208 ../../mod/directory.php:313
-#: ../../mod/profiles.php:693
+#: ../../include/identity.php:1174 ../../mod/profiles.php:693
msgid "Hometown:"
msgstr "Città dove vivo:"
-#: ../../include/identity.php:1210
+#: ../../include/identity.php:1176
msgid "Tags:"
msgstr "Tag:"
-#: ../../include/identity.php:1212 ../../mod/profiles.php:694
+#: ../../include/identity.php:1178 ../../mod/profiles.php:694
msgid "Political Views:"
msgstr "Orientamento politico:"
-#: ../../include/identity.php:1214
+#: ../../include/identity.php:1180
msgid "Religion:"
msgstr "Religione:"
-#: ../../include/identity.php:1216 ../../mod/directory.php:315
+#: ../../include/identity.php:1182
msgid "About:"
msgstr "Informazioni:"
-#: ../../include/identity.php:1218
+#: ../../include/identity.php:1184
msgid "Hobbies/Interests:"
msgstr "Interessi e hobby:"
-#: ../../include/identity.php:1220 ../../mod/profiles.php:697
+#: ../../include/identity.php:1186 ../../mod/profiles.php:697
msgid "Likes:"
msgstr "Mi piace:"
-#: ../../include/identity.php:1222 ../../mod/profiles.php:698
+#: ../../include/identity.php:1188 ../../mod/profiles.php:698
msgid "Dislikes:"
msgstr "Non mi piace:"
-#: ../../include/identity.php:1224
+#: ../../include/identity.php:1190
msgid "Contact information and Social Networks:"
msgstr "Contatti e social network:"
-#: ../../include/identity.php:1226
+#: ../../include/identity.php:1192
msgid "My other channels:"
msgstr "I miei altri canali:"
-#: ../../include/identity.php:1228
+#: ../../include/identity.php:1194
msgid "Musical interests:"
msgstr "Gusti musicali:"
-#: ../../include/identity.php:1230
+#: ../../include/identity.php:1196
msgid "Books, literature:"
msgstr "Libri, letteratura:"
-#: ../../include/identity.php:1232
+#: ../../include/identity.php:1198
msgid "Television:"
msgstr "Televisione:"
-#: ../../include/identity.php:1234
+#: ../../include/identity.php:1200
msgid "Film/dance/culture/entertainment:"
msgstr "Film, danza, cultura, intrattenimento:"
-#: ../../include/identity.php:1236
+#: ../../include/identity.php:1202
msgid "Love/Romance:"
msgstr "Amore:"
-#: ../../include/identity.php:1238
+#: ../../include/identity.php:1204
msgid "Work/employment:"
msgstr "Lavoro:"
-#: ../../include/identity.php:1240
+#: ../../include/identity.php:1206
msgid "School/education:"
msgstr "Scuola:"
-#: ../../include/identity.php:1260
+#: ../../include/identity.php:1226
msgid "Like this thing"
msgstr "Mi piace questo Oggetto"
@@ -3801,7 +3815,7 @@ msgstr "Lingua"
#: ../../include/apps.php:154
msgid "Post"
-msgstr "Post"
+msgstr "Articolo"
#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
#: ../../mod/id.php:19
@@ -3809,7 +3823,7 @@ msgid "Profile Photo"
msgstr "Foto del profilo"
#: ../../include/apps.php:247 ../../mod/settings.php:84
-#: ../../mod/settings.php:614
+#: ../../mod/settings.php:608
msgid "Update"
msgstr "Aggiorna"
@@ -3821,73 +3835,6 @@ msgstr "Installa"
msgid "Purchase"
msgstr "Acquista"
-#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
-#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
-#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
-#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
-#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
-#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
-#: ../../include/bbcode.php:807
-msgid "Image/photo"
-msgstr "Immagine"
-
-#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
-msgid "Encrypted content"
-msgstr "Contenuto crittografato"
-
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Installa l'elemento %s:"
-
-#: ../../include/bbcode.php:182
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari."
-
-#: ../../include/bbcode.php:192 ../../mod/impel.php:37
-msgid "webpage"
-msgstr "pagina web"
-
-#: ../../include/bbcode.php:195 ../../mod/impel.php:47
-msgid "layout"
-msgstr "layout"
-
-#: ../../include/bbcode.php:198 ../../mod/impel.php:42
-msgid "block"
-msgstr "riquadro"
-
-#: ../../include/bbcode.php:201 ../../mod/impel.php:54
-msgid "menu"
-msgstr "menu"
-
-#: ../../include/bbcode.php:215
-msgid "QR code"
-msgstr "QR code"
-
-#: ../../include/bbcode.php:266
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s ha scritto %2$s %3$s"
-
-#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
-msgid "post"
-msgstr "il post"
-
-#: ../../include/bbcode.php:518
-msgid "Different viewers will see this text differently"
-msgstr "Ad altri questo testo potrebbe apparire in modo differente"
-
-#: ../../include/bbcode.php:729
-msgid "$1 spoiler"
-msgstr "$1 spoiler"
-
-#: ../../include/bbcode.php:756
-msgid "$1 wrote:"
-msgstr "$1 ha scritto:"
-
#: ../../include/chat.php:23
msgid "Missing room name"
msgstr "Area chat senza nome"
@@ -3908,27 +3855,6 @@ msgstr "Area chat non trovata."
msgid "Room is full"
msgstr "L'area chat è al completo"
-#: ../../include/photos.php:94
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "L'immagine supera il limite massimo di %lu bytes"
-
-#: ../../include/photos.php:101
-msgid "Image file is empty."
-msgstr "Il file dell'immagine è vuoto."
-
-#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
-msgid "Unable to process image"
-msgstr "Impossibile elaborare l'immagine"
-
-#: ../../include/photos.php:199
-msgid "Photo storage failed."
-msgstr "Impossibile caricare la foto."
-
-#: ../../include/photos.php:363
-msgid "Upload New Photos"
-msgstr "Carica nuove foto"
-
#: ../../mod/achievements.php:34
msgid "Some blurb about what to do when you're new here"
msgstr "Qualche suggerimento per i nuovi utenti su cosa fare"
@@ -3972,94 +3898,599 @@ msgstr "%d nuove richieste di entrare in contatto"
msgid "Delegated Channels"
msgstr "Canali delegati"
-#: ../../mod/directory.php:59 ../../mod/photos.php:441 ../../mod/search.php:13
-#: ../../mod/ratings.php:82 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:13
-msgid "Public access denied."
-msgstr "Accesso pubblico negato."
+#: ../../mod/settings.php:76
+msgid "Name is required"
+msgstr "Il nome è obbligatorio"
-#: ../../mod/directory.php:234
+#: ../../mod/settings.php:80
+msgid "Key and Secret are required"
+msgstr "Key e Secret sono richiesti"
+
+#: ../../mod/settings.php:124
+msgid "Diaspora Policy Settings updated."
+msgstr "Le regole per Diaspora sono state aggiornate."
+
+#: ../../mod/settings.php:232
+msgid "Passwords do not match. Password unchanged."
+msgstr "Le password non corrispondono. Password non cambiata."
+
+#: ../../mod/settings.php:236
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Le password non possono essere vuote. Password non cambiata."
+
+#: ../../mod/settings.php:250
+msgid "Password changed."
+msgstr "Password cambiata."
+
+#: ../../mod/settings.php:252
+msgid "Password update failed. Please try again."
+msgstr "Modifica password fallita. Prova ancora."
+
+#: ../../mod/settings.php:266
+msgid "Not valid email."
+msgstr "Email non valida."
+
+#: ../../mod/settings.php:269
+msgid "Protected email address. Cannot change to that email."
+msgstr "È un indirizzo email riservato. Non puoi sceglierlo."
+
+#: ../../mod/settings.php:278
+msgid "System failure storing new email. Please try again."
+msgstr "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore."
+
+#: ../../mod/settings.php:517
+msgid "Settings updated."
+msgstr "Impostazioni aggiornate."
+
+#: ../../mod/settings.php:573 ../../mod/api.php:106 ../../mod/photos.php:556
+#: ../../mod/menu.php:88 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:424
+#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1544
+msgid "No"
+msgstr "No"
+
+#: ../../mod/settings.php:573 ../../mod/api.php:105 ../../mod/photos.php:556
+#: ../../mod/menu.php:88 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:426
+#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1544
+msgid "Yes"
+msgstr "Si"
+
+#: ../../mod/settings.php:581 ../../mod/settings.php:607
+#: ../../mod/settings.php:643
+msgid "Add application"
+msgstr "Aggiungi una app"
+
+#: ../../mod/settings.php:584
+msgid "Name of application"
+msgstr "Nome dell'applicazione"
+
+#: ../../mod/settings.php:585 ../../mod/settings.php:611
+msgid "Consumer Key"
+msgstr "Consumer Key"
+
+#: ../../mod/settings.php:585 ../../mod/settings.php:586
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20"
+
+#: ../../mod/settings.php:586 ../../mod/settings.php:612
+msgid "Consumer Secret"
+msgstr "Consumer Secret"
+
+#: ../../mod/settings.php:587 ../../mod/settings.php:613
+msgid "Redirect"
+msgstr "Redirect"
+
+#: ../../mod/settings.php:587
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI ridirezionato - lasciare bianco se non richiesto specificamente dall'applicazione."
+
+#: ../../mod/settings.php:588 ../../mod/settings.php:614
+msgid "Icon url"
+msgstr "Url icona"
+
+#: ../../mod/settings.php:588
+msgid "Optional"
+msgstr "Opzionale"
+
+#: ../../mod/settings.php:599
+msgid "You can't edit this application."
+msgstr "Non puoi modificare questa applicazione."
+
+#: ../../mod/settings.php:642
+msgid "Connected Apps"
+msgstr "App connesse"
+
+#: ../../mod/settings.php:646
+msgid "Client key starts with"
+msgstr "La client key inizia con"
+
+#: ../../mod/settings.php:647
+msgid "No name"
+msgstr "Nessun nome"
+
+#: ../../mod/settings.php:648
+msgid "Remove authorization"
+msgstr "Revoca l'autorizzazione"
+
+#: ../../mod/settings.php:662
+msgid "No feature settings configured"
+msgstr "Non hai componenti aggiuntivi da personalizzare"
+
+#: ../../mod/settings.php:678
+msgid "Feature/Addon Settings"
+msgstr "Impostazioni dei componenti aggiuntivi"
+
+#: ../../mod/settings.php:680
+msgid "Settings for the built-in Diaspora emulator"
+msgstr "Interconnessione con Diaspora"
+
+#: ../../mod/settings.php:681
+msgid "Allow any Diaspora member to comment on your public posts"
+msgstr "Permetti a tutti gli utenti di Diaspora di commentare i tuoi post pubblici"
+
+#: ../../mod/settings.php:682
+msgid "Diaspora Policy Settings"
+msgstr "Regole per Diaspora"
+
+#: ../../mod/settings.php:683
+msgid "Prevent your hashtags from being redirected to other sites"
+msgstr "Impedisci che i tuoi #tag puntino su altri siti"
+
+#: ../../mod/settings.php:707
+msgid "Account Settings"
+msgstr "Il tuo account"
+
+#: ../../mod/settings.php:708
+msgid "Enter New Password:"
+msgstr "Inserisci la nuova password:"
+
+#: ../../mod/settings.php:709
+msgid "Confirm New Password:"
+msgstr "Conferma la nuova password:"
+
+#: ../../mod/settings.php:709
+msgid "Leave password fields blank unless changing"
+msgstr "Lascia questi campi in bianco per non cambiare la password"
+
+#: ../../mod/settings.php:711 ../../mod/settings.php:1046
+msgid "Email Address:"
+msgstr "Indirizzo email:"
+
+#: ../../mod/settings.php:712 ../../mod/removeaccount.php:61
+msgid "Remove Account"
+msgstr "Elimina l'account"
+
+#: ../../mod/settings.php:713
+msgid "Remove this account including all its channels"
+msgstr "Elimina questo account e tutti i suoi canali"
+
+#: ../../mod/settings.php:729
+msgid "Off"
+msgstr "Off"
+
+#: ../../mod/settings.php:729
+msgid "On"
+msgstr "On"
+
+#: ../../mod/settings.php:736
+msgid "Additional Features"
+msgstr "Funzionalità opzionali"
+
+#: ../../mod/settings.php:760
+msgid "Connector Settings"
+msgstr "Impostazioni del connettore"
+
+#: ../../mod/settings.php:799
+msgid "No special theme for mobile devices"
+msgstr "Nessun tema per dispositivi mobili"
+
+#: ../../mod/settings.php:802
#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d valutazione"
-msgstr[1] "%d valutazioni"
+msgid "%s - (Experimental)"
+msgstr "%s - (Sperimentale)"
-#: ../../mod/directory.php:245
-msgid "Gender: "
-msgstr "Sesso:"
+#: ../../mod/settings.php:805 ../../mod/admin.php:396
+msgid "mobile"
+msgstr "mobile"
-#: ../../mod/directory.php:247
-msgid "Status: "
-msgstr "Stato:"
+#: ../../mod/settings.php:841
+msgid "Display Settings"
+msgstr "Aspetto"
-#: ../../mod/directory.php:249
-msgid "Homepage: "
-msgstr "Homepage:"
+#: ../../mod/settings.php:847
+msgid "Display Theme:"
+msgstr "Tema per schermi medio grandi:"
-#: ../../mod/directory.php:308 ../../mod/events.php:659
-msgid "Description:"
-msgstr "Descrizione:"
+#: ../../mod/settings.php:848
+msgid "Mobile Theme:"
+msgstr "Tema per dispositivi mobili:"
-#: ../../mod/directory.php:317
-msgid "Public Forum:"
-msgstr "Forum pubblico:"
+#: ../../mod/settings.php:849
+msgid "Enable user zoom on mobile devices"
+msgstr "Attiva la possibilità di fare zoom sui dispositivi mobili"
-#: ../../mod/directory.php:320
-msgid "Keywords: "
-msgstr "Parole chiave:"
+#: ../../mod/settings.php:850
+msgid "Update browser every xx seconds"
+msgstr "Aggiorna il browser ogni x secondi"
-#: ../../mod/directory.php:323
-msgid "Don't suggest"
-msgstr "Non fornire suggerimenti"
+#: ../../mod/settings.php:850
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimo 10 secondi, nessun limite massimo"
-#: ../../mod/directory.php:325
-msgid "Common connections:"
-msgstr "Contatti in comune:"
+#: ../../mod/settings.php:851
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Massimo numero di conversazioni da mostrare ogni volta:"
-#: ../../mod/directory.php:374
-msgid "Global Directory"
-msgstr "Elenco globale dei canali"
+#: ../../mod/settings.php:851
+msgid "Maximum of 100 items"
+msgstr "Massimo 100"
-#: ../../mod/directory.php:374
-msgid "Local Directory"
-msgstr "Elenco canali su questo server"
+#: ../../mod/settings.php:852
+msgid "Show emoticons (smilies) as images"
+msgstr "Mostra le faccine (smilies) come immagini"
-#: ../../mod/directory.php:380
-msgid "Finding:"
-msgstr "Ricerca:"
+#: ../../mod/settings.php:853
+msgid "Link post titles to source"
+msgstr "Il link del titolo di un articolo porta al sito originale"
-#: ../../mod/directory.php:385
-msgid "next page"
-msgstr "pagina successiva"
+#: ../../mod/settings.php:854
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Modifica i layout di sistema (avanzato)"
-#: ../../mod/directory.php:385
-msgid "previous page"
-msgstr "pagina precedente"
+#: ../../mod/settings.php:857
+msgid "Use blog/list mode on channel page"
+msgstr "Mostra il canale nella modalità blog"
-#: ../../mod/directory.php:386
-msgid "Sort options"
-msgstr "Opzioni di ordinamento"
+#: ../../mod/settings.php:857 ../../mod/settings.php:858
+msgid "(comments displayed separately)"
+msgstr "(i commenti sono mostrati separatamente)"
-#: ../../mod/directory.php:387
-msgid "Alphabetic"
-msgstr "Alfabetico"
+#: ../../mod/settings.php:858
+msgid "Use blog/list mode on matrix page"
+msgstr "Mostra la tua rete in modalità blog"
-#: ../../mod/directory.php:388
-msgid "Reverse Alphabetic"
-msgstr "Alfabetico inverso"
+#: ../../mod/settings.php:859
+msgid "Channel page max height of content (in pixels)"
+msgstr "Altezza massima dei contenuti del canale (in pixel)"
-#: ../../mod/directory.php:389
-msgid "Newest to Oldest"
-msgstr "Prima i più recenti"
+#: ../../mod/settings.php:859 ../../mod/settings.php:860
+msgid "click to expand content exceeding this height"
+msgstr "dovrai cliccare per mostrare i contenuti di dimensioni maggiori"
-#: ../../mod/directory.php:390
-msgid "Oldest to Newest"
-msgstr "Prima i più vecchi"
+#: ../../mod/settings.php:860
+msgid "Matrix page max height of content (in pixels)"
+msgstr "Altezza massima dei contenuti della tua rete (in pixel)"
-#: ../../mod/directory.php:407
-msgid "No entries (some entries may be hidden)."
-msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)."
+#: ../../mod/settings.php:894
+msgid "Nobody except yourself"
+msgstr "Nessuno tranne te"
+
+#: ../../mod/settings.php:895
+msgid "Only those you specifically allow"
+msgstr "Solo chi riceve il mio permesso"
+
+#: ../../mod/settings.php:896
+msgid "Approved connections"
+msgstr "Contatti approvati"
+
+#: ../../mod/settings.php:897
+msgid "Any connections"
+msgstr "Tutti i contatti"
+
+#: ../../mod/settings.php:898
+msgid "Anybody on this website"
+msgstr "Chiunque su questo sito"
+
+#: ../../mod/settings.php:899
+msgid "Anybody in this network"
+msgstr "Chiunque su Red"
+
+#: ../../mod/settings.php:900
+msgid "Anybody authenticated"
+msgstr "Chiunque sia autenticato"
+
+#: ../../mod/settings.php:901
+msgid "Anybody on the internet"
+msgstr "Chiunque su internet"
+
+#: ../../mod/settings.php:975
+msgid "Publish your default profile in the network directory"
+msgstr "Mostra il mio profilo predefinito nell'elenco pubblico dei canali"
+
+#: ../../mod/settings.php:980
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Vuoi essere suggerito come amico ai nuovi membri?"
+
+#: ../../mod/settings.php:984 ../../mod/profile_photo.php:366
+msgid "or"
+msgstr "o"
+
+#: ../../mod/settings.php:989
+msgid "Your channel address is"
+msgstr "L'indirizzo del tuo canale è"
+
+#: ../../mod/settings.php:1037
+msgid "Channel Settings"
+msgstr "Impostazioni del canale"
+
+#: ../../mod/settings.php:1044
+msgid "Basic Settings"
+msgstr "Impostazioni di base"
+
+#: ../../mod/settings.php:1047
+msgid "Your Timezone:"
+msgstr "Il tuo fuso orario:"
+
+#: ../../mod/settings.php:1048
+msgid "Default Post Location:"
+msgstr "Località predefinita:"
+
+#: ../../mod/settings.php:1048
+msgid "Geographical location to display on your posts"
+msgstr "Posizione geografica da mostrare sui tuoi post"
+
+#: ../../mod/settings.php:1049
+msgid "Use Browser Location:"
+msgstr "Usa la località rilevata dal browser:"
+
+#: ../../mod/settings.php:1051
+msgid "Adult Content"
+msgstr "Contenuto per adulti"
+
+#: ../../mod/settings.php:1051
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)"
+
+#: ../../mod/settings.php:1053
+msgid "Security and Privacy Settings"
+msgstr "Impostazioni di sicurezza e privacy"
+
+#: ../../mod/settings.php:1055
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli"
+
+#: ../../mod/settings.php:1057
+msgid "Hide my online presence"
+msgstr "Nascondi la mia presenza online"
+
+#: ../../mod/settings.php:1057
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Evita che sul tuo profilo compaia la tua presenza online"
+
+#: ../../mod/settings.php:1059
+msgid "Simple Privacy Settings:"
+msgstr "Impostazioni di privacy semplificate"
+
+#: ../../mod/settings.php:1060
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>"
+
+#: ../../mod/settings.php:1061
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>"
+
+#: ../../mod/settings.php:1062
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>"
+
+#: ../../mod/settings.php:1063
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>"
+
+#: ../../mod/settings.php:1065
+msgid "Allow others to tag your posts"
+msgstr "Permetti ad altri di taggare i tuoi articoli"
+
+#: ../../mod/settings.php:1065
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti"
+
+#: ../../mod/settings.php:1067
+msgid "Advanced Privacy Settings"
+msgstr "Impostazioni di privacy avanzate"
+
+#: ../../mod/settings.php:1069
+msgid "Expire other channel content after this many days"
+msgstr "Giorni dopo cui mettere in scadenza gli altri contenuti del canale"
+
+#: ../../mod/settings.php:1069
+msgid "0 or blank prevents expiration"
+msgstr "Lascia vuoto oppure 0 per non impostare scadenze"
+
+#: ../../mod/settings.php:1070
+msgid "Maximum Friend Requests/Day:"
+msgstr "Numero massimo giornaliero di richieste di amicizia:"
+
+#: ../../mod/settings.php:1070
+msgid "May reduce spam activity"
+msgstr "Serve e ridurre lo spam"
+
+#: ../../mod/settings.php:1071
+msgid "Default Post Permissions"
+msgstr "Permessi predefiniti per gli articoli"
+
+#: ../../mod/settings.php:1072 ../../mod/mitem.php:152 ../../mod/mitem.php:221
+msgid "(click to open/close)"
+msgstr "(clicca per aprire/chiudere)"
+
+#: ../../mod/settings.php:1076
+msgid "Channel permissions category:"
+msgstr "Categorie di permessi dei canali:"
+
+#: ../../mod/settings.php:1082
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:"
+
+#: ../../mod/settings.php:1082
+msgid "Useful to reduce spamming"
+msgstr "Serve e ridurre lo spam"
+
+#: ../../mod/settings.php:1085
+msgid "Notification Settings"
+msgstr "Impostazioni di notifica"
+
+#: ../../mod/settings.php:1086
+msgid "By default post a status message when:"
+msgstr "Pubblica un messaggio di stato quando:"
+
+#: ../../mod/settings.php:1087
+msgid "accepting a friend request"
+msgstr "accetto una nuova amicizia"
+
+#: ../../mod/settings.php:1088
+msgid "joining a forum/community"
+msgstr "entro a far parte di un forum"
+
+#: ../../mod/settings.php:1089
+msgid "making an <em>interesting</em> profile change"
+msgstr "faccio un cambiamento <em>interessante</em> al mio profilo"
+
+#: ../../mod/settings.php:1090
+msgid "Send a notification email when:"
+msgstr "Invia una email di notifica quando:"
+
+#: ../../mod/settings.php:1091
+msgid "You receive a connection request"
+msgstr "Ricevi una richiesta di entrare in contatto"
+
+#: ../../mod/settings.php:1092
+msgid "Your connections are confirmed"
+msgstr "I tuoi contatti sono confermati"
+
+#: ../../mod/settings.php:1093
+msgid "Someone writes on your profile wall"
+msgstr "Qualcuno scrive sulla tua bacheca"
+
+#: ../../mod/settings.php:1094
+msgid "Someone writes a followup comment"
+msgstr "Qualcuno scrive un commento a un tuo articolo"
+
+#: ../../mod/settings.php:1095
+msgid "You receive a private message"
+msgstr "Ricevi un messaggio privato"
+
+#: ../../mod/settings.php:1096
+msgid "You receive a friend suggestion"
+msgstr "Ti viene suggerito un amico"
+
+#: ../../mod/settings.php:1097
+msgid "You are tagged in a post"
+msgstr "Sei taggato in un articolo"
+
+#: ../../mod/settings.php:1098
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Ricevi un poke in un articolo"
+
+#: ../../mod/settings.php:1101
+msgid "Show visual notifications including:"
+msgstr "Mostra queste notifiche a schermo:"
+
+#: ../../mod/settings.php:1103
+msgid "Unseen matrix activity"
+msgstr "Nuove attività nella rete"
+
+#: ../../mod/settings.php:1104
+msgid "Unseen channel activity"
+msgstr "Novità nei canali"
+
+#: ../../mod/settings.php:1105
+msgid "Unseen private messages"
+msgstr "Nuovi messaggi privati"
+
+#: ../../mod/settings.php:1105 ../../mod/settings.php:1110
+#: ../../mod/settings.php:1111 ../../mod/settings.php:1112
+msgid "Recommended"
+msgstr "Consigliato"
+
+#: ../../mod/settings.php:1106
+msgid "Upcoming events"
+msgstr "Prossimi eventi"
+
+#: ../../mod/settings.php:1107
+msgid "Events today"
+msgstr "Eventi di oggi"
+
+#: ../../mod/settings.php:1108
+msgid "Upcoming birthdays"
+msgstr "Prossimi compleanni"
+
+#: ../../mod/settings.php:1108
+msgid "Not available in all themes"
+msgstr "Non disponibile in tutti i temi"
+
+#: ../../mod/settings.php:1109
+msgid "System (personal) notifications"
+msgstr "Notifiche personali dal sistema"
+
+#: ../../mod/settings.php:1110
+msgid "System info messages"
+msgstr "Notifiche di sistema"
+
+#: ../../mod/settings.php:1111
+msgid "System critical alerts"
+msgstr "Avvisi critici di sistema"
+
+#: ../../mod/settings.php:1112
+msgid "New connections"
+msgstr "Nuovi contatti"
+
+#: ../../mod/settings.php:1113
+msgid "System Registrations"
+msgstr "Registrazioni"
+
+#: ../../mod/settings.php:1114
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr "Mostra negli avvisi anche i nuovi articoli, i messaggi privati e i nuovi contatti"
+
+#: ../../mod/settings.php:1116
+msgid "Notify me of events this many days in advance"
+msgstr "Giorni di anticipo per notificare gli eventi"
+
+#: ../../mod/settings.php:1116
+msgid "Must be greater than 0"
+msgstr "Maggiore di 0"
+
+#: ../../mod/settings.php:1118
+msgid "Advanced Account/Page Type Settings"
+msgstr "Impostazioni avanzate"
+
+#: ../../mod/settings.php:1119
+msgid "Change the behaviour of this account for special situations"
+msgstr "Cambia il funzionamento di questo account per necessità particolari"
+
+#: ../../mod/settings.php:1122
+msgid ""
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)"
+
+#: ../../mod/settings.php:1123
+msgid "Miscellaneous Settings"
+msgstr "Impostazioni varie"
+
+#: ../../mod/settings.php:1125
+msgid "Personal menu to display in your channel pages"
+msgstr "Menu personale da mostrare sulle pagine del tuo canale"
+
+#: ../../mod/settings.php:1126 ../../mod/removeme.php:61
+msgid "Remove Channel"
+msgstr "Elimina questo canale"
+
+#: ../../mod/settings.php:1127
+msgid "Remove this channel."
+msgstr "Elimina questo canale."
#: ../../mod/xchan.php:6
msgid "Xchan Lookup"
@@ -4069,7 +4500,7 @@ msgstr "Ricerca canale"
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Cerca un canale (o un webbie) che inizia per:"
-#: ../../mod/xchan.php:37 ../../mod/mitem.php:114 ../../mod/menu.php:156
+#: ../../mod/xchan.php:37 ../../mod/menu.php:149 ../../mod/mitem.php:120
msgid "Not found."
msgstr "Non trovato."
@@ -4091,10 +4522,6 @@ msgid ""
" and/or create new posts for you?"
msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
-#: ../../mod/webpages.php:191
-msgid "Page Title"
-msgstr "Titolo della pagina"
-
#: ../../mod/follow.php:25
msgid "Channel added."
msgstr "Canale aggiunto."
@@ -4111,7 +4538,7 @@ msgstr "Rimuovi il tag"
msgid "Select a tag to remove: "
msgstr "Seleziona un tag da rimuovere: "
-#: ../../mod/tagrm.php:133 ../../mod/photos.php:887
+#: ../../mod/tagrm.php:133 ../../mod/photos.php:875
msgid "Remove"
msgstr "Rimuovi"
@@ -4219,11 +4646,20 @@ msgstr "Aggiungi l'Oggetto al tuo profilo"
msgid "Item not available."
msgstr "Elemento non disponibile."
-#: ../../mod/probe.php:24 ../../mod/probe.php:30
+#: ../../mod/probe.php:23 ../../mod/probe.php:29
#, php-format
msgid "Fetching URL returns error: %1$s"
msgstr "La chiamata all'URL restituisce questo errore: %1$s"
+#: ../../mod/home.php:53
+msgid "Hubzilla - &quot;The Network&quot;"
+msgstr "Hubzilla - &quot;La tua rete&quot;"
+
+#: ../../mod/home.php:124
+#, php-format
+msgid "Welcome to %s"
+msgstr "%s ti dà il benvenuto"
+
#: ../../mod/profile_photo.php:108
msgid "Image uploaded but image cropping failed."
msgstr "L'immagine è stata caricata, ma il non è stato possibile ritagliarla."
@@ -4263,10 +4699,6 @@ msgstr "Seleziona un profilo:"
msgid "Upload Profile Photo"
msgstr "Carica la foto del profilo"
-#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
-msgid "or"
-msgstr "o"
-
#: ../../mod/profile_photo.php:366
msgid "skip this step"
msgstr "salta questo passaggio"
@@ -4300,16 +4732,16 @@ msgstr "Il caricamento dell'immagine è fallito."
msgid "Image size reduction [%s] failed."
msgstr "Il ridimensionamento del'immagine [%s] è fallito."
-#: ../../mod/block.php:27 ../../mod/page.php:36
+#: ../../mod/block.php:27 ../../mod/page.php:33
msgid "Invalid item."
msgstr "Elemento non valido."
-#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:52
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:45
msgid "Channel not found."
msgstr "Canale non trovato."
-#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:79
-#: ../../mod/page.php:89 ../../index.php:241
+#: ../../mod/block.php:75 ../../mod/help.php:79 ../../mod/display.php:106
+#: ../../mod/page.php:82 ../../index.php:241
msgid "Page not found."
msgstr "Pagina non trovata."
@@ -4323,9 +4755,9 @@ msgstr "Questa funzionalità è riservata agli iscritti."
#: ../../mod/like.php:21
msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
-"href=\"register\">register as a new $Projectname member</a> to continue."
-msgstr "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo $Projectname</a> o <a href=\"register\">registrarti come nuovo utente $Projectname</a>."
+"Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a "
+"href=\"register\">register as a new Redmatrix.member</a> to continue."
+msgstr "Per favore <a href=\"rmagic\">accedi con il tuo identificativo Hubzilla</a> o <a href=\"register\">registrati su Hubzilla</a> per continuare."
#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
msgid "Invalid request."
@@ -4381,109 +4813,101 @@ msgstr "Comando completato."
msgid "Thank you."
msgstr "Grazie."
-#: ../../mod/events.php:21
-msgid "Calendar entries imported."
-msgstr "Le voci del calendario sono state importate."
-
-#: ../../mod/events.php:23
-msgid "No calendar entries found."
-msgstr "Non sono state trovate voci del calendario."
-
-#: ../../mod/events.php:101
+#: ../../mod/events.php:87
msgid "Event can not end before it has started."
msgstr "Un evento non può terminare prima del suo inizio."
-#: ../../mod/events.php:103 ../../mod/events.php:112 ../../mod/events.php:130
+#: ../../mod/events.php:89 ../../mod/events.php:98 ../../mod/events.php:116
msgid "Unable to generate preview."
msgstr "Impossibile creare un'anteprima."
-#: ../../mod/events.php:110
+#: ../../mod/events.php:96
msgid "Event title and start time are required."
msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
-#: ../../mod/events.php:128
+#: ../../mod/events.php:114
msgid "Event not found."
msgstr "Evento non trovato."
-#: ../../mod/events.php:409
+#: ../../mod/events.php:396
msgid "l, F j"
msgstr "l j F"
-#: ../../mod/events.php:431
+#: ../../mod/events.php:418
msgid "Edit event"
msgstr "Modifica l'evento"
-#: ../../mod/events.php:432
+#: ../../mod/events.php:419
msgid "Delete event"
msgstr "Elimina l'evento"
-#: ../../mod/events.php:466
-msgid "calendar"
-msgstr "calendario"
-
-#: ../../mod/events.php:487
+#: ../../mod/events.php:473
msgid "Create New Event"
msgstr "Crea un nuovo evento"
-#: ../../mod/events.php:488 ../../mod/photos.php:839
+#: ../../mod/events.php:474 ../../mod/photos.php:827
msgid "Previous"
msgstr "Precendente"
-#: ../../mod/events.php:489 ../../mod/photos.php:848 ../../mod/setup.php:281
+#: ../../mod/events.php:475 ../../mod/setup.php:265 ../../mod/photos.php:836
msgid "Next"
msgstr "Successivo"
-#: ../../mod/events.php:490
+#: ../../mod/events.php:476
msgid "Export"
msgstr "Esporta"
-#: ../../mod/events.php:518
+#: ../../mod/events.php:504
msgid "Event removed"
msgstr "Evento eliminato"
-#: ../../mod/events.php:521
+#: ../../mod/events.php:507
msgid "Failed to remove event"
msgstr "Impossibile eliminare l'evento"
-#: ../../mod/events.php:641
+#: ../../mod/events.php:627
msgid "Event details"
msgstr "Dettagli evento"
-#: ../../mod/events.php:642
+#: ../../mod/events.php:628
msgid "Starting date and Title are required."
msgstr "Titolo e data d'inizio sono obbligatori."
-#: ../../mod/events.php:644
+#: ../../mod/events.php:630
msgid "Categories (comma-separated list)"
msgstr "Categorie (separate da virgola)"
-#: ../../mod/events.php:646
+#: ../../mod/events.php:632
msgid "Event Starts:"
msgstr "Inizio:"
-#: ../../mod/events.php:653
+#: ../../mod/events.php:639
msgid "Finish date/time is not known or not relevant"
msgstr "La data/ora di fine non è rilevante"
-#: ../../mod/events.php:655
+#: ../../mod/events.php:641
msgid "Event Finishes:"
msgstr "Fine:"
-#: ../../mod/events.php:657 ../../mod/events.php:658
+#: ../../mod/events.php:643 ../../mod/events.php:644
msgid "Adjust for viewer timezone"
msgstr "Adatta al fuso orario di chi legge"
-#: ../../mod/events.php:657
+#: ../../mod/events.php:643
msgid ""
"Important for events that happen in a particular place. Not practical for "
"global holidays."
msgstr "Importante per eventi che avvengono in base all'orario di un luogo particolare."
-#: ../../mod/events.php:663
+#: ../../mod/events.php:645
+msgid "Description:"
+msgstr "Descrizione:"
+
+#: ../../mod/events.php:649
msgid "Title:"
msgstr "Titolo:"
-#: ../../mod/events.php:665
+#: ../../mod/events.php:651
msgid "Share this event"
msgstr "Condividi questo evento"
@@ -4498,12 +4922,12 @@ msgstr "Siti pubblici"
#: ../../mod/pubsites.php:19
msgid ""
-"The listed sites allow public registration for the $Projectname network. All"
-" sites in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some sites may require subscription or"
-" provide tiered service plans. The provider links <strong>may</strong> "
-"provide additional details."
-msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."
+"The listed sites allow public registration into the Hubzilla. All sites in"
+" the matrix are interlinked so membership on any of them conveys membership "
+"in the matrix as a whole. Some sites may require subscription or provide "
+"tiered service plans. The provider links <strong>may</strong> provide "
+"additional details."
+msgstr "Gli indirizzi elencati permettono la registrazione su Hubzilla. Tutti i siti di questa rete sono interconnessi, quindi essere registrati su uno è come essere registrati ovunque. Alcuni potrebbero richiedere un'iscrizione a pagamento o prevedere diverse tipologie di abbonamento. Eventualmente potrai trovare maggiori informazioni visitando ciascun sito."
#: ../../mod/pubsites.php:25
msgid "Rate this hub"
@@ -4537,13 +4961,13 @@ msgstr "Valuta"
msgid "View ratings"
msgstr "Vedi le valutazioni"
-#: ../../mod/rpost.php:131 ../../mod/editpost.php:158
+#: ../../mod/rpost.php:131 ../../mod/editpost.php:42
msgid "Edit post"
-msgstr "Modifica post"
+msgstr "Modifica articolo"
#: ../../mod/dav.php:121
-msgid "$Projectname channel"
-msgstr "Canale $Projectname"
+msgid "Hubzilla channel"
+msgstr "Canale Hubzilla"
#: ../../mod/group.php:20
msgid "Collection created."
@@ -4606,15 +5030,15 @@ msgstr "App e componenti installati:"
msgid "No installed plugins/addons/apps"
msgstr "Nessuna app o componente installato"
-#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:64
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../mod/siteinfo.php:155
+msgid "Red"
+msgstr "Hubzilla"
#: ../../mod/siteinfo.php:156
msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Questo è un hub di $Projectname - una rete cooperativa e decentralizzata di siti ad elevata privacy. "
+"This is a hub of hubzilla - a global cooperative network of decentralized "
+"privacy enhanced websites."
+msgstr "Questo è un hub di Hubzilla - una rete cooperativa e decentralizzata di siti ad elevata privacy. "
#: ../../mod/siteinfo.php:158
msgid "Tag: "
@@ -4631,84 +5055,415 @@ msgstr "In esecuzione sull'indirizzo web"
#: ../../mod/siteinfo.php:164
msgid ""
"Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more"
-" about $Projectname."
-msgstr "Visita <a href=\"https://redmatrix.me\">RedMatrix.me</a> per scoprire di più su $Projectname."
+" about the Hubzilla."
+msgstr "Visita <a href=\"https://redmatrix.me\">Redmatrix.me</a> per scoprire cosa è Hubzilla."
#: ../../mod/siteinfo.php:165
msgid "Bug reports and issues: please visit"
msgstr "Per segnalare bug e problemi: visita"
-#: ../../mod/siteinfo.php:167
-msgid "$projectname issues"
-msgstr "Problematiche note su $projectname"
-
#: ../../mod/siteinfo.php:168
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot "
"com"
-msgstr "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com"
+msgstr "Per consigli, ringraziamenti, ecc. - scrivi a \"hubzilla\" at librelist - dot com"
#: ../../mod/siteinfo.php:170
msgid "Site Administrators"
msgstr "Amministratori del sito"
-#: ../../mod/item.php:174
-msgid "Unable to locate original post."
-msgstr "Impossibile trovare il messaggio originale."
+#: ../../mod/help.php:49 ../../mod/help.php:55 ../../mod/help.php:61
+msgid "Help:"
+msgstr "Guida:"
-#: ../../mod/item.php:440
-msgid "Empty post discarded."
-msgstr "Il post vuoto è stato ignorato."
+#: ../../mod/help.php:76 ../../index.php:238
+msgid "Not Found"
+msgstr "Non disponibile"
-#: ../../mod/item.php:480
-msgid "Executable content type not permitted to this channel."
-msgstr "I contenuti eseguibili non sono permessi su questo canale."
+#: ../../mod/setup.php:166
+msgid "Hubzilla Server - Setup"
+msgstr "Hubzilla Server - Installazione"
-#: ../../mod/item.php:901
-msgid "System error. Post not saved."
-msgstr "Errore di sistema. Post non salvato."
+#: ../../mod/setup.php:172
+msgid "Could not connect to database."
+msgstr " Impossibile connettersi al database."
-#: ../../mod/item.php:1119
-msgid "Unable to obtain post information from database."
-msgstr "Impossibile caricare il post dal database."
+#: ../../mod/setup.php:176
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
+
+#: ../../mod/setup.php:183
+msgid "Could not create table."
+msgstr "Impossibile creare le tabelle."
+
+#: ../../mod/setup.php:189
+msgid "Your site database has been installed."
+msgstr "Il database del sito è stato installato."
+
+#: ../../mod/setup.php:194
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."
+
+#: ../../mod/setup.php:195 ../../mod/setup.php:264 ../../mod/setup.php:662
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Leggi il file 'install/INSTALL.txt'."
+
+#: ../../mod/setup.php:261
+msgid "System check"
+msgstr "Verifica del sistema"
+
+#: ../../mod/setup.php:266
+msgid "Check again"
+msgstr "Verifica di nuovo"
+
+#: ../../mod/setup.php:289
+msgid "Database connection"
+msgstr "Connessione al database"
+
+#: ../../mod/setup.php:290
+msgid ""
+"In order to install Hubzilla we need to know how to connect to your "
+"database."
+msgstr "Per installare Hubzilla è necessario conoscere i parametri di connessione al database."
-#: ../../mod/item.php:1126
+#: ../../mod/setup.php:291
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
+
+#: ../../mod/setup.php:292
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
+
+#: ../../mod/setup.php:296
+msgid "Database Server Name"
+msgstr "Server del database"
+
+#: ../../mod/setup.php:296
+msgid "Default is localhost"
+msgstr "'localhost' è il predefinito"
+
+#: ../../mod/setup.php:297
+msgid "Database Port"
+msgstr "Port del database"
+
+#: ../../mod/setup.php:297
+msgid "Communication port number - use 0 for default"
+msgstr "Scrivi 0 per usare il valore standard"
+
+#: ../../mod/setup.php:298
+msgid "Database Login Name"
+msgstr "Utente database"
+
+#: ../../mod/setup.php:299
+msgid "Database Login Password"
+msgstr "Password utente database"
+
+#: ../../mod/setup.php:300
+msgid "Database Name"
+msgstr "Nome database"
+
+#: ../../mod/setup.php:301
+msgid "Database Type"
+msgstr "Tipo database"
+
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid "Site administrator email address"
+msgstr "Indirizzo email dell'amministratore del sito"
+
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web."
+
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Website URL"
+msgstr "URL completo del sito"
+
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Please use SSL (https) URL if available."
+msgstr "Se disponibile, usa l'indirizzo SSL (https)."
+
+#: ../../mod/setup.php:307 ../../mod/setup.php:352
+msgid "Please select a default timezone for your website"
+msgstr "Seleziona il fuso orario predefinito per il tuo sito web"
+
+#: ../../mod/setup.php:335
+msgid "Site settings"
+msgstr "Impostazioni del sito"
+
+#: ../../mod/setup.php:395
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
+
+#: ../../mod/setup.php:396
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
+
+#: ../../mod/setup.php:400
+msgid "PHP executable path"
+msgstr "Path del comando PHP"
+
+#: ../../mod/setup.php:400
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
+
+#: ../../mod/setup.php:405
+msgid "Command line PHP"
+msgstr "PHP da riga di comando"
+
+#: ../../mod/setup.php:414
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
+
+#: ../../mod/setup.php:415
+msgid "This is required for message delivery to work."
+msgstr "E' necessario perché funzioni la consegna dei messaggi."
+
+#: ../../mod/setup.php:417
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
+
+#: ../../mod/setup.php:438
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione"
+
+#: ../../mod/setup.php:439
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
+
+#: ../../mod/setup.php:441
+msgid "Generate encryption keys"
+msgstr "Genera chiavi di criptazione"
+
+#: ../../mod/setup.php:448
+msgid "libCurl PHP module"
+msgstr "modulo PHP libCurl"
+
+#: ../../mod/setup.php:449
+msgid "GD graphics PHP module"
+msgstr "modulo PHP GD graphics"
+
+#: ../../mod/setup.php:450
+msgid "OpenSSL PHP module"
+msgstr "modulo PHP OpenSSL"
+
+#: ../../mod/setup.php:451
+msgid "mysqli or postgres PHP module"
+msgstr "modulo PHP per mysqli oppure prostgres"
+
+#: ../../mod/setup.php:452
+msgid "mb_string PHP module"
+msgstr "modulo PHP mb_string"
+
+#: ../../mod/setup.php:453
+msgid "mcrypt PHP module"
+msgstr "modulo PHP mcrypt"
+
+#: ../../mod/setup.php:458 ../../mod/setup.php:460
+msgid "Apache mod_rewrite module"
+msgstr "modulo Apache mod_rewrite"
+
+#: ../../mod/setup.php:458
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
+
+#: ../../mod/setup.php:464 ../../mod/setup.php:467
+msgid "proc_open"
+msgstr "proc_open"
+
+#: ../../mod/setup.php:464
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
+
+#: ../../mod/setup.php:472
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
+
+#: ../../mod/setup.php:476
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
+
+#: ../../mod/setup.php:480
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
+
+#: ../../mod/setup.php:484
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"
+
+#: ../../mod/setup.php:488
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
+
+#: ../../mod/setup.php:492
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr "Errore: il modulo PHP mcrypt è richiesto ma non installato."
+
+#: ../../mod/setup.php:508
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo."
+
+#: ../../mod/setup.php:509
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
+
+#: ../../mod/setup.php:510
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla."
+
+#: ../../mod/setup.php:511
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
+
+#: ../../mod/setup.php:514
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php è scrivibile"
+
+#: ../../mod/setup.php:524
+msgid ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
+
+#: ../../mod/setup.php:525
#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale."
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the Red top level folder."
+msgstr "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di Hubzilla."
-#: ../../mod/item.php:1133
+#: ../../mod/setup.php:526 ../../mod/setup.php:544
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Assicurati che il tuo web server sia in esecuzione da parte di un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
+
+#: ../../mod/setup.php:527
#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
-#: ../../mod/network.php:91
-msgid "No such group"
-msgstr "Impossibile trovare l'insieme"
+#: ../../mod/setup.php:530
+#, php-format
+msgid "%s is writable"
+msgstr "%s è scrivibile"
-#: ../../mod/network.php:129
-msgid "No such channel"
-msgstr "Canale sconosciuto"
+#: ../../mod/setup.php:543
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr "Hubzilla salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di Hubzilla"
-#: ../../mod/network.php:143
-msgid "Search Results For:"
-msgstr "Cerca risultati con:"
+#: ../../mod/setup.php:547
+msgid "store is writable"
+msgstr "l'archivio è scrivibile"
-#: ../../mod/network.php:198
-msgid "Collection is empty"
-msgstr "L'insieme di canali è vuoto"
+#: ../../mod/setup.php:577
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
-#: ../../mod/network.php:207
-msgid "Collection: "
-msgstr "Insieme:"
+#: ../../mod/setup.php:578
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!"
-#: ../../mod/network.php:226
-msgid "Connection: "
-msgstr "Contatto:"
+#: ../../mod/setup.php:579
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
-#: ../../mod/network.php:233
-msgid "Invalid connection."
-msgstr "Contatto non valido."
+#: ../../mod/setup.php:580
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
+
+#: ../../mod/setup.php:581
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
+
+#: ../../mod/setup.php:582
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
+
+#: ../../mod/setup.php:584
+msgid "SSL certificate validation"
+msgstr "Validazione del certificato SSL"
+
+#: ../../mod/setup.php:590
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"
+
+#: ../../mod/setup.php:592
+msgid "Url rewrite is working"
+msgstr "Url rewrite funziona correttamente"
+
+#: ../../mod/setup.php:602
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
+
+#: ../../mod/setup.php:625
+msgid "Errors encountered creating database tables."
+msgstr "La creazione delle tabelle del database ha generato errori."
+
+#: ../../mod/setup.php:660
+msgid "<h1>What next</h1>"
+msgstr "<h1>I prossimi passi</h1>"
+
+#: ../../mod/setup.php:661
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
#: ../../mod/common.php:10
msgid "No channel."
@@ -4734,11 +5489,11 @@ msgstr "Non è possibile accedere alle informazioni sul contatto."
msgid "Could not locate selected profile."
msgstr "Non riesco a trovare il profilo selezionato."
-#: ../../mod/connections.php:94 ../../mod/connedit.php:219
+#: ../../mod/connections.php:94 ../../mod/connedit.php:214
msgid "Connection updated."
msgstr "Contatto aggiornato."
-#: ../../mod/connections.php:96 ../../mod/connedit.php:221
+#: ../../mod/connections.php:96 ../../mod/connedit.php:216
msgid "Failed to update connection record."
msgstr "Impossibile aggiornare le informazioni del contatto."
@@ -4819,196 +5574,177 @@ msgstr "Cerca tra i contatti"
msgid "Finding: "
msgstr "Ricerca: "
-#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
-msgid "Block Name"
-msgstr "Nome del riquadro"
-
-#: ../../mod/blocks.php:149
-msgid "Block Title"
-msgstr "Nome del riquadro"
-
-#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76
-#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78
-#: ../../mod/editblock.php:94
-msgid "Item not found"
-msgstr "Elemento non trovato"
-
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "L'elemento non è modificabile"
+#: ../../mod/impel.php:33
+msgid "webpage"
+msgstr "pagina web"
-#: ../../mod/editpost.php:48
-msgid "Delete item?"
-msgstr "Eliminare questo elemento?"
+#: ../../mod/impel.php:38
+msgid "block"
+msgstr "riquadro"
-#: ../../mod/editpost.php:115 ../../mod/editlayout.php:142
-#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:144
-msgid "Insert YouTube video"
-msgstr "Inserisci video da YouTube"
+#: ../../mod/impel.php:43
+msgid "layout"
+msgstr "layout"
-#: ../../mod/editpost.php:116 ../../mod/editlayout.php:143
-#: ../../mod/editwebpage.php:188 ../../mod/editblock.php:145
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Inserisci video Vorbis [.ogg]"
+#: ../../mod/impel.php:117
+#, php-format
+msgid "%s element installed"
+msgstr "%s elemento installato"
-#: ../../mod/editpost.php:117 ../../mod/editlayout.php:144
-#: ../../mod/editwebpage.php:189 ../../mod/editblock.php:146
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Inserisci audio Vorbis [.ogg]"
+#: ../../mod/tagger.php:96
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
#: ../../mod/cloud.php:120
-msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
-msgstr "Login su $Projectname. Username: {la tua email}, Password: {la tua password} "
+msgid "Hubzilla - Guests: Username: {your email address}, Password: +++"
+msgstr "Accesso a Hubzilla. {Inserisci l'email con cui sei registrato e la password.}"
-#: ../../mod/photos.php:78
+#: ../../mod/photos.php:77
msgid "Page owner information could not be retrieved."
msgstr "Impossibile ottenere informazioni sul proprietario della pagina."
-#: ../../mod/photos.php:98
+#: ../../mod/photos.php:97
msgid "Album not found."
msgstr "Album non trovato."
-#: ../../mod/photos.php:120 ../../mod/photos.php:655
+#: ../../mod/photos.php:119 ../../mod/photos.php:643
msgid "Delete Album"
msgstr "Elimina album"
-#: ../../mod/photos.php:160 ../../mod/photos.php:942
+#: ../../mod/photos.php:159 ../../mod/photos.php:930
msgid "Delete Photo"
msgstr "Elimina foto"
-#: ../../mod/photos.php:452
+#: ../../mod/photos.php:429 ../../mod/search.php:13 ../../mod/display.php:13
+#: ../../mod/ratings.php:82 ../../mod/directory.php:47
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr "Accesso pubblico negato."
+
+#: ../../mod/photos.php:440
msgid "No photos selected"
msgstr "Nessuna foto selezionata"
-#: ../../mod/photos.php:496
+#: ../../mod/photos.php:484
msgid "Access to this item is restricted."
msgstr "Questo elemento non è visibile a tutti."
-#: ../../mod/photos.php:535
+#: ../../mod/photos.php:523
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile."
-#: ../../mod/photos.php:538
+#: ../../mod/photos.php:526
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr "Hai usato %1$.2f Mb del tuo spazio disponibile."
-#: ../../mod/photos.php:562
+#: ../../mod/photos.php:550
msgid "Upload Photos"
msgstr "Carica foto"
-#: ../../mod/photos.php:566 ../../mod/photos.php:648 ../../mod/photos.php:927
+#: ../../mod/photos.php:554 ../../mod/photos.php:636 ../../mod/photos.php:915
msgid "Enter a new album name"
msgstr "Inserisci il nome di un nuovo album"
-#: ../../mod/photos.php:567 ../../mod/photos.php:649 ../../mod/photos.php:928
+#: ../../mod/photos.php:555 ../../mod/photos.php:637 ../../mod/photos.php:916
msgid "or select an existing one (doubleclick)"
msgstr "o seleziona uno esistente (doppio click)"
-#: ../../mod/photos.php:568
+#: ../../mod/photos.php:556
msgid "Create a status post for this upload"
msgstr "Pubblica l'oggetto caricato sulla bacheca"
-#: ../../mod/photos.php:596
+#: ../../mod/photos.php:584
msgid "Album name could not be decoded"
msgstr "Non è stato possibile leggere il nome dell'album"
-#: ../../mod/photos.php:637 ../../mod/photos.php:1169
-#: ../../mod/photos.php:1185
+#: ../../mod/photos.php:625 ../../mod/photos.php:1157
+#: ../../mod/photos.php:1173
msgid "Contact Photos"
msgstr "Foto dei contatti"
-#: ../../mod/photos.php:661
+#: ../../mod/photos.php:649
msgid "Show Newest First"
msgstr "Prima i più recenti"
-#: ../../mod/photos.php:663
+#: ../../mod/photos.php:651
msgid "Show Oldest First"
msgstr "Prima i più vecchi"
-#: ../../mod/photos.php:687 ../../mod/photos.php:1217
+#: ../../mod/photos.php:675 ../../mod/photos.php:1205
msgid "View Photo"
msgstr "Guarda la foto"
-#: ../../mod/photos.php:716
+#: ../../mod/photos.php:704
msgid "Edit Album"
msgstr "Modifica album"
-#: ../../mod/photos.php:761
+#: ../../mod/photos.php:749
msgid "Permission denied. Access to this item may be restricted."
msgstr "Permesso negato. L'accesso a questo elemento può essere stato limitato."
-#: ../../mod/photos.php:763
+#: ../../mod/photos.php:751
msgid "Photo not available"
msgstr "Foto non disponibile"
-#: ../../mod/photos.php:821
+#: ../../mod/photos.php:809
msgid "Use as profile photo"
msgstr "Usa come foto del profilo"
-#: ../../mod/photos.php:828
+#: ../../mod/photos.php:816
msgid "Private Photo"
msgstr "Foto privata"
-#: ../../mod/photos.php:843
+#: ../../mod/photos.php:831
msgid "View Full Size"
msgstr "Vedi nelle dimensioni originali"
-#: ../../mod/photos.php:921
+#: ../../mod/photos.php:909
msgid "Edit photo"
msgstr "Modifica la foto"
-#: ../../mod/photos.php:923
+#: ../../mod/photos.php:911
msgid "Rotate CW (right)"
msgstr "Ruota (senso orario)"
-#: ../../mod/photos.php:924
+#: ../../mod/photos.php:912
msgid "Rotate CCW (left)"
msgstr "Ruota (senso antiorario)"
-#: ../../mod/photos.php:931
+#: ../../mod/photos.php:919
msgid "Caption"
msgstr "Titolo"
-#: ../../mod/photos.php:933
+#: ../../mod/photos.php:921
msgid "Add a Tag"
msgstr "Aggiungi tag"
-#: ../../mod/photos.php:937
+#: ../../mod/photos.php:925
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr "Esempio: @bob, @Barbara_Jensen, @jim@example.com"
-#: ../../mod/photos.php:940
+#: ../../mod/photos.php:928
msgid "Flag as adult in album view"
msgstr "Marca come 'per adulti'"
-#: ../../mod/photos.php:1132
+#: ../../mod/photos.php:1120
msgid "In This Photo:"
msgstr "In questa foto:"
-#: ../../mod/photos.php:1137
+#: ../../mod/photos.php:1125
msgid "Map"
msgstr "Mappa"
-#: ../../mod/photos.php:1223
+#: ../../mod/photos.php:1211
msgid "View Album"
msgstr "Guarda l'album"
-#: ../../mod/photos.php:1246
+#: ../../mod/photos.php:1234
msgid "Recent Photos"
msgstr "Foto recenti"
-#: ../../mod/search.php:206
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "Elementi taggati con: %s"
-
-#: ../../mod/search.php:208
-#, php-format
-msgid "Search results for: %s"
-msgstr "Risultati ricerca: %s"
-
#: ../../mod/match.php:22
msgid "Profile Match"
msgstr "Profili corrispondenti"
@@ -5085,7 +5821,7 @@ msgstr "Layout non trovato."
msgid "Module Name:"
msgstr "Nome del modulo:"
-#: ../../mod/pdledit.php:55
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:108
msgid "Layout Help"
msgstr "Guida al layout"
@@ -5098,76 +5834,76 @@ msgstr "- scegli -"
msgid "Your service plan only allows %d channels."
msgstr "Il tuo account permette di creare al massimo %d canali."
-#: ../../mod/import.php:60
+#: ../../mod/import.php:51
msgid "Nothing to import."
msgstr "Non c'è niente da importare."
-#: ../../mod/import.php:84
+#: ../../mod/import.php:75
msgid "Unable to download data from old server"
msgstr "Impossibile importare i dati dal vecchio server"
-#: ../../mod/import.php:90
+#: ../../mod/import.php:81
msgid "Imported file is empty."
msgstr "Il file da importare è vuoto."
-#: ../../mod/import.php:110
-msgid "The data provided is not compatible with this project."
-msgstr "I dati forniti non sono compatibili con questo hub."
-
-#: ../../mod/import.php:115
-#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Attenzione: le versioni di database differiscono di %1$d aggiornamenti."
-
-#: ../../mod/import.php:135
+#: ../../mod/import.php:106
msgid ""
"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
-#: ../../mod/import.php:176
+#: ../../mod/import.php:127
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Impossibile creare un indirizzo univoco per il canale. L'import è fallito."
+
+#: ../../mod/import.php:147
msgid "Channel clone failed. Import failed."
msgstr "Impossibile clonare il canale. L'importazione è fallita."
-#: ../../mod/import.php:186
+#: ../../mod/import.php:157
msgid "Cloned channel not found. Import failed."
msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
-#: ../../mod/import.php:516
+#: ../../mod/import.php:475
+msgid "Import completed."
+msgstr "L'importazione è terminata con successo!"
+
+#: ../../mod/import.php:487
msgid "You must be logged in to use this feature."
msgstr "Per questa funzionalità devi aver effettuato l'accesso."
-#: ../../mod/import.php:521
+#: ../../mod/import.php:492
msgid "Import Channel"
msgstr "Importa un canale"
-#: ../../mod/import.php:522
+#: ../../mod/import.php:493
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 "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file esportato in precedenza."
+"or provide an export file. Only identity and connections/relationships will "
+"be imported. Importation of content is not yet available."
+msgstr "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi scaricare i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file che hai esportato. Saranno importati solamente l'identità e i contatti. L'importazione dei contenuti non è ancora disponibile."
-#: ../../mod/import.php:523
+#: ../../mod/import.php:494
msgid "File to Upload"
msgstr "File da caricare"
-#: ../../mod/import.php:524
+#: ../../mod/import.php:495
msgid "Or provide the old server/hub details"
msgstr "Oppure fornisci i dettagli del vecchio server/hub"
-#: ../../mod/import.php:525
+#: ../../mod/import.php:496
msgid "Your old identity address (xyz@example.com)"
msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
-#: ../../mod/import.php:526
+#: ../../mod/import.php:497
msgid "Your old login email address"
msgstr "L'email che usavi per accedere sul vecchio server"
-#: ../../mod/import.php:527
+#: ../../mod/import.php:498
msgid "Your old login password"
msgstr "La password per il vecchio server"
-#: ../../mod/import.php:528
+#: ../../mod/import.php:499
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"
@@ -5175,38 +5911,46 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Scegli se vuoi spostare il tuo indirizzo primario su questo server, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i server, ma solamente uno sarà indicato come posizione in cui risiedono i tuoi file, foto, ecc."
-#: ../../mod/import.php:529
+#: ../../mod/import.php:500
msgid "Make this hub my primary location"
msgstr "Rendi questo server il mio indirizzo primario"
-#: ../../mod/import.php:530
-msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importa i contenuti pubblicati, se possibile (sperimentale)"
+#: ../../mod/import.php:501
+msgid "Import existing posts if possible"
+msgstr "Importazione dei post esistenti, se possibile"
-#: ../../mod/import.php:531
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito."
+#: ../../mod/editlayout.php:78 ../../mod/editwebpage.php:77
+#: ../../mod/editpost.php:20 ../../mod/editblock.php:78
+#: ../../mod/editblock.php:94
+msgid "Item not found"
+msgstr "Elemento non trovato"
+
+#: ../../mod/editlayout.php:108
+msgid "Edit Layout"
+msgstr "Modifica il layout"
-#: ../../mod/editlayout.php:111
+#: ../../mod/editlayout.php:117
msgid "Delete layout?"
msgstr "Vuoi eliminare questo layout?"
-#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
-msgid "Layout Description (Optional)"
-msgstr "Descrizione del layout (facoltativa)"
+#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:187
+#: ../../mod/editpost.php:122 ../../mod/editblock.php:150
+msgid "Insert YouTube video"
+msgstr "Inserisci video da YouTube"
-#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
-#: ../../mod/layouts.php:179
-msgid "Layout Name"
-msgstr "Nome layout"
+#: ../../mod/editlayout.php:149 ../../mod/editwebpage.php:188
+#: ../../mod/editpost.php:123 ../../mod/editblock.php:151
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Inserisci video Vorbis [.ogg]"
-#: ../../mod/editlayout.php:177
-msgid "Edit Layout"
-msgstr "Modifica il layout"
+#: ../../mod/editlayout.php:150 ../../mod/editwebpage.php:189
+#: ../../mod/editpost.php:124 ../../mod/editblock.php:152
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Inserisci audio Vorbis [.ogg]"
+
+#: ../../mod/editlayout.php:182
+msgid "Delete Layout"
+msgstr "Elimina il layout"
#: ../../mod/chat.php:19 ../../mod/channel.php:25
msgid "You must be logged in to see this page."
@@ -5249,126 +5993,6 @@ msgstr "Nome dell'area chat"
msgid "%1$s's Chatrooms"
msgstr "Le aree chat di %1$s"
-#: ../../mod/mitem.php:24 ../../mod/menu.php:134
-msgid "Menu not found."
-msgstr "Menù non trovato."
-
-#: ../../mod/mitem.php:48
-msgid "Unable to create element."
-msgstr "Impossibile creare l'elemento."
-
-#: ../../mod/mitem.php:71
-msgid "Unable to update menu element."
-msgstr "Non è possibile aggiornare l'elemento del menù."
-
-#: ../../mod/mitem.php:86
-msgid "Unable to add menu element."
-msgstr "Impossibile aggiungere l'elemento al menù."
-
-#: ../../mod/mitem.php:152 ../../mod/mitem.php:223
-msgid "Menu Item Permissions"
-msgstr "Permessi del menu"
-
-#: ../../mod/mitem.php:153 ../../mod/mitem.php:224 ../../mod/settings.php:1083
-msgid "(click to open/close)"
-msgstr "(clicca per aprire/chiudere)"
-
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:171
-msgid "Link Name"
-msgstr "Nome link"
-
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:228
-msgid "Link or Submenu Target"
-msgstr "Destinazione del link o del sottomenu"
-
-#: ../../mod/mitem.php:156
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr "Inserisci l'indirizzo del link o scegli il nome di un sottomenu"
-
-#: ../../mod/mitem.php:157 ../../mod/mitem.php:229
-msgid "Use magic-auth if available"
-msgstr "Usa l'autenticazione magica se disponibile"
-
-#: ../../mod/mitem.php:158 ../../mod/mitem.php:230
-msgid "Open link in new window"
-msgstr "Apri il link in una nuova finestra"
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
-msgid "Order in list"
-msgstr "Ordine dell'elenco"
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "I numeri più alti andranno in fondo all'elenco"
-
-#: ../../mod/mitem.php:160
-msgid "Submit and finish"
-msgstr "Salva e termina"
-
-#: ../../mod/mitem.php:161
-msgid "Submit and continue"
-msgstr "Salva e continua"
-
-#: ../../mod/mitem.php:169
-msgid "Menu:"
-msgstr "Menu:"
-
-#: ../../mod/mitem.php:172
-msgid "Link Target"
-msgstr "Destinazione link"
-
-#: ../../mod/mitem.php:175
-msgid "Edit menu"
-msgstr "Modifica il menù"
-
-#: ../../mod/mitem.php:178
-msgid "Edit element"
-msgstr "Modifica l'elemento"
-
-#: ../../mod/mitem.php:179
-msgid "Drop element"
-msgstr "Elimina l'elemento"
-
-#: ../../mod/mitem.php:180
-msgid "New element"
-msgstr "Nuovo elemento"
-
-#: ../../mod/mitem.php:181
-msgid "Edit this menu container"
-msgstr "Modifica il contenitore del menù"
-
-#: ../../mod/mitem.php:182
-msgid "Add menu element"
-msgstr "Aggiungi un elemento al menù"
-
-#: ../../mod/mitem.php:183
-msgid "Delete this menu item"
-msgstr "Elimina questo elemento del menù"
-
-#: ../../mod/mitem.php:184
-msgid "Edit this menu item"
-msgstr "Modifica questo elemento del menù"
-
-#: ../../mod/mitem.php:201
-msgid "Menu item not found."
-msgstr "L'elemento del menù non è stato trovato."
-
-#: ../../mod/mitem.php:212
-msgid "Menu item deleted."
-msgstr "L'elemento del menù è stato eliminato."
-
-#: ../../mod/mitem.php:214
-msgid "Menu item could not be deleted."
-msgstr "L'elemento del menù non può essere eliminato."
-
-#: ../../mod/mitem.php:221
-msgid "Edit Menu Element"
-msgstr "Modifica l'elemento del menù"
-
-#: ../../mod/mitem.php:227
-msgid "Link text"
-msgstr "Testo del link"
-
#: ../../mod/editwebpage.php:152
msgid "Delete webpage?"
msgstr "Vuoi eliminare questa pagina web?"
@@ -5409,7 +6033,7 @@ msgid ""
"Password reset failed."
msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata."
-#: ../../mod/lostpass.php:85 ../../boot.php:1559
+#: ../../mod/lostpass.php:85 ../../boot.php:1548
msgid "Password Reset"
msgstr "Reimposta la password"
@@ -5467,21 +6091,21 @@ msgstr "Sito web:"
msgid "Remote Channel [%s] (not yet known on this site)"
msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)"
-#: ../../mod/rate.php:161
+#: ../../mod/rate.php:161 ../../mod/connedit.php:663
msgid "Rating (this information is public)"
msgstr "Valutazione (visibile a tutti)"
-#: ../../mod/rate.php:162
+#: ../../mod/rate.php:162 ../../mod/connedit.php:664
msgid "Optionally explain your rating (this information is public)"
msgstr "Commento alla valutazione (facoltativo, visibile a tutti)"
-#: ../../mod/editblock.php:117
-msgid "Delete block?"
-msgstr "Vuoi eliminare questo riquadro?"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "L'elemento non è modificabile"
-#: ../../mod/editblock.php:179
-msgid "Edit Block"
-msgstr "Modifica il riquadro"
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
+msgstr "Eliminare questo elemento?"
#: ../../mod/invite.php:25
msgid "Total invitation limit exceeded."
@@ -5494,7 +6118,7 @@ msgstr "%s: non è un indirizzo email valido."
#: ../../mod/invite.php:76
msgid "Please join us on Red"
-msgstr "Vieni con noi su RedMatrix"
+msgstr "Vieni con noi su Hubzilla"
#: ../../mod/invite.php:87
msgid "Invitation limit exceeded. Please contact your site administrator."
@@ -5529,21 +6153,20 @@ msgid "Your message:"
msgstr "Il tuo messaggio:"
#: ../../mod/invite.php:132
-msgid "Please join my community on $Projectname."
-msgstr "Entra nella mia comunità su $Projectname."
+msgid "Please join my community on Hubzilla."
+msgstr "Entra a far parte della mia comunità su Hubzilla."
#: ../../mod/invite.php:134
msgid "You will need to supply this invitation code: "
msgstr "Dovrai fornire questo codice di invito:"
#: ../../mod/invite.php:135
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)"
+msgid "1. Register at any Hubzilla location (they are all inter-connected)"
+msgstr "1. Registrati su un qualsiasi sito Hubzilla (sono tutti interconnessi)"
#: ../../mod/invite.php:137
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito."
+msgid "2. Enter my Hubzilla network address into the site searchbar."
+msgstr "2. Inserisci il mio indirizzo Hubzilla nella barra di ricerca che compare nella pagina."
#: ../../mod/invite.php:138
msgid "or visit "
@@ -5652,86 +6275,94 @@ msgstr "Impossibile aggiornare il menù."
msgid "Unable to create menu."
msgstr "Impossibile creare il menù."
-#: ../../mod/menu.php:89 ../../mod/menu.php:101
+#: ../../mod/menu.php:86 ../../mod/menu.php:98
msgid "Menu Name"
msgstr "Nome del menu"
-#: ../../mod/menu.php:89
+#: ../../mod/menu.php:86
msgid "Unique name (not visible on webpage) - required"
-msgstr "Nome unico (non visibile sulla pagina) - obbligatorio"
+msgstr "Identificativo unico (non visibile sulla pagina) - obbligatorio"
-#: ../../mod/menu.php:90 ../../mod/menu.php:102
+#: ../../mod/menu.php:87 ../../mod/menu.php:99
msgid "Menu Title"
msgstr "Titolo del menu"
-#: ../../mod/menu.php:90
+#: ../../mod/menu.php:87
msgid "Visible on webpage - leave empty for no title"
msgstr "Visibile sulla pagina - lascia vuoto per non avere un titolo"
-#: ../../mod/menu.php:91
+#: ../../mod/menu.php:88
msgid "Allow Bookmarks"
-msgstr "Permetti i segnalibri"
+msgstr "Permetti l'aggiunta ai segnalibri"
-#: ../../mod/menu.php:91 ../../mod/menu.php:147
+#: ../../mod/menu.php:88 ../../mod/menu.php:140
msgid "Menu may be used to store saved bookmarks"
msgstr "Puoi salvare i segnalibri nei menù"
-#: ../../mod/menu.php:92 ../../mod/menu.php:149
+#: ../../mod/menu.php:89
msgid "Submit and proceed"
msgstr "Salva e procedi"
-#: ../../mod/menu.php:104
+#: ../../mod/menu.php:101
msgid "Drop"
msgstr "Elimina"
-#: ../../mod/menu.php:108
+#: ../../mod/menu.php:103
msgid "Bookmarks allowed"
msgstr "Permetti segnalibri"
-#: ../../mod/menu.php:110
+#: ../../mod/menu.php:105
msgid "Delete this menu"
msgstr "Elimina questo menù"
-#: ../../mod/menu.php:111 ../../mod/menu.php:144
+#: ../../mod/menu.php:106 ../../mod/menu.php:137
msgid "Edit menu contents"
msgstr "Modifica i contenuti del menù"
-#: ../../mod/menu.php:112
+#: ../../mod/menu.php:107
msgid "Edit this menu"
msgstr "Modifica questo menù"
-#: ../../mod/menu.php:126
+#: ../../mod/menu.php:121
msgid "Menu could not be deleted."
msgstr "Il menù non può essere eliminato."
-#: ../../mod/menu.php:139
+#: ../../mod/menu.php:129 ../../mod/mitem.php:24
+msgid "Menu not found."
+msgstr "Menù non trovato."
+
+#: ../../mod/menu.php:134
msgid "Edit Menu"
msgstr "Modifica menù"
-#: ../../mod/menu.php:143
+#: ../../mod/menu.php:136
msgid "Add or remove entries to this menu"
msgstr "Aggiungi o rimuovi elementi di questo menù"
-#: ../../mod/menu.php:145
+#: ../../mod/menu.php:138
msgid "Menu name"
msgstr "Nome del menù"
-#: ../../mod/menu.php:145
+#: ../../mod/menu.php:138
msgid "Must be unique, only seen by you"
msgstr "Deve essere unico, lo vedrai solo tu"
-#: ../../mod/menu.php:146
+#: ../../mod/menu.php:139
msgid "Menu title"
msgstr "Titolo del menù"
-#: ../../mod/menu.php:146
+#: ../../mod/menu.php:139
msgid "Menu title as seen by others"
msgstr "Titolo del menù come comparirà a tutti"
-#: ../../mod/menu.php:147
+#: ../../mod/menu.php:140
msgid "Allow bookmarks"
msgstr "Permetti l'invio di segnalibri"
+#: ../../mod/menu.php:142
+msgid "Modify"
+msgstr "Modifica"
+
#: ../../mod/filestorage.php:82
msgid "Permission Denied."
msgstr "Permesso negato."
@@ -5758,7 +6389,7 @@ msgstr "Torna all'elenco dei file"
#: ../../mod/filestorage.php:154
msgid "Copy/paste this code to attach file to a post"
-msgstr "Copia/incolla questo codice per far comparire il file in un post"
+msgstr "Copia/incolla questo codice per far comparire il file in un articolo"
#: ../../mod/filestorage.php:155
msgid "Copy/paste this URL to link file from a web page"
@@ -5774,7 +6405,7 @@ msgstr "Mostra l'URL del file"
#: ../../mod/filestorage.php:159
msgid "Notify your contacts about this file"
-msgstr "Notifica ai contatti che hai caricato questo file"
+msgstr "Notifica ai tuoi contatti che hai caricato il file"
#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
msgid "Contact not found."
@@ -5815,7 +6446,7 @@ msgstr "Scegli cosa vuoi inviare al destinatario"
#: ../../mod/poke.php:165
msgid "Make this post private"
-msgstr "Rendi privato questo post"
+msgstr "Rendi privato questo articolo"
#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
msgid "Invalid profile identifier."
@@ -5833,15 +6464,9 @@ msgstr "Clicca su un contatto per aggiungerlo o rimuoverlo."
msgid "Visible To"
msgstr "Visibile a"
-#: ../../mod/impel.php:191
-#, php-format
-msgid "%s element installed"
-msgstr "%s elemento installato"
-
-#: ../../mod/impel.php:194
-#, php-format
-msgid "%s element installation failed"
-msgstr "Elementi con installazione fallita: %s"
+#: ../../mod/webpages.php:189
+msgid "Page Title"
+msgstr "Titolo della pagina"
#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
#: ../../mod/profiles.php:231 ../../mod/profiles.php:600
@@ -5916,7 +6541,7 @@ msgstr "Home page"
msgid "Interests"
msgstr "Interessi"
-#: ../../mod/profiles.php:447 ../../mod/admin.php:994
+#: ../../mod/profiles.php:447 ../../mod/admin.php:953
msgid "Address"
msgstr "Indirizzo"
@@ -6084,7 +6709,7 @@ msgstr "Scuola/educazione"
msgid "This is your default profile."
msgstr "Questo è il tuo profilo predefinito."
-#: ../../mod/profiles.php:728
+#: ../../mod/profiles.php:728 ../../mod/directory.php:218
msgid "Age: "
msgstr "Età:"
@@ -6124,445 +6749,196 @@ msgstr "Descrizione:"
msgid "Source of Item"
msgstr "Sorgente"
-#: ../../mod/setup.php:187
-msgid "$Projectname Server - Setup"
-msgstr "Server $Projectname - Installazione"
-
-#: ../../mod/setup.php:191
-msgid "Could not connect to database."
-msgstr " Impossibile connettersi al database."
-
-#: ../../mod/setup.php:195
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
-
-#: ../../mod/setup.php:202
-msgid "Could not create table."
-msgstr "Impossibile creare le tabelle."
-
-#: ../../mod/setup.php:207
-msgid "Your site database has been installed."
-msgstr "Il database del sito è stato installato."
-
-#: ../../mod/setup.php:211
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."
-
-#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Leggi il file 'install/INSTALL.txt'."
-
-#: ../../mod/setup.php:277
-msgid "System check"
-msgstr "Verifica del sistema"
-
-#: ../../mod/setup.php:282
-msgid "Check again"
-msgstr "Verifica di nuovo"
-
-#: ../../mod/setup.php:304
-msgid "Database connection"
-msgstr "Connessione al database"
-
-#: ../../mod/setup.php:305
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "Per poter installare $Projectname è necessario fornire i parametri di connessione al tuo database."
-
-#: ../../mod/setup.php:306
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
-
-#: ../../mod/setup.php:307
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
-
-#: ../../mod/setup.php:311
-msgid "Database Server Name"
-msgstr "Server del database"
-
-#: ../../mod/setup.php:311
-msgid "Default is localhost"
-msgstr "'localhost' è il predefinito"
-
-#: ../../mod/setup.php:312
-msgid "Database Port"
-msgstr "Port del database"
-
-#: ../../mod/setup.php:312
-msgid "Communication port number - use 0 for default"
-msgstr "Scrivi 0 per usare il valore standard"
-
-#: ../../mod/setup.php:313
-msgid "Database Login Name"
-msgstr "Utente database"
-
-#: ../../mod/setup.php:314
-msgid "Database Login Password"
-msgstr "Password utente database"
-
-#: ../../mod/setup.php:315
-msgid "Database Name"
-msgstr "Nome database"
-
-#: ../../mod/setup.php:316
-msgid "Database Type"
-msgstr "Tipo database"
-
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid "Site administrator email address"
-msgstr "Indirizzo email dell'amministratore del sito"
-
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web."
-
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Website URL"
-msgstr "URL completo del sito"
-
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Please use SSL (https) URL if available."
-msgstr "Se disponibile, usa l'indirizzo SSL (https)."
-
-#: ../../mod/setup.php:321 ../../mod/setup.php:363
-msgid "Please select a default timezone for your website"
-msgstr "Seleziona il fuso orario predefinito per il tuo sito web"
-
-#: ../../mod/setup.php:348
-msgid "Site settings"
-msgstr "Impostazioni del sito"
-
-#: ../../mod/setup.php:413
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
-
-#: ../../mod/setup.php:414
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
-
-#: ../../mod/setup.php:418
-msgid "PHP executable path"
-msgstr "Path del comando PHP"
-
-#: ../../mod/setup.php:418
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
-
-#: ../../mod/setup.php:423
-msgid "Command line PHP"
-msgstr "PHP da riga di comando"
-
-#: ../../mod/setup.php:432
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
-
-#: ../../mod/setup.php:433
-msgid "This is required for message delivery to work."
-msgstr "E' necessario perché funzioni la consegna dei messaggi."
-
-#: ../../mod/setup.php:436
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
-
-#: ../../mod/setup.php:454
-#, php-format
-msgid ""
-"Your max allowed total upload size is set to %s. Maximum size of one file to"
-" upload is set to %s. You are allowed to upload up to %d files at once."
-msgstr "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta."
-
-#: ../../mod/setup.php:459
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "Puoi regolare queste impostazioni sul server in php.ini"
-
-#: ../../mod/setup.php:461
-msgid "PHP upload limits"
-msgstr "Limiti PHP in upload"
-
-#: ../../mod/setup.php:484
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione"
-
-#: ../../mod/setup.php:485
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
+#: ../../mod/mitem.php:51
+msgid "Unable to create element."
+msgstr "Impossibile creare l'elemento."
-#: ../../mod/setup.php:488
-msgid "Generate encryption keys"
-msgstr "Genera chiavi di criptazione"
+#: ../../mod/mitem.php:74
+msgid "Unable to update menu element."
+msgstr "Non è possibile aggiornare l'elemento del menù."
-#: ../../mod/setup.php:500
-msgid "libCurl PHP module"
-msgstr "modulo PHP libCurl"
+#: ../../mod/mitem.php:89
+msgid "Unable to add menu element."
+msgstr "Impossibile aggiungere l'elemento al menù."
-#: ../../mod/setup.php:501
-msgid "GD graphics PHP module"
-msgstr "modulo PHP GD graphics"
+#: ../../mod/mitem.php:151 ../../mod/mitem.php:220
+msgid "Menu Item Permissions"
+msgstr "Permessi del menu"
-#: ../../mod/setup.php:502
-msgid "OpenSSL PHP module"
-msgstr "modulo PHP OpenSSL"
+#: ../../mod/mitem.php:154 ../../mod/mitem.php:168
+msgid "Link Name"
+msgstr "Nome link"
-#: ../../mod/setup.php:503
-msgid "mysqli or postgres PHP module"
-msgstr "modulo PHP per mysqli oppure prostgres"
+#: ../../mod/mitem.php:155 ../../mod/mitem.php:169
+msgid "Link Target"
+msgstr "Destinazione link"
-#: ../../mod/setup.php:504
-msgid "mb_string PHP module"
-msgstr "modulo PHP mb_string"
+#: ../../mod/mitem.php:156 ../../mod/mitem.php:226
+msgid "Use Hubzilla magic-auth if available"
+msgstr "Usa l'autenticazione magica di Hubzilla, se disponibile"
-#: ../../mod/setup.php:505
-msgid "mcrypt PHP module"
-msgstr "modulo PHP mcrypt"
+#: ../../mod/mitem.php:157 ../../mod/mitem.php:227
+msgid "Open link in new window"
+msgstr "Apri il link in una nuova finestra"
-#: ../../mod/setup.php:506
-msgid "xml PHP module"
-msgstr "modulo xml PHP"
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
+msgid "Order in list"
+msgstr "Ordine dell'elenco"
-#: ../../mod/setup.php:510 ../../mod/setup.php:512
-msgid "Apache mod_rewrite module"
-msgstr "modulo Apache mod_rewrite"
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "I numeri più alti andranno in fondo all'elenco"
-#: ../../mod/setup.php:510
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
+#: ../../mod/mitem.php:159
+msgid "Submit and finish"
+msgstr "Salva e termina"
-#: ../../mod/setup.php:516 ../../mod/setup.php:519
-msgid "proc_open"
-msgstr "proc_open"
+#: ../../mod/mitem.php:160
+msgid "Submit and continue"
+msgstr "Salva e continua"
-#: ../../mod/setup.php:516
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
+#: ../../mod/mitem.php:166
+msgid "Menu:"
+msgstr "Menu:"
-#: ../../mod/setup.php:524
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
+#: ../../mod/mitem.php:172
+msgid "Edit menu"
+msgstr "Modifica il menù"
-#: ../../mod/setup.php:528
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
+#: ../../mod/mitem.php:175
+msgid "Edit element"
+msgstr "Modifica l'elemento"
-#: ../../mod/setup.php:532
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
+#: ../../mod/mitem.php:176
+msgid "Drop element"
+msgstr "Elimina l'elemento"
-#: ../../mod/setup.php:536
-msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"
+#: ../../mod/mitem.php:177
+msgid "New element"
+msgstr "Nuovo elemento"
-#: ../../mod/setup.php:540
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
+#: ../../mod/mitem.php:178
+msgid "Edit this menu container"
+msgstr "Modifica il contenitore del menù"
-#: ../../mod/setup.php:544
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr "Errore: il modulo PHP mcrypt è richiesto ma non installato."
+#: ../../mod/mitem.php:179
+msgid "Add menu element"
+msgstr "Aggiungi un elemento al menù"
-#: ../../mod/setup.php:548
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Errore: il modulo xml PHP è richiesto per DAV ma non è installato."
+#: ../../mod/mitem.php:180
+msgid "Delete this menu item"
+msgstr "Elimina questo elemento del menù"
-#: ../../mod/setup.php:566
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di RedMatrix ma non è in grado di farlo."
+#: ../../mod/mitem.php:181
+msgid "Edit this menu item"
+msgstr "Modifica questo elemento del menù"
-#: ../../mod/setup.php:567
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
+#: ../../mod/mitem.php:198
+msgid "Menu item not found."
+msgstr "L'elemento del menù non è stato trovato."
-#: ../../mod/setup.php:568
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di RedMatrix."
+#: ../../mod/mitem.php:209
+msgid "Menu item deleted."
+msgstr "L'elemento del menù è stato eliminato."
-#: ../../mod/setup.php:569
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
+#: ../../mod/mitem.php:211
+msgid "Menu item could not be deleted."
+msgstr "L'elemento del menù non può essere eliminato."
-#: ../../mod/setup.php:572
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php è scrivibile"
+#: ../../mod/mitem.php:218
+msgid "Edit Menu Element"
+msgstr "Modifica l'elemento del menù"
-#: ../../mod/setup.php:586
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
+#: ../../mod/mitem.php:224
+msgid "Link text"
+msgstr "Testo del link"
-#: ../../mod/setup.php:587
-#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di RedMatrix."
+#: ../../mod/mitem.php:225
+msgid "URL of link"
+msgstr "Indirizzo del link"
-#: ../../mod/setup.php:588 ../../mod/setup.php:609
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Assicurati che il tuo web server sia in esecuzione da parte di un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "Errore del protocollo OpenID. Nessun ID ricevuto in risposta."
-#: ../../mod/setup.php:589
+#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
-msgstr "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Ciao %s. L'autenticazione magica è avvenuta con successo."
-#: ../../mod/setup.php:592
+#: ../../mod/directory.php:224
#, php-format
-msgid "%s is writable"
-msgstr "%s è scrivibile"
-
-#: ../../mod/setup.php:608
-msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to"
-" have write access to the store directory under the Red top level folder"
-msgstr "RedMatrix salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix"
-
-#: ../../mod/setup.php:612
-msgid "store is writable"
-msgstr "l'archivio è scrivibile"
-
-#: ../../mod/setup.php:645
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
-
-#: ../../mod/setup.php:646
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!"
-
-#: ../../mod/setup.php:647
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
-
-#: ../../mod/setup.php:648
-msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d valutazione"
+msgstr[1] "%d valutazioni"
-#: ../../mod/setup.php:649
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
+#: ../../mod/directory.php:236
+msgid "Gender: "
+msgstr "Sesso:"
-#: ../../mod/setup.php:650
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
+#: ../../mod/directory.php:238
+msgid "Status: "
+msgstr "Stato:"
-#: ../../mod/setup.php:652
-msgid "SSL certificate validation"
-msgstr "Validazione del certificato SSL"
+#: ../../mod/directory.php:240
+msgid "Homepage: "
+msgstr "Homepage:"
-#: ../../mod/setup.php:658
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"
+#: ../../mod/directory.php:243
+msgid "Hometown: "
+msgstr "Città dove vivo:"
-#: ../../mod/setup.php:661
-msgid "Url rewrite is working"
-msgstr "Url rewrite funziona correttamente"
+#: ../../mod/directory.php:245
+msgid "About: "
+msgstr "Informazioni:"
-#: ../../mod/setup.php:670
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
+#: ../../mod/directory.php:303
+msgid "Public Forum:"
+msgstr "Forum pubblico:"
-#: ../../mod/setup.php:694
-msgid "Errors encountered creating database tables."
-msgstr "La creazione delle tabelle del database ha generato errori."
+#: ../../mod/directory.php:306
+msgid "Keywords: "
+msgstr "Parole chiave:"
-#: ../../mod/setup.php:728
-msgid "<h1>What next</h1>"
-msgstr "<h1>I prossimi passi</h1>"
+#: ../../mod/directory.php:311
+#, php-format
+msgid "Common connections: %s"
+msgstr "Contatti in comune: %s"
-#: ../../mod/setup.php:729
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
+#: ../../mod/directory.php:363
+msgid "Finding:"
+msgstr "Ricerca:"
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "Errore del protocollo OpenID. Nessun ID ricevuto in risposta."
+#: ../../mod/directory.php:368
+msgid "next page"
+msgstr "pagina successiva"
-#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo."
+#: ../../mod/directory.php:368
+msgid "previous page"
+msgstr "pagina precedente"
-#: ../../mod/tagger.php:96
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
+#: ../../mod/directory.php:385
+msgid "No entries (some entries may be hidden)."
+msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)."
-#: ../../mod/uexport.php:41 ../../mod/uexport.php:42
+#: ../../mod/uexport.php:33 ../../mod/uexport.php:34
msgid "Export Channel"
msgstr "Esporta il canale"
-#: ../../mod/uexport.php:43
+#: ../../mod/uexport.php:35
msgid ""
"Export your basic channel information to a small file. This acts as a "
"backup of your connections, permissions, profile and basic data, which can "
"be used to import your data to a new hub, but\tdoes not contain your "
"content."
-msgstr "Esporta le informazioni di base del tuo canale in un piccolo file. E' utile per avere un salvataggio di sicurezza dei tuoi contatti, del tuo profilo ed altre informazioni fondamentali. Può essere usato per importare il tuo canale su un nuovo server, ma non include i contenuti, per esempio post e foto."
+msgstr "Esporta le informazioni di base del tuo canale in un piccolo file. E' utile per avere un salvataggio di sicurezza dei tuoi contatti, del tuo profilo ed altre informazioni fondamentali. Può essere usato per importare il tuo canale su un nuovo server, ma\tnon include i contenuti, per esempio articoli e foto."
-#: ../../mod/uexport.php:44
+#: ../../mod/uexport.php:36
msgid "Export Content"
msgstr "Esporta i contenuti"
-#: ../../mod/uexport.php:45
+#: ../../mod/uexport.php:37
msgid ""
"Export your channel information and all the content to a JSON backup. This "
"backs up all of your connections, permissions, profile data and all of your "
@@ -6588,7 +6964,7 @@ msgstr "la firma ricevuta non è valida"
msgid "Theme settings updated."
msgstr "Le impostazioni del tema sono state aggiornate."
-#: ../../mod/admin.php:93 ../../mod/admin.php:452
+#: ../../mod/admin.php:93 ../../mod/admin.php:445
msgid "Site"
msgstr "Sito"
@@ -6596,15 +6972,15 @@ msgstr "Sito"
msgid "Accounts"
msgstr "Account"
-#: ../../mod/admin.php:95 ../../mod/admin.php:985
+#: ../../mod/admin.php:95 ../../mod/admin.php:945
msgid "Channels"
msgstr "Canali"
-#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
+#: ../../mod/admin.php:96 ../../mod/admin.php:1036 ../../mod/admin.php:1076
msgid "Plugins"
msgstr "Plugin"
-#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
+#: ../../mod/admin.php:97 ../../mod/admin.php:1236 ../../mod/admin.php:1270
msgid "Themes"
msgstr "Temi"
@@ -6620,7 +6996,7 @@ msgstr "Configurazione del profilo"
msgid "DB updates"
msgstr "Aggiornamenti al DB"
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
+#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1355
msgid "Logs"
msgstr "Log"
@@ -6664,10 +7040,10 @@ msgstr "# cloni"
msgid "Message queues"
msgstr "Coda messaggi in uscita"
-#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
-#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
-#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
-#: ../../mod/admin.php:1395
+#: ../../mod/admin.php:240 ../../mod/admin.php:444 ../../mod/admin.php:539
+#: ../../mod/admin.php:808 ../../mod/admin.php:944 ../../mod/admin.php:1035
+#: ../../mod/admin.php:1075 ../../mod/admin.php:1235 ../../mod/admin.php:1269
+#: ../../mod/admin.php:1354
msgid "Administration"
msgstr "Amministrazione"
@@ -6679,7 +7055,7 @@ msgstr "Riepilogo"
msgid "Registered accounts"
msgstr "Account creati"
-#: ../../mod/admin.php:245 ../../mod/admin.php:552
+#: ../../mod/admin.php:245 ../../mod/admin.php:543
msgid "Pending registrations"
msgstr "Registrazioni da approvare"
@@ -6687,7 +7063,7 @@ msgstr "Registrazioni da approvare"
msgid "Registered channels"
msgstr "Canali creati"
-#: ../../mod/admin.php:247 ../../mod/admin.php:553
+#: ../../mod/admin.php:247 ../../mod/admin.php:544
msgid "Active plugins"
msgstr "Plugin attivi"
@@ -6695,675 +7071,629 @@ msgstr "Plugin attivi"
msgid "Version"
msgstr "Versione"
-#: ../../mod/admin.php:363
+#: ../../mod/admin.php:359
msgid "Site settings updated."
msgstr "Impostazioni del sito salvate correttamente."
-#: ../../mod/admin.php:400 ../../mod/settings.php:813
-msgid "mobile"
-msgstr "mobile"
-
-#: ../../mod/admin.php:402
+#: ../../mod/admin.php:398
msgid "experimental"
msgstr "sperimentale"
-#: ../../mod/admin.php:404
+#: ../../mod/admin.php:400
msgid "unsupported"
msgstr "non supportato"
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:425
msgid "Yes - with approval"
msgstr "Sì - con approvazione"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:431
msgid "My site is not a public server"
msgstr "Non è un server pubblico"
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:432
msgid "My site has paid access only"
msgstr "È un servizio a pagamento"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:433
msgid "My site has free access only"
msgstr "È un servizio gratuito"
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:434
msgid "My site offers free accounts with optional paid upgrades"
msgstr "È un servizio gratuito con opzioni aggiuntive a pagamento"
-#: ../../mod/admin.php:454 ../../mod/register.php:207
+#: ../../mod/admin.php:447 ../../mod/register.php:207
msgid "Registration"
msgstr "Registrazione"
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:448
msgid "File upload"
msgstr "Caricamento file"
-#: ../../mod/admin.php:456
+#: ../../mod/admin.php:449
msgid "Policies"
msgstr "Politiche"
-#: ../../mod/admin.php:461
+#: ../../mod/admin.php:454
msgid "Site name"
msgstr "Nome del sito"
-#: ../../mod/admin.php:462
+#: ../../mod/admin.php:455
msgid "Banner/Logo"
msgstr "Banner o logo"
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:456
msgid "Administrator Information"
msgstr "Informazioni sull'amministratore"
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:456
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode"
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:457
msgid "System language"
msgstr "Lingua di sistema"
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:458
msgid "System theme"
msgstr "Tema di sistema"
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:458
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:459
msgid "Mobile system theme"
msgstr "Tema di sistema per dispositivi mobili"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:459
msgid "Theme for mobile devices"
msgstr "Tema per i dispositivi mobili"
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:461
msgid "Enable Diaspora Protocol"
msgstr "Abilita la comunicazione con Diaspora"
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:461
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr "Sperimentale - per comunicare con Diaspora e Friendica"
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:462
msgid "Allow Feeds as Connections"
msgstr "Permetti di aggiungere i feed come contatti"
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:462
msgid "(Heavy system resource usage)"
msgstr "(Uso intenso delle risorse di sistema!)"
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:463
msgid "Maximum image size"
msgstr "Dimensione massima immagini"
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:463
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
-#: ../../mod/admin.php:471
+#: ../../mod/admin.php:464
msgid "Does this site allow new member registration?"
msgstr "Questo sito permette a nuovi utenti di registrarsi?"
-#: ../../mod/admin.php:472
+#: ../../mod/admin.php:465
msgid "Which best describes the types of account offered by this hub?"
msgstr "Come descriveresti il tipo di servizio proposto da questo server?"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:466
msgid "Register text"
msgstr "Testo di registrazione"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:466
msgid "Will be displayed prominently on the registration page."
msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
-#: ../../mod/admin.php:474
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)"
-
-#: ../../mod/admin.php:474
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file."
-
-#: ../../mod/admin.php:475
-msgid "Preserve site homepage URL"
-msgstr "Conserva l'URL della homepage"
-
-#: ../../mod/admin.php:475
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect."
-
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:467
msgid "Accounts abandoned after x days"
msgstr "Account abbandonati dopo X giorni"
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:467
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo."
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:468
msgid "Allowed friend domains"
msgstr "Domini fidati e consentiti"
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:468
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Elenco separato da virglola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio."
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:469
msgid "Allowed email domains"
msgstr "Domini email consentiti"
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:469
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email"
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:470
msgid "Not allowed email domains"
msgstr "Domini email non consentiti"
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:470
msgid ""
"Comma separated list of domains which are not allowed in email addresses for"
" registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio."
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:471
msgid "Block public"
msgstr "Blocca pagine pubbliche"
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:471
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso."
-#: ../../mod/admin.php:481
+#: ../../mod/admin.php:472
msgid "Verify Email Addresses"
msgstr "Verifica l'indirizzo email"
-#: ../../mod/admin.php:481
+#: ../../mod/admin.php:472
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato)."
-#: ../../mod/admin.php:482
+#: ../../mod/admin.php:473
msgid "Force publish"
msgstr "Forza la publicazione del profilo"
-#: ../../mod/admin.php:482
+#: ../../mod/admin.php:473
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Seleziona per mostrare nell'elenco pubblico <strong>tutti</strong> i profili registrati su questo sito."
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:474
msgid "Disable discovery tab"
msgstr "Disabilita la funzione 'scopri'"
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:474
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr "Nell'area della rete personale non comparirà più la scheda con i contenuti acquisiti da altri siti."
-#: ../../mod/admin.php:484
-msgid "login on Homepage"
-msgstr "Mostra il login sulla homepage"
+#: ../../mod/admin.php:475
+msgid "No login on Homepage"
+msgstr "Non mostrare il login sulla homepage"
-#: ../../mod/admin.php:484
+#: ../../mod/admin.php:475
msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti."
+"Check to hide the login form from your sites homepage when visitors arrive "
+"who are not logged in (e.g. when you put the content of the homepage in via "
+"the site channel)."
+msgstr "Per nascondere la possibilità di fare login ai visitatori (per esempio, quando il contenuto della homepage del sito è alimentato da un canale)."
-#: ../../mod/admin.php:486
+#: ../../mod/admin.php:477
msgid "Proxy user"
msgstr "Utente proxy"
-#: ../../mod/admin.php:487
+#: ../../mod/admin.php:478
msgid "Proxy URL"
msgstr "URL proxy"
-#: ../../mod/admin.php:488
+#: ../../mod/admin.php:479
msgid "Network timeout"
msgstr "Timeout rete"
-#: ../../mod/admin.php:488
+#: ../../mod/admin.php:479
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Valore in secondi. Imposta a 0 per illimitato (sconsigliato)."
-#: ../../mod/admin.php:489
+#: ../../mod/admin.php:480
msgid "Delivery interval"
msgstr "Recapito ritardato"
-#: ../../mod/admin.php:489
+#: ../../mod/admin.php:480
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:481
msgid "Poll interval"
msgstr "Intervallo di polling"
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:481
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
-#: ../../mod/admin.php:491
+#: ../../mod/admin.php:482
msgid "Maximum Load Average"
msgstr "Carico massimo medio"
-#: ../../mod/admin.php:491
+#: ../../mod/admin.php:482
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50."
-#: ../../mod/admin.php:492
+#: ../../mod/admin.php:483
msgid "Expiration period in days for imported (matrix/network) content"
msgstr "Scadenza dei contenuti importati da altri siti (in giorni)"
-#: ../../mod/admin.php:492
+#: ../../mod/admin.php:483
msgid "0 for no expiration of imported content"
msgstr "0 per non avere scadenza"
-#: ../../mod/admin.php:540
+#: ../../mod/admin.php:531
msgid "No server found"
msgstr "Server non trovato"
-#: ../../mod/admin.php:547 ../../mod/admin.php:831
+#: ../../mod/admin.php:538 ../../mod/admin.php:822
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:538
msgid "for channel"
msgstr "per canale"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:538
msgid "on server"
msgstr "sul server"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:538
msgid "Status"
msgstr "Stato"
-#: ../../mod/admin.php:549
+#: ../../mod/admin.php:540
msgid "Server"
msgstr "Server"
-#: ../../mod/admin.php:566
+#: ../../mod/admin.php:557
msgid "Update has been marked successful"
msgstr "L'aggiornamento è stato marcato come eseguito."
-#: ../../mod/admin.php:576
+#: ../../mod/admin.php:567
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema."
-#: ../../mod/admin.php:579
+#: ../../mod/admin.php:570
#, php-format
msgid "Update %s was successfully applied."
msgstr "L'aggiornamento %s è terminato correttamente."
-#: ../../mod/admin.php:583
+#: ../../mod/admin.php:574
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente."
-#: ../../mod/admin.php:586
+#: ../../mod/admin.php:577
#, php-format
msgid "Update function %s could not be found."
msgstr "Impossibile trovare la funzione di aggiornamento %s"
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:593
msgid "No failed updates."
msgstr "Nessun aggiornamento fallito."
-#: ../../mod/admin.php:606
+#: ../../mod/admin.php:597
msgid "Failed Updates"
msgstr "Aggiornamenti falliti."
-#: ../../mod/admin.php:608
+#: ../../mod/admin.php:599
msgid "Mark success (if update was manually applied)"
msgstr "Marca come eseguito (se applicato manualmente)."
-#: ../../mod/admin.php:609
+#: ../../mod/admin.php:600
msgid "Attempt to execute this update step automatically"
msgstr "Tenta di eseguire in automatico questo passaggio dell'aggiornamento."
-#: ../../mod/admin.php:641
+#: ../../mod/admin.php:632
msgid "Queue Statistics"
msgstr "Statistiche della coda"
-#: ../../mod/admin.php:642
+#: ../../mod/admin.php:633
msgid "Total Entries"
msgstr "Totale"
-#: ../../mod/admin.php:643
+#: ../../mod/admin.php:634
msgid "Priority"
msgstr "Priorità"
-#: ../../mod/admin.php:644
+#: ../../mod/admin.php:635
msgid "Destination URL"
msgstr "URL di destinazione"
-#: ../../mod/admin.php:645
+#: ../../mod/admin.php:636
msgid "Mark hub permanently offline"
msgstr "Questo hub è definitivamente offline"
-#: ../../mod/admin.php:646
+#: ../../mod/admin.php:637
msgid "Empty queue for this hub"
msgstr "Svuota la coda per questo hub"
-#: ../../mod/admin.php:647
+#: ../../mod/admin.php:638
msgid "Last known contact"
msgstr "Ultimo scambio dati"
-#: ../../mod/admin.php:683
+#: ../../mod/admin.php:674
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s utente bloccato/sbloccato"
msgstr[1] "%s utenti bloccati/sbloccati"
-#: ../../mod/admin.php:691
+#: ../../mod/admin.php:682
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] "%s utente cancellato"
msgstr[1] "%s utenti cancellati"
-#: ../../mod/admin.php:727
+#: ../../mod/admin.php:718
msgid "Account not found"
msgstr "Account non trovato"
-#: ../../mod/admin.php:747
+#: ../../mod/admin.php:738
#, php-format
msgid "User '%s' blocked"
msgstr "Utente '%s' bloccato"
-#: ../../mod/admin.php:755
+#: ../../mod/admin.php:746
#, php-format
msgid "User '%s' unblocked"
msgstr "Utente '%s' sbloccato"
-#: ../../mod/admin.php:818 ../../mod/admin.php:830
+#: ../../mod/admin.php:809 ../../mod/admin.php:821
msgid "Users"
msgstr "Utenti"
-#: ../../mod/admin.php:820 ../../mod/admin.php:987
+#: ../../mod/admin.php:811 ../../mod/admin.php:947
msgid "select all"
msgstr "seleziona tutti"
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:812
msgid "User registrations waiting for confirm"
msgstr "Richieste di registrazione in attesa di conferma"
-#: ../../mod/admin.php:822
+#: ../../mod/admin.php:813
msgid "Request date"
msgstr "Data richiesta"
-#: ../../mod/admin.php:823
+#: ../../mod/admin.php:814
msgid "No registrations."
msgstr "Nessuna registrazione."
-#: ../../mod/admin.php:824 ../../mod/connedit.php:687
+#: ../../mod/admin.php:815
msgid "Approve"
msgstr "Approva"
-#: ../../mod/admin.php:825
+#: ../../mod/admin.php:816
msgid "Deny"
msgstr "Nega"
-#: ../../mod/admin.php:827 ../../mod/connedit.php:519
+#: ../../mod/admin.php:818 ../../mod/connedit.php:517
+#: ../../mod/connedit.php:720
msgid "Block"
msgstr "Blocca"
-#: ../../mod/admin.php:828 ../../mod/connedit.php:519
+#: ../../mod/admin.php:819 ../../mod/connedit.php:517
+#: ../../mod/connedit.php:720
msgid "Unblock"
msgstr "Sblocca"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Register date"
msgstr "Data registrazione"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Last login"
msgstr "Ultimo accesso"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Expires"
msgstr "Con scadenza"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Service Class"
msgstr "Classe dell'account"
-#: ../../mod/admin.php:833
+#: ../../mod/admin.php:824
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Gli utenti selezionati saranno eliminati!\\n\\nTutto quello che gli utenti hanno pubblicato su questo sito sarà permanentemente eliminato!\\n\\nConfermi?"
-#: ../../mod/admin.php:834
+#: ../../mod/admin.php:825
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "L'utente {0} sarà eliminato!\\n\\nTutto quello che ha pubblicato su questo sito sarà permanentemente eliminato!\\n\\nConfermi?"
-#: ../../mod/admin.php:870
+#: ../../mod/admin.php:859
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "Censura modificata per %s canale"
msgstr[1] "Censura modificata per %s canali"
-#: ../../mod/admin.php:879
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "%s canale permette/non permette codice nei contenuti"
-msgstr[1] "%s canali permettono/non permettono codice nei contenuti"
-
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:866
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s canale è stato rimosso"
msgstr[1] "%s canali sono stati rimossi"
-#: ../../mod/admin.php:906
+#: ../../mod/admin.php:886
msgid "Channel not found"
msgstr "Canale non trovato"
-#: ../../mod/admin.php:917
+#: ../../mod/admin.php:897
#, php-format
msgid "Channel '%s' deleted"
msgstr "Il canale '%s' è stato rimosso"
-#: ../../mod/admin.php:929
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Applicata una censura al canale '%s'"
-
-#: ../../mod/admin.php:929
+#: ../../mod/admin.php:908
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Rimossa la censura dal canale '%s'"
-#: ../../mod/admin.php:940
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Il canale '%s' permette codice nei contenuti"
-
-#: ../../mod/admin.php:940
+#: ../../mod/admin.php:908
#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Il canale '%s' non permette codice nei contenuti"
+msgid "Channel '%s' censored"
+msgstr "Applicata una censura al canale '%s'"
-#: ../../mod/admin.php:989
+#: ../../mod/admin.php:949
msgid "Censor"
msgstr "Applica una censura"
-#: ../../mod/admin.php:990
+#: ../../mod/admin.php:950
msgid "Uncensor"
msgstr "Rimuovi la censura"
-#: ../../mod/admin.php:991
-msgid "Allow Code"
-msgstr "Permetti codice nei contenuti"
-
-#: ../../mod/admin.php:992
-msgid "Disallow Code"
-msgstr "Non permettere codice nei contenuti"
-
-#: ../../mod/admin.php:994
+#: ../../mod/admin.php:953
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:996
+#: ../../mod/admin.php:955
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../mod/admin.php:997
+#: ../../mod/admin.php:956
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../mod/admin.php:1037
+#: ../../mod/admin.php:996
#, php-format
msgid "Plugin %s disabled."
msgstr "Plugin %s non attivo."
-#: ../../mod/admin.php:1041
+#: ../../mod/admin.php:1000
#, php-format
msgid "Plugin %s enabled."
msgstr "Plugin %s attivo."
-#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
+#: ../../mod/admin.php:1010 ../../mod/admin.php:1208
msgid "Disable"
msgstr "Disattiva"
-#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
+#: ../../mod/admin.php:1013 ../../mod/admin.php:1210
msgid "Enable"
msgstr "Attiva"
-#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
+#: ../../mod/admin.php:1037 ../../mod/admin.php:1237
msgid "Toggle"
msgstr "Attiva/disattiva"
-#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
+#: ../../mod/admin.php:1045 ../../mod/admin.php:1247
msgid "Author: "
msgstr "Autore:"
-#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
+#: ../../mod/admin.php:1046 ../../mod/admin.php:1248
msgid "Maintainer: "
msgstr "Gestore:"
-#: ../../mod/admin.php:1214
+#: ../../mod/admin.php:1173
msgid "No themes found."
msgstr "Nessun tema trovato."
-#: ../../mod/admin.php:1270
+#: ../../mod/admin.php:1229
msgid "Screenshot"
msgstr "Istantanea dello schermo"
-#: ../../mod/admin.php:1316
+#: ../../mod/admin.php:1275
msgid "[Experimental]"
msgstr "[Sperimentale]"
-#: ../../mod/admin.php:1317
+#: ../../mod/admin.php:1276
msgid "[Unsupported]"
msgstr "[Non supportato]"
-#: ../../mod/admin.php:1341
+#: ../../mod/admin.php:1300
msgid "Log settings updated."
msgstr "Impostazioni di log aggiornate."
-#: ../../mod/admin.php:1398
+#: ../../mod/admin.php:1357
msgid "Clear"
msgstr "Pulisci"
-#: ../../mod/admin.php:1404
+#: ../../mod/admin.php:1363
msgid "Debugging"
msgstr "Debugging"
-#: ../../mod/admin.php:1405
+#: ../../mod/admin.php:1364
msgid "Log file"
msgstr "File di log"
-#: ../../mod/admin.php:1405
+#: ../../mod/admin.php:1364
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
-msgstr "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato RedMatrix."
+msgstr "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato Hubzilla."
-#: ../../mod/admin.php:1406
+#: ../../mod/admin.php:1365
msgid "Log level"
msgstr "Livello di log"
-#: ../../mod/admin.php:1452
+#: ../../mod/admin.php:1411
msgid "New Profile Field"
msgstr "Nuovo campo del profilo"
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../mod/admin.php:1412 ../../mod/admin.php:1432
msgid "Field nickname"
msgstr "Nome breve del campo"
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../mod/admin.php:1412 ../../mod/admin.php:1432
msgid "System name of field"
msgstr "Nome di sistema del campo"
-#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
+#: ../../mod/admin.php:1413 ../../mod/admin.php:1433
msgid "Input type"
msgstr "Tipo di dati"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
msgid "Field Name"
msgstr "Nome del campo"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
msgid "Label on profile pages"
msgstr "Etichetta da mostrare sulla pagina del profilo"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../mod/admin.php:1415 ../../mod/admin.php:1435
msgid "Help text"
msgstr "Testo di aiuto"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../mod/admin.php:1415 ../../mod/admin.php:1435
msgid "Additional info (optional)"
msgstr "Informazioni aggiuntive (opzionali)"
-#: ../../mod/admin.php:1466
+#: ../../mod/admin.php:1425
msgid "Field definition not found"
msgstr "Impossibile trovare la definizione del campo"
-#: ../../mod/admin.php:1472
+#: ../../mod/admin.php:1431
msgid "Edit Profile Field"
msgstr "Modifica campo del profilo"
@@ -7375,6 +7705,14 @@ msgstr "Impossibile raggiungere il tuo hub."
msgid "Post successful."
msgstr "Inviato!"
+#: ../../mod/editblock.php:112
+msgid "Edit Block"
+msgstr "Modifica il riquadro"
+
+#: ../../mod/editblock.php:123
+msgid "Delete block?"
+msgstr "Vuoi eliminare questo riquadro?"
+
#: ../../mod/register.php:44
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!"
@@ -7490,25 +7828,39 @@ msgid ""
"removed from the network"
msgstr "A meno che tu non lo richieda espressamente, solo i canali presenti su questo server saranno rimossi dalla rete."
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:720
-msgid "Remove Account"
-msgstr "Elimina l'account"
+#: ../../mod/item.php:174
+msgid "Unable to locate original post."
+msgstr "Impossibile trovare il messaggio originale."
-#: ../../mod/help.php:49 ../../mod/help.php:55 ../../mod/help.php:61
-msgid "Help:"
-msgstr "Guida:"
+#: ../../mod/item.php:437
+msgid "Empty post discarded."
+msgstr "L'articolo vuoto è stato ignorato."
-#: ../../mod/help.php:76 ../../index.php:238
-msgid "Not Found"
-msgstr "Non disponibile"
+#: ../../mod/item.php:479
+msgid "Executable content type not permitted to this channel."
+msgstr "I contenuti eseguibili non sono permessi su questo canale."
-#: ../../mod/help.php:100
-msgid "$Projectname Documentation"
-msgstr "Documentazione $Projectname"
+#: ../../mod/item.php:885
+msgid "System error. Post not saved."
+msgstr "Errore di sistema. Articolo non salvato."
+
+#: ../../mod/item.php:1103
+msgid "Unable to obtain post information from database."
+msgstr "Impossibile caricare l'articolo dal database."
+
+#: ../../mod/item.php:1110
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Hai raggiunto il limite massimo di %1$.0f articoli sulla pagina principale."
+
+#: ../../mod/item.php:1117
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-#: ../../mod/update_home.php:21 ../../mod/update_public.php:21
+#: ../../mod/update_home.php:21
msgid "[Embedded content - reload page to view]"
msgstr "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]"
@@ -7520,583 +7872,9 @@ msgstr "Le informazioni remote sulla privacy non sono disponibili."
msgid "Visible to:"
msgstr "Visibile a:"
-#: ../../mod/settings.php:76
-msgid "Name is required"
-msgstr "Il nome è obbligatorio"
-
-#: ../../mod/settings.php:80
-msgid "Key and Secret are required"
-msgstr "Key e Secret sono richiesti"
-
-#: ../../mod/settings.php:130
-msgid "Diaspora Policy Settings updated."
-msgstr "Le regole per Diaspora sono state aggiornate."
-
-#: ../../mod/settings.php:238
-msgid "Passwords do not match. Password unchanged."
-msgstr "Le password non corrispondono. Password non cambiata."
-
-#: ../../mod/settings.php:242
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Le password non possono essere vuote. Password non cambiata."
-
-#: ../../mod/settings.php:256
-msgid "Password changed."
-msgstr "Password cambiata."
-
-#: ../../mod/settings.php:258
-msgid "Password update failed. Please try again."
-msgstr "Modifica password fallita. Prova ancora."
-
-#: ../../mod/settings.php:272
-msgid "Not valid email."
-msgstr "Email non valida."
-
-#: ../../mod/settings.php:275
-msgid "Protected email address. Cannot change to that email."
-msgstr "È un indirizzo email riservato. Non puoi sceglierlo."
-
-#: ../../mod/settings.php:284
-msgid "System failure storing new email. Please try again."
-msgstr "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore."
-
-#: ../../mod/settings.php:523
-msgid "Settings updated."
-msgstr "Impostazioni aggiornate."
-
-#: ../../mod/settings.php:587 ../../mod/settings.php:613
-#: ../../mod/settings.php:649
-msgid "Add application"
-msgstr "Aggiungi una app"
-
-#: ../../mod/settings.php:590
-msgid "Name of application"
-msgstr "Nome dell'applicazione"
-
-#: ../../mod/settings.php:591 ../../mod/settings.php:617
-msgid "Consumer Key"
-msgstr "Consumer Key"
-
-#: ../../mod/settings.php:591 ../../mod/settings.php:592
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20"
-
-#: ../../mod/settings.php:592 ../../mod/settings.php:618
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
-
-#: ../../mod/settings.php:593 ../../mod/settings.php:619
-msgid "Redirect"
-msgstr "Redirect"
-
-#: ../../mod/settings.php:593
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI ridirezionato - lasciare bianco se non richiesto specificamente dall'applicazione."
-
-#: ../../mod/settings.php:594 ../../mod/settings.php:620
-msgid "Icon url"
-msgstr "Url icona"
-
-#: ../../mod/settings.php:594
-msgid "Optional"
-msgstr "Opzionale"
-
-#: ../../mod/settings.php:605
-msgid "You can't edit this application."
-msgstr "Non puoi modificare questa applicazione."
-
-#: ../../mod/settings.php:648
-msgid "Connected Apps"
-msgstr "App connesse"
-
-#: ../../mod/settings.php:652
-msgid "Client key starts with"
-msgstr "La client key inizia con"
-
-#: ../../mod/settings.php:653
-msgid "No name"
-msgstr "Nessun nome"
-
-#: ../../mod/settings.php:654
-msgid "Remove authorization"
-msgstr "Revoca l'autorizzazione"
-
-#: ../../mod/settings.php:668
-msgid "No feature settings configured"
-msgstr "Non hai componenti aggiuntivi da personalizzare"
-
-#: ../../mod/settings.php:685
-msgid "Feature/Addon Settings"
-msgstr "Impostazioni dei componenti aggiuntivi"
-
-#: ../../mod/settings.php:687
-msgid "Settings for the built-in Diaspora emulator"
-msgstr "Interconnessione con Diaspora"
-
-#: ../../mod/settings.php:688
-msgid "Allow any Diaspora member to comment on your public posts"
-msgstr "Permetti a tutti gli utenti di Diaspora di commentare i tuoi post pubblici"
-
-#: ../../mod/settings.php:689
-msgid "Enable the Diaspora protocol for this channel"
-msgstr "Abilita il protocollo Diaspora per questo canale"
-
-#: ../../mod/settings.php:690
-msgid "Diaspora Policy Settings"
-msgstr "Regole per Diaspora"
-
-#: ../../mod/settings.php:691
-msgid "Prevent your hashtags from being redirected to other sites"
-msgstr "Impedisci che i tuoi #tag puntino su altri siti"
-
-#: ../../mod/settings.php:715
-msgid "Account Settings"
-msgstr "Il tuo account"
-
-#: ../../mod/settings.php:716
-msgid "Enter New Password:"
-msgstr "Inserisci la nuova password:"
-
-#: ../../mod/settings.php:717
-msgid "Confirm New Password:"
-msgstr "Conferma la nuova password:"
-
-#: ../../mod/settings.php:717
-msgid "Leave password fields blank unless changing"
-msgstr "Lascia questi campi in bianco per non cambiare la password"
-
-#: ../../mod/settings.php:719 ../../mod/settings.php:1057
-msgid "Email Address:"
-msgstr "Indirizzo email:"
-
-#: ../../mod/settings.php:721
-msgid "Remove this account including all its channels"
-msgstr "Elimina questo account e tutti i suoi canali"
-
-#: ../../mod/settings.php:737
-msgid "Off"
-msgstr "Off"
-
-#: ../../mod/settings.php:737
-msgid "On"
-msgstr "On"
-
-#: ../../mod/settings.php:744
-msgid "Additional Features"
-msgstr "Funzionalità opzionali"
-
-#: ../../mod/settings.php:768
-msgid "Connector Settings"
-msgstr "Impostazioni del connettore"
-
-#: ../../mod/settings.php:807
-msgid "No special theme for mobile devices"
-msgstr "Nessun tema per dispositivi mobili"
-
-#: ../../mod/settings.php:810
-#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (Sperimentale)"
-
-#: ../../mod/settings.php:849
-msgid "Display Settings"
-msgstr "Aspetto"
-
-#: ../../mod/settings.php:850
-msgid "Theme Settings"
-msgstr "Impostazioni del tema"
-
-#: ../../mod/settings.php:851
-msgid "Custom Theme Settings"
-msgstr "Personalizzazione del tema"
-
-#: ../../mod/settings.php:852
-msgid "Content Settings"
-msgstr "Impostazioni dei contenuti"
-
-#: ../../mod/settings.php:858
-msgid "Display Theme:"
-msgstr "Tema per schermi medio grandi:"
-
-#: ../../mod/settings.php:859
-msgid "Mobile Theme:"
-msgstr "Tema per dispositivi mobili:"
-
-#: ../../mod/settings.php:860
-msgid "Enable user zoom on mobile devices"
-msgstr "Attiva la possibilità di fare zoom sui dispositivi mobili"
-
-#: ../../mod/settings.php:861
-msgid "Update browser every xx seconds"
-msgstr "Aggiorna il browser ogni x secondi"
-
-#: ../../mod/settings.php:861
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimo 10 secondi, nessun limite massimo"
-
-#: ../../mod/settings.php:862
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Massimo numero di conversazioni da mostrare ogni volta:"
-
-#: ../../mod/settings.php:862
-msgid "Maximum of 100 items"
-msgstr "Massimo 100"
-
-#: ../../mod/settings.php:863
-msgid "Show emoticons (smilies) as images"
-msgstr "Mostra le faccine (smilies) come immagini"
-
-#: ../../mod/settings.php:864
-msgid "Link post titles to source"
-msgstr "Il link del titolo di un post porta al sito originale"
-
-#: ../../mod/settings.php:865
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Modifica i layout di sistema (avanzato)"
-
-#: ../../mod/settings.php:868
-msgid "Use blog/list mode on channel page"
-msgstr "Mostra il canale nella modalità blog"
-
-#: ../../mod/settings.php:868 ../../mod/settings.php:869
-msgid "(comments displayed separately)"
-msgstr "(i commenti sono mostrati separatamente)"
-
-#: ../../mod/settings.php:869
-msgid "Use blog/list mode on matrix page"
-msgstr "Mostra la tua rete in modalità blog"
-
-#: ../../mod/settings.php:870
-msgid "Channel page max height of content (in pixels)"
-msgstr "Altezza massima dei contenuti del canale (in pixel)"
-
-#: ../../mod/settings.php:870 ../../mod/settings.php:871
-msgid "click to expand content exceeding this height"
-msgstr "dovrai cliccare per mostrare i contenuti di dimensioni maggiori"
-
-#: ../../mod/settings.php:871
-msgid "Matrix page max height of content (in pixels)"
-msgstr "Altezza massima dei contenuti della tua rete (in pixel)"
-
-#: ../../mod/settings.php:905
-msgid "Nobody except yourself"
-msgstr "Nessuno tranne te"
-
-#: ../../mod/settings.php:906
-msgid "Only those you specifically allow"
-msgstr "Solo chi riceve il mio permesso"
-
-#: ../../mod/settings.php:907
-msgid "Approved connections"
-msgstr "Contatti approvati"
-
-#: ../../mod/settings.php:908
-msgid "Any connections"
-msgstr "Tutti i contatti"
-
-#: ../../mod/settings.php:909
-msgid "Anybody on this website"
-msgstr "Chiunque su questo sito"
-
-#: ../../mod/settings.php:910
-msgid "Anybody in this network"
-msgstr "Chiunque su Red"
-
-#: ../../mod/settings.php:911
-msgid "Anybody authenticated"
-msgstr "Chiunque abbia effettuato l'accesso"
-
-#: ../../mod/settings.php:912
-msgid "Anybody on the internet"
-msgstr "Chiunque su internet"
-
-#: ../../mod/settings.php:986
-msgid "Publish your default profile in the network directory"
-msgstr "Mostra il mio profilo predefinito nell'elenco pubblico dei canali"
-
-#: ../../mod/settings.php:991
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Vuoi essere suggerito come amico ai nuovi membri?"
-
-#: ../../mod/settings.php:1000
-msgid "Your channel address is"
-msgstr "L'indirizzo del tuo canale è"
-
-#: ../../mod/settings.php:1048
-msgid "Channel Settings"
-msgstr "Impostazioni del canale"
-
-#: ../../mod/settings.php:1055
-msgid "Basic Settings"
-msgstr "Impostazioni di base"
-
-#: ../../mod/settings.php:1058
-msgid "Your Timezone:"
-msgstr "Il tuo fuso orario:"
-
-#: ../../mod/settings.php:1059
-msgid "Default Post Location:"
-msgstr "Località predefinita:"
-
-#: ../../mod/settings.php:1059
-msgid "Geographical location to display on your posts"
-msgstr "Posizione geografica da mostrare sui tuoi post"
-
-#: ../../mod/settings.php:1060
-msgid "Use Browser Location:"
-msgstr "Usa la località rilevata dal browser:"
-
-#: ../../mod/settings.php:1062
-msgid "Adult Content"
-msgstr "Contenuto per adulti"
-
-#: ../../mod/settings.php:1062
-msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)"
-
-#: ../../mod/settings.php:1064
-msgid "Security and Privacy Settings"
-msgstr "Impostazioni di sicurezza e privacy"
-
-#: ../../mod/settings.php:1066
-msgid "Your permissions are already configured. Click to view/adjust"
-msgstr "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli"
-
-#: ../../mod/settings.php:1068
-msgid "Hide my online presence"
-msgstr "Nascondi la mia presenza online"
-
-#: ../../mod/settings.php:1068
-msgid "Prevents displaying in your profile that you are online"
-msgstr "Evita che sul tuo profilo compaia la tua presenza online"
-
-#: ../../mod/settings.php:1070
-msgid "Simple Privacy Settings:"
-msgstr "Impostazioni di privacy semplificate"
-
-#: ../../mod/settings.php:1071
-msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>"
-
-#: ../../mod/settings.php:1072
-msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>"
-
-#: ../../mod/settings.php:1073
-msgid "Private - <em>default private, never open or public</em>"
-msgstr "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>"
-
-#: ../../mod/settings.php:1074
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>"
-
-#: ../../mod/settings.php:1076
-msgid "Allow others to tag your posts"
-msgstr "Permetti ad altri di taggare i tuoi post"
-
-#: ../../mod/settings.php:1076
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti"
-
-#: ../../mod/settings.php:1078
-msgid "Advanced Privacy Settings"
-msgstr "Impostazioni di privacy avanzate"
-
-#: ../../mod/settings.php:1080
-msgid "Expire other channel content after this many days"
-msgstr "Giorni dopo cui mettere in scadenza gli altri contenuti del canale"
-
-#: ../../mod/settings.php:1080
-msgid "0 or blank prevents expiration"
-msgstr "Lascia vuoto oppure 0 per non impostare scadenze"
-
-#: ../../mod/settings.php:1081
-msgid "Maximum Friend Requests/Day:"
-msgstr "Numero massimo giornaliero di richieste di amicizia:"
-
-#: ../../mod/settings.php:1081
-msgid "May reduce spam activity"
-msgstr "Serve e ridurre lo spam"
-
-#: ../../mod/settings.php:1082
-msgid "Default Post Permissions"
-msgstr "Permessi predefiniti per i post"
-
-#: ../../mod/settings.php:1087
-msgid "Channel permissions category:"
-msgstr "Categorie di permessi dei canali:"
-
-#: ../../mod/settings.php:1093
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:"
-
-#: ../../mod/settings.php:1093
-msgid "Useful to reduce spamming"
-msgstr "Serve e ridurre lo spam"
-
-#: ../../mod/settings.php:1096
-msgid "Notification Settings"
-msgstr "Impostazioni di notifica"
-
-#: ../../mod/settings.php:1097
-msgid "By default post a status message when:"
-msgstr "Pubblica un messaggio di stato quando:"
-
-#: ../../mod/settings.php:1098
-msgid "accepting a friend request"
-msgstr "accetto una nuova amicizia"
-
-#: ../../mod/settings.php:1099
-msgid "joining a forum/community"
-msgstr "entro a far parte di un forum"
-
-#: ../../mod/settings.php:1100
-msgid "making an <em>interesting</em> profile change"
-msgstr "faccio un cambiamento <em>interessante</em> al mio profilo"
-
-#: ../../mod/settings.php:1101
-msgid "Send a notification email when:"
-msgstr "Invia una email di notifica quando:"
-
-#: ../../mod/settings.php:1102
-msgid "You receive a connection request"
-msgstr "Ricevi una richiesta di entrare in contatto"
-
-#: ../../mod/settings.php:1103
-msgid "Your connections are confirmed"
-msgstr "I tuoi contatti sono confermati"
-
-#: ../../mod/settings.php:1104
-msgid "Someone writes on your profile wall"
-msgstr "Qualcuno scrive sulla tua bacheca"
-
-#: ../../mod/settings.php:1105
-msgid "Someone writes a followup comment"
-msgstr "Qualcuno scrive un commento dopo di te"
-
-#: ../../mod/settings.php:1106
-msgid "You receive a private message"
-msgstr "Ricevi un messaggio privato"
-
-#: ../../mod/settings.php:1107
-msgid "You receive a friend suggestion"
-msgstr "Ti viene suggerito un amico"
-
-#: ../../mod/settings.php:1108
-msgid "You are tagged in a post"
-msgstr "Sei taggato in un post"
-
-#: ../../mod/settings.php:1109
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Ricevi un poke in un post"
-
-#: ../../mod/settings.php:1112
-msgid "Show visual notifications including:"
-msgstr "Mostra queste notifiche a schermo:"
-
-#: ../../mod/settings.php:1114
-msgid "Unseen matrix activity"
-msgstr "Nuove attività nella rete"
-
-#: ../../mod/settings.php:1115
-msgid "Unseen channel activity"
-msgstr "Novità nei canali"
-
-#: ../../mod/settings.php:1116
-msgid "Unseen private messages"
-msgstr "Nuovi messaggi privati"
-
-#: ../../mod/settings.php:1116 ../../mod/settings.php:1121
-#: ../../mod/settings.php:1122 ../../mod/settings.php:1123
-msgid "Recommended"
-msgstr "Consigliato"
-
-#: ../../mod/settings.php:1117
-msgid "Upcoming events"
-msgstr "Prossimi eventi"
-
-#: ../../mod/settings.php:1118
-msgid "Events today"
-msgstr "Eventi di oggi"
-
-#: ../../mod/settings.php:1119
-msgid "Upcoming birthdays"
-msgstr "Prossimi compleanni"
-
-#: ../../mod/settings.php:1119
-msgid "Not available in all themes"
-msgstr "Non disponibile in tutti i temi"
-
-#: ../../mod/settings.php:1120
-msgid "System (personal) notifications"
-msgstr "Notifiche personali dal sistema"
-
-#: ../../mod/settings.php:1121
-msgid "System info messages"
-msgstr "Notifiche di sistema"
-
-#: ../../mod/settings.php:1122
-msgid "System critical alerts"
-msgstr "Avvisi critici di sistema"
-
-#: ../../mod/settings.php:1123
-msgid "New connections"
-msgstr "Nuovi contatti"
-
-#: ../../mod/settings.php:1124
-msgid "System Registrations"
-msgstr "Registrazioni"
-
-#: ../../mod/settings.php:1125
-msgid ""
-"Also show new wall posts, private messages and connections under Notices"
-msgstr "Mostra negli avvisi anche i nuovi post, i messaggi privati e i nuovi contatti"
-
-#: ../../mod/settings.php:1127
-msgid "Notify me of events this many days in advance"
-msgstr "Giorni di anticipo per notificare gli eventi"
-
-#: ../../mod/settings.php:1127
-msgid "Must be greater than 0"
-msgstr "Maggiore di 0"
-
-#: ../../mod/settings.php:1129
-msgid "Advanced Account/Page Type Settings"
-msgstr "Impostazioni avanzate"
-
-#: ../../mod/settings.php:1130
-msgid "Change the behaviour of this account for special situations"
-msgstr "Cambia il funzionamento di questo account per necessità particolari"
-
-#: ../../mod/settings.php:1133
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)"
-
-#: ../../mod/settings.php:1134
-msgid "Miscellaneous Settings"
-msgstr "Impostazioni varie"
-
-#: ../../mod/settings.php:1136
-msgid "Personal menu to display in your channel pages"
-msgstr "Menu personale da mostrare sulle pagine del tuo canale"
-
-#: ../../mod/settings.php:1137 ../../mod/removeme.php:61
-msgid "Remove Channel"
-msgstr "Elimina questo canale"
-
-#: ../../mod/settings.php:1138
-msgid "Remove this channel."
-msgstr "Elimina questo canale."
+#: ../../mod/blocks.php:95 ../../mod/blocks.php:144
+msgid "Block Name"
+msgstr "Nome del riquadro"
#: ../../mod/id.php:11
msgid "First Name"
@@ -8178,13 +7956,25 @@ msgstr "Elimina la conversazione"
msgid "D, d M Y - g:i A"
msgstr "D d M Y - G:i"
+#: ../../mod/layouts.php:111
+msgid "Help with this feature"
+msgstr "La guida per questa funzionalità"
+
+#: ../../mod/layouts.php:132
+msgid "Layout Name"
+msgstr "Nome layout"
+
+#: ../../mod/layouts.php:171
+msgid "Comanche page description language help"
+msgstr "Guida di Comanche Page Description Language"
+
#: ../../mod/mood.php:131
msgid "Set your current mood and tell your friends"
msgstr "Scegli il tuo umore attuale per mostrarlo agli amici"
#: ../../mod/vote.php:97
msgid "Total votes"
-msgstr "Totale voti"
+msgstr "Voti totali"
#: ../../mod/vote.php:98
msgid "Average Rating"
@@ -8214,239 +8004,315 @@ msgid ""
"removed from the network"
msgstr "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni"
-#: ../../mod/connedit.php:267
+#: ../../mod/connedit.php:262
msgid "is now connected to"
msgstr "ha come nuovo contatto"
-#: ../../mod/connedit.php:380
+#: ../../mod/connedit.php:375
msgid "Could not access address book record."
msgstr "Impossibile accedere alle informazioni della rubrica."
-#: ../../mod/connedit.php:394
+#: ../../mod/connedit.php:389
msgid "Refresh failed - channel is currently unavailable."
msgstr "Il canale non è disponibile - impossibile aggiornare."
-#: ../../mod/connedit.php:406 ../../mod/connedit.php:418
-#: ../../mod/connedit.php:430 ../../mod/connedit.php:442
-#: ../../mod/connedit.php:458
+#: ../../mod/connedit.php:396
+msgid "Channel has been unblocked"
+msgstr "Il canale è stato sbloccato"
+
+#: ../../mod/connedit.php:397
+msgid "Channel has been blocked"
+msgstr "Il canale è stato bloccato"
+
+#: ../../mod/connedit.php:401 ../../mod/connedit.php:413
+#: ../../mod/connedit.php:425 ../../mod/connedit.php:437
+#: ../../mod/connedit.php:453
msgid "Unable to set address book parameters."
msgstr "Impossibile impostare i parametri della rubrica."
-#: ../../mod/connedit.php:482
+#: ../../mod/connedit.php:408
+msgid "Channel has been unignored"
+msgstr "Il canale non sarà più ignorato"
+
+#: ../../mod/connedit.php:409
+msgid "Channel has been ignored"
+msgstr "Il canale sarà ignorato"
+
+#: ../../mod/connedit.php:420
+msgid "Channel has been unarchived"
+msgstr "Il canale non è più archiviato"
+
+#: ../../mod/connedit.php:421
+msgid "Channel has been archived"
+msgstr "Il canale è stato archiviato"
+
+#: ../../mod/connedit.php:432
+msgid "Channel has been unhidden"
+msgstr "Il canale non è più nascosto"
+
+#: ../../mod/connedit.php:433
+msgid "Channel has been hidden"
+msgstr "Il canale è stato nascosto"
+
+#: ../../mod/connedit.php:448
+msgid "Channel has been approved"
+msgstr "Il canale è stato approvato"
+
+#: ../../mod/connedit.php:449
+msgid "Channel has been unapproved"
+msgstr "Il canale non è più approvato"
+
+#: ../../mod/connedit.php:477
msgid "Connection has been removed."
msgstr "Il contatto è stato rimosso."
-#: ../../mod/connedit.php:501
+#: ../../mod/connedit.php:497
#, php-format
msgid "View %s's profile"
msgstr "Guarda il profilo di %s"
-#: ../../mod/connedit.php:505
+#: ../../mod/connedit.php:501
msgid "Refresh Permissions"
msgstr "Modifica i permessi"
-#: ../../mod/connedit.php:508
+#: ../../mod/connedit.php:504
msgid "Fetch updated permissions"
msgstr "Guarda e modifica i permessi assegnati"
-#: ../../mod/connedit.php:512
+#: ../../mod/connedit.php:508
msgid "Recent Activity"
msgstr "Attività recenti"
-#: ../../mod/connedit.php:515
+#: ../../mod/connedit.php:511
msgid "View recent posts and comments"
msgstr "Leggi i post recenti e i commenti"
-#: ../../mod/connedit.php:522
+#: ../../mod/connedit.php:520
msgid "Block (or Unblock) all communications with this connection"
msgstr "Blocca ogni interazione con questo contatto (abilita/disabilita)"
-#: ../../mod/connedit.php:523
-msgid "This connection is blocked!"
-msgstr "Questa connessione è tra quelle bloccate!"
-
-#: ../../mod/connedit.php:527
+#: ../../mod/connedit.php:524 ../../mod/connedit.php:721
msgid "Unignore"
msgstr "Non ignorare"
-#: ../../mod/connedit.php:527 ../../mod/notifications.php:51
+#: ../../mod/connedit.php:524 ../../mod/connedit.php:721
+#: ../../mod/notifications.php:51
msgid "Ignore"
msgstr "Ignora"
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:527
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)"
-#: ../../mod/connedit.php:531
-msgid "This connection is ignored!"
-msgstr "Questa connessione è tra quelle ignorate!"
-
-#: ../../mod/connedit.php:535
+#: ../../mod/connedit.php:530
msgid "Unarchive"
msgstr "Non archiviare"
-#: ../../mod/connedit.php:535
+#: ../../mod/connedit.php:530
msgid "Archive"
msgstr "Archivia"
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:533
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr "Archivia questo contatto (abilita/disabilita) - segna il canale come non più attivo ma ne conserva i contenuti"
-#: ../../mod/connedit.php:539
-msgid "This connection is archived!"
-msgstr "Questa connessione è tra quelle archiviate!"
-
-#: ../../mod/connedit.php:543
+#: ../../mod/connedit.php:536
msgid "Unhide"
msgstr "Non nascondere"
-#: ../../mod/connedit.php:543
+#: ../../mod/connedit.php:536
msgid "Hide"
msgstr "Nascondi"
-#: ../../mod/connedit.php:546
+#: ../../mod/connedit.php:539
msgid "Hide or Unhide this connection from your other connections"
msgstr "Nascondi questo contatto a tutti gli altri (abilita/disabilita)"
-#: ../../mod/connedit.php:547
-msgid "This connection is hidden!"
-msgstr "Questa connessione è tra quelle nascoste!"
-
-#: ../../mod/connedit.php:554
+#: ../../mod/connedit.php:546
msgid "Delete this connection"
msgstr "Elimina questo contatto"
-#: ../../mod/connedit.php:635
+#: ../../mod/connedit.php:637 ../../mod/connedit.php:675
msgid "Approve this connection"
msgstr "Approva questo contatto"
-#: ../../mod/connedit.php:635
+#: ../../mod/connedit.php:637
msgid "Accept connection to allow communication"
msgstr "Entra in contatto per poter comunicare"
-#: ../../mod/connedit.php:640
-msgid "Set Affinity"
-msgstr "Scegli l'affinità"
-
-#: ../../mod/connedit.php:643
-msgid "Set Profile"
-msgstr "Scegli il profilo da mostrare"
-
-#: ../../mod/connedit.php:646
-msgid "Set Affinity & Profile"
-msgstr "Affinità e profilo"
+#: ../../mod/connedit.php:653
+#, php-format
+msgid "Connections: settings for %s"
+msgstr "Contatti: impostazioni per %s"
-#: ../../mod/connedit.php:663
+#: ../../mod/connedit.php:654
msgid "Apply these permissions automatically"
msgstr "Applica automaticamente questi permessi"
-#: ../../mod/connedit.php:665
-msgid "This connection's address is"
-msgstr "Indirizzo di questo contatto"
-
-#: ../../mod/connedit.php:668
-msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi."
+#: ../../mod/connedit.php:658
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr "Applica i permessi indicati su questa pagina a tutti i nuovi contatti."
-#: ../../mod/connedit.php:670
+#: ../../mod/connedit.php:662
msgid "Slide to adjust your degree of friendship"
msgstr "Trascina per restringere il grado di amicizia da mostrare"
-#: ../../mod/connedit.php:672
-msgid "Slide to adjust your rating"
-msgstr "Trascina per cambiare la tua valutazione"
+#: ../../mod/connedit.php:671
+msgid ""
+"Default permissions for your channel type have (just) been applied. They "
+"have not yet been submitted. Please review the permissions on this page and "
+"make any desired changes at this time. This new connection may <em>not</em> "
+"be able to communicate with you until you submit this page, which will "
+"install and apply the selected permissions."
+msgstr "I tuoi nuovi contatti potrebbero <em>non</em> essere abilitati a comunicare con te finché non salverai questa pagina (perché non hai permessi impostati). Sono stati selezionati i permessi standard per il tipo di canale che hai scelto. Non sono stati ancora salvati però. Puoi verificare le impostazioni e fare i cambiamenti che preferisci prima di salvare. "
+
+#: ../../mod/connedit.php:674
+msgid "inherited"
+msgstr "derivato"
-#: ../../mod/connedit.php:673 ../../mod/connedit.php:678
-msgid "Optionally explain your rating"
-msgstr "Commento opzionale"
+#: ../../mod/connedit.php:677
+msgid "Connection has no individual permissions!"
+msgstr "Non hai assegnato permessi individuali a questo contatto!"
-#: ../../mod/connedit.php:675
-msgid "Custom Filter"
-msgstr "Filtro personalizzato"
+#: ../../mod/connedit.php:678
+msgid ""
+"This may be appropriate based on your <a href=\"settings\">privacy "
+"settings</a>, though you may wish to review the \"Advanced Permissions\"."
+msgstr "Questo corrisponde alle tue <a href='settings'>impostazioni di privacy</a>, ma puoi anche dare un'occhiata ai 'Permessi avanzati' per opzioni più dettagliate."
-#: ../../mod/connedit.php:676
-msgid "Only import posts with this text"
-msgstr "Importa solo i post che contengono questo testo"
+#: ../../mod/connedit.php:680
+msgid "Profile Visibility"
+msgstr "Visibilità del profilo"
-#: ../../mod/connedit.php:676 ../../mod/connedit.php:677
+#: ../../mod/connedit.php:681
+#, php-format
msgid ""
-"words one per line or #tags or /patterns/, leave blank to import all posts"
-msgstr "una parola per riga, oppure #tag o /pattern/ oppure lascia vuoto per importare tutto"
-
-#: ../../mod/connedit.php:677
-msgid "Do not import posts with this text"
-msgstr "Non importare i post con questo testo"
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro."
-#: ../../mod/connedit.php:679
-msgid "This information is public!"
-msgstr "Questa informazione è pubblica!"
+#: ../../mod/connedit.php:682
+msgid "Contact Information / Notes"
+msgstr "Informazioni e annotazioni sul contatto"
-#: ../../mod/connedit.php:684
-msgid "Connection Pending Approval"
-msgstr "Contatti in attesa di approvazione"
+#: ../../mod/connedit.php:683
+msgid "Edit contact notes"
+msgstr "Modifica le informazioni sul contatto"
#: ../../mod/connedit.php:685
-msgid "Connection Request"
-msgstr "Richiesta di entrare in contatto"
+msgid "Their Settings"
+msgstr "Permessi concessi a te"
#: ../../mod/connedit.php:686
-#, php-format
-msgid ""
-"(%s) would like to connect with you. Please approve this connection to allow"
-" communication."
-msgstr "(%s) vorrebbe entrare in contatto con te. Per permettere la comunicazione è necessario che tu approvi."
+msgid "My Settings"
+msgstr "I permessi che concedo"
#: ../../mod/connedit.php:688
-msgid "Approve Later"
-msgstr "Approva più tardi"
+msgid ""
+"Default permissions for this channel type have (just) been applied. They "
+"have <em>not</em> been saved and there are currently no stored default "
+"permissions. Please review/edit the applied settings and click [Submit] to "
+"finalize."
+msgstr "A questo canale sono stati applicati i permessi predefiniti ma <em>non</em> sono stati salvati. In realtà non esistono ancora dei permessi predefiniti da usare su questo sito. Controlla e verifica le impostazioni, [Salva] per confermare."
+
+#: ../../mod/connedit.php:689
+msgid "Clear/Disable Automatic Permissions"
+msgstr "Rimuovi/disabilita i permessi automatici"
+
+#: ../../mod/connedit.php:690
+msgid "Forum Members"
+msgstr "Membro di un forum"
#: ../../mod/connedit.php:691
-msgid "inherited"
-msgstr "derivato"
+msgid "Soapbox"
+msgstr "Comunicati e annunci"
+
+#: ../../mod/connedit.php:692
+msgid "Full Sharing (typical social network permissions)"
+msgstr "Condivisione completa (permessi tipici dei social network)"
#: ../../mod/connedit.php:693
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro."
+msgid "Cautious Sharing "
+msgstr "Condivisione prudente"
+
+#: ../../mod/connedit.php:694
+msgid "Follow Only"
+msgstr "Follower"
#: ../../mod/connedit.php:695
-msgid "Their Settings"
-msgstr "Permessi concessi a te"
+msgid "Individual Permissions"
+msgstr "Permessi individuali"
#: ../../mod/connedit.php:696
-msgid "My Settings"
-msgstr "I permessi che concedo"
+msgid ""
+"Some permissions may be inherited from your channel <a "
+"href=\"settings\">privacy settings</a>, which have higher priority than "
+"individual settings. Changing those inherited settings on this page will "
+"have no effect."
+msgstr "I permessi nelle <a href=\"settings\">impostazioni di privacy</a> hanno priorità su quelli mostrati in questa pagina. Non avrà alcun effetto cambiarli qui, se sono indicati come derivati."
+
+#: ../../mod/connedit.php:697
+msgid "Advanced Permissions"
+msgstr "Permessi avanzati"
#: ../../mod/connedit.php:698
-msgid "Individual Permissions"
-msgstr "Permessi individuali"
+msgid "Simple Permissions (select one and submit)"
+msgstr "Permessi semplificati (seleziona e salva)"
-#: ../../mod/connedit.php:699
-msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle."
+#: ../../mod/connedit.php:702
+#, php-format
+msgid "Visit %s's profile - %s"
+msgstr "Guarda il profilo di %s - %s"
-#: ../../mod/connedit.php:700
-msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi proprio le impostazioni generali."
+#: ../../mod/connedit.php:703
+msgid "Block/Unblock contact"
+msgstr "Blocca/sblocca contatto"
+
+#: ../../mod/connedit.php:704
+msgid "Ignore contact"
+msgstr "Ignora il contatto"
+
+#: ../../mod/connedit.php:705
+msgid "Repair URL settings"
+msgstr "Ripara le impostazioni URL"
+
+#: ../../mod/connedit.php:706
+msgid "View conversations"
+msgstr "Leggi le conversazioni"
+
+#: ../../mod/connedit.php:708
+msgid "Delete contact"
+msgstr "Elimina contatto"
-#: ../../mod/connedit.php:701
+#: ../../mod/connedit.php:712
msgid "Last update:"
msgstr "Ultimo aggiornamento:"
+#: ../../mod/connedit.php:714
+msgid "Update public posts"
+msgstr "Aggiorna gli articoli pubblici"
+
+#: ../../mod/connedit.php:716
+msgid "Update now"
+msgstr "Aggiorna adesso"
+
+#: ../../mod/connedit.php:722
+msgid "Currently blocked"
+msgstr "Attualmente bloccato"
+
+#: ../../mod/connedit.php:723
+msgid "Currently ignored"
+msgstr "Attualmente ignorato"
+
+#: ../../mod/connedit.php:724
+msgid "Currently archived"
+msgstr "Attualmente archiviato"
+
+#: ../../mod/connedit.php:725
+msgid "Currently pending"
+msgstr "Attualmente da approvare"
+
#: ../../mod/rmagic.php:40
msgid ""
"We encountered a problem while logging in with the OpenID you provided. "
@@ -8463,7 +8329,7 @@ msgstr "Autenticazione fallita."
#: ../../mod/rmagic.php:84
msgid "Remote Authentication"
-msgstr "Accedi dal tuo hub"
+msgstr "Autenticazione a distanza"
#: ../../mod/rmagic.php:85
msgid "Enter your channel address (e.g. channel@example.com)"
@@ -8471,7 +8337,7 @@ msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"
#: ../../mod/rmagic.php:86
msgid "Authenticate"
-msgstr "Accedi"
+msgstr "Autenticazione"
#: ../../mod/mail.php:33
msgid "Unable to lookup recipient."
@@ -8559,7 +8425,7 @@ msgstr "Effettua l'accesso."
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
" logout and retry."
-msgstr "L'autenticazione magica dal tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo."
+msgstr "L'autenticazione magica dal tuo sito non è disponibile. Hai accesso solamente a questo sito. Puoi provare a disconnetterti per tentare di nuovo."
#: ../../mod/new_channel.php:109
msgid "Add a Channel"
@@ -8595,7 +8461,7 @@ msgstr "Oppure <a href=\"import\">importa un tuo canale esistente</a> da un altr
msgid ""
"Please choose a channel type (such as social networking or community forum) "
"and privacy requirements so we can select the best permissions for you"
-msgstr "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. RedMatrix sceglierà per te i permessi più adatti."
+msgstr "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. Hubzilla sceglierà per te i permessi più adatti."
#: ../../mod/new_channel.php:119
msgid "Channel Type"
@@ -8665,26 +8531,37 @@ msgstr "ha aggiunto il tuo canale"
msgid "posted an event"
msgstr "ha creato un evento"
-#: ../../mod/layouts.php:176
-msgid "Comanche page description language help"
-msgstr "Guida di Comanche Page Description Language"
+#: ../../mod/network.php:91
+msgid "No such group"
+msgstr "Impossibile trovare l'insieme"
-#: ../../mod/layouts.php:180
-msgid "Layout Description"
-msgstr "Descrizione del layout"
+#: ../../mod/network.php:129
+msgid "No such channel"
+msgstr "Canale sconosciuto"
-#: ../../mod/layouts.php:185
-msgid "Download PDL file"
-msgstr "Scarica il file PDL"
+#: ../../mod/network.php:143
+msgid "Search Results For:"
+msgstr "Cerca risultati con:"
-#: ../../mod/home.php:73
-#, php-format
-msgid "Welcome to %s"
-msgstr "%s ti dà il benvenuto"
+#: ../../mod/network.php:198
+msgid "Collection is empty"
+msgstr "L'insieme di canali è vuoto"
-#: ../../mod/page.php:126
-msgid "Lorem Ipsum"
-msgstr "Lorem Ipsum"
+#: ../../mod/network.php:207
+msgid "Collection: "
+msgstr "Insieme:"
+
+#: ../../mod/network.php:226
+msgid "Connection: "
+msgstr "Contatto:"
+
+#: ../../mod/network.php:233
+msgid "Invalid connection."
+msgstr "Contatto non valido."
+
+#: ../../mod/page.php:119
+msgid "Ipsum Lorem"
+msgstr "Ipsum Lorem"
#: ../../mod/bookmarks.php:38
msgid "Bookmark added"
@@ -8702,21 +8579,6 @@ msgstr "I segnalibri dei miei contatti"
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Permessi insufficienti. Sarà visualizzata la pagina del profilo."
-#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Questa impostazione è bloccata, richiede criteri di modifica speciali"
-
-#: ../../mod/pconfig.php:49
-msgid "Configuration Editor"
-msgstr "Editor di configurazione"
-
-#: ../../mod/pconfig.php:50
-msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Avviso: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare."
-
#: ../../mod/suggest.php:35
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
@@ -8758,14 +8620,14 @@ msgstr "Schema predefinito"
#: ../../view/theme/apw/php/config.php:203
msgid "Sans-Serif"
-msgstr "Sans-Serif"
+msgstr "Sans-serif"
#: ../../view/theme/apw/php/config.php:204
msgid "Monospace"
msgstr "Monospace"
#: ../../view/theme/apw/php/config.php:259
-#: ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:100
msgid "Theme settings"
msgstr "Impostazioni del tema"
@@ -8774,9 +8636,9 @@ msgid "Set scheme"
msgstr "Schema"
#: ../../view/theme/apw/php/config.php:261
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:122
msgid "Set font-size for posts and comments"
-msgstr "Dimensioni del carattere per post e commenti"
+msgstr "Dimensioni del carattere per articoli e commenti"
#: ../../view/theme/apw/php/config.php:262
msgid "Set font face"
@@ -8804,7 +8666,7 @@ msgstr "Raggio degli angoli, predefinito 5px"
#: ../../view/theme/apw/php/config.php:268
msgid "Set line-height for posts and comments"
-msgstr "Altezza della riga per post e commenti"
+msgstr "Altezza della riga per articoli e commenti"
#: ../../view/theme/apw/php/config.php:269
msgid "Set background image"
@@ -8812,7 +8674,7 @@ msgstr "Immagine di sfondo"
#: ../../view/theme/apw/php/config.php:270
msgid "Set background attachment"
-msgstr "Sfondo allegato"
+msgstr "Allega uno sfondo"
#: ../../view/theme/apw/php/config.php:271
msgid "Set background color"
@@ -8820,11 +8682,11 @@ msgstr "Colore di sfondo"
#: ../../view/theme/apw/php/config.php:272
msgid "Set section background image"
-msgstr "Immagine di sfondo dei contenuti"
+msgstr "Immagine di sfondo della sezione"
#: ../../view/theme/apw/php/config.php:273
msgid "Set section background color"
-msgstr "Colore di sfondo dei contenuti"
+msgstr "Colore di sfondo dell'area principale"
#: ../../view/theme/apw/php/config.php:274
msgid "Set color of items - use hex"
@@ -8836,15 +8698,15 @@ msgstr "Colore dei link - esadecimale"
#: ../../view/theme/apw/php/config.php:276
msgid "Set max-width for items. Default 400px"
-msgstr "Larghezza massima degli elementi della pagina. Predefinita 400px"
+msgstr "Larghezza massima degli elementi della pagina. Predefinita: 400px"
#: ../../view/theme/apw/php/config.php:277
msgid "Set min-width for items. Default 240px"
-msgstr "Larghezza minima degli elementi della pagina. Predefinita 240px"
+msgstr "Larghezza minima degli elementi della pagina. Predefinita: 240px"
#: ../../view/theme/apw/php/config.php:278
msgid "Set the generic content wrapper width. Default 48%"
-msgstr "Larghezza dell'area dei contenuti. Predefinita: 48%"
+msgstr "Larghezza di tutta l'area dei contenuti. Predefinita: 48%"
#: ../../view/theme/apw/php/config.php:279
msgid "Set color of fonts - use hex"
@@ -8852,7 +8714,7 @@ msgstr "Colore dei caratteri - esadecimale"
#: ../../view/theme/apw/php/config.php:280
msgid "Set background-size element"
-msgstr "Dimensione sfondo"
+msgstr "Background-size element"
#: ../../view/theme/apw/php/config.php:281
msgid "Item opacity"
@@ -8860,7 +8722,7 @@ msgstr "Opacità degli elementi della pagina"
#: ../../view/theme/apw/php/config.php:282
msgid "Display post previews only"
-msgstr "Mostra l'anteprima solo dei post"
+msgstr "Mostra le anteprime solo degli articoli"
#: ../../view/theme/apw/php/config.php:283
msgid "Display side bar on channel page"
@@ -8876,15 +8738,15 @@ msgstr "Float degli oggetti della pagina"
#: ../../view/theme/apw/php/config.php:286
msgid "Left offset of the section element"
-msgstr "Margine sinistro dei contenuti"
+msgstr "Margine sinistro dell'area principale"
#: ../../view/theme/apw/php/config.php:287
msgid "Right offset of the section element"
-msgstr "Margine destro dei contenuti"
+msgstr "Margine destro dell'area principale"
#: ../../view/theme/apw/php/config.php:288
msgid "Section width"
-msgstr "Larghezza dei contenuti"
+msgstr "Larghezza dell'area principale"
#: ../../view/theme/apw/php/config.php:289
msgid "Left offset of the aside"
@@ -8895,178 +8757,178 @@ msgid "Right offset of the aside element"
msgstr "Margine destro della colonna laterale"
#: ../../view/theme/redbasic/php/config.php:82
-msgid "Light (Red Matrix default)"
+msgid "Light (Hubzilla default)"
msgstr "Light (predefinito)"
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:101
msgid "Select scheme"
msgstr "Scegli uno schema"
-#: ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:102
msgid "Narrow navbar"
msgstr "Barra di navigazione ristretta"
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:103
msgid "Navigation bar background color"
msgstr "Barra di navigazione: Colore di sfondo"
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:104
msgid "Navigation bar gradient top color"
msgstr "Barra di navigazione: Gradiente superiore"
-#: ../../view/theme/redbasic/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:105
msgid "Navigation bar gradient bottom color"
msgstr "Barra di navigazione: Gradiente inferiore"
-#: ../../view/theme/redbasic/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:106
msgid "Navigation active button gradient top color"
msgstr "Bottone di navigazione attivo: Gradiente superiore"
-#: ../../view/theme/redbasic/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:107
msgid "Navigation active button gradient bottom color"
msgstr "Bottone di navigazione attivo: Gradiente inferiore"
-#: ../../view/theme/redbasic/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:108
msgid "Navigation bar border color "
msgstr "Barra di navigazione: Colore del bordo"
-#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:109
msgid "Navigation bar icon color "
msgstr "Barra di navigazione: Colore delle icone"
-#: ../../view/theme/redbasic/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Navigation bar active icon color "
msgstr "Barra di navigazione: Colore dell'icona attiva"
-#: ../../view/theme/redbasic/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:111
msgid "link color"
msgstr "colore del link"
-#: ../../view/theme/redbasic/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Set font-color for banner"
msgstr "Colore del font del banner"
-#: ../../view/theme/redbasic/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:113
msgid "Set the background color"
msgstr "Imposta il colore di sfondo"
-#: ../../view/theme/redbasic/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:114
msgid "Set the background image"
msgstr "Immagine di sfondo"
-#: ../../view/theme/redbasic/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:115
msgid "Set the background color of items"
msgstr "Imposta il colore di sfondo degli oggetti"
-#: ../../view/theme/redbasic/php/config.php:118
+#: ../../view/theme/redbasic/php/config.php:116
msgid "Set the background color of comments"
msgstr "Imposta il colore di sfondo dei commenti"
-#: ../../view/theme/redbasic/php/config.php:119
+#: ../../view/theme/redbasic/php/config.php:117
msgid "Set the border color of comments"
msgstr "Imposta il colore del bordo dei commenti"
-#: ../../view/theme/redbasic/php/config.php:120
+#: ../../view/theme/redbasic/php/config.php:118
msgid "Set the indent for comments"
msgstr "Imposta il lo spostamento a destra dei commenti"
-#: ../../view/theme/redbasic/php/config.php:121
+#: ../../view/theme/redbasic/php/config.php:119
msgid "Set the basic color for item icons"
msgstr "Colore di base per le icone"
-#: ../../view/theme/redbasic/php/config.php:122
+#: ../../view/theme/redbasic/php/config.php:120
msgid "Set the hover color for item icons"
msgstr "Colore per le icone in mouse-over"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Set font-size for the entire application"
msgstr "Dimensione font per tutto il sito"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Example: 14px"
msgstr "Esempio: 14px"
-#: ../../view/theme/redbasic/php/config.php:125
+#: ../../view/theme/redbasic/php/config.php:123
msgid "Set font-color for posts and comments"
-msgstr "Imposta il colore del carattere per post e commenti"
+msgstr "Imposta il colore del carattere per articoli e commenti"
-#: ../../view/theme/redbasic/php/config.php:126
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Set radius of corners"
msgstr "Raggio degli angoli stondati"
-#: ../../view/theme/redbasic/php/config.php:127
+#: ../../view/theme/redbasic/php/config.php:125
msgid "Set shadow depth of photos"
msgstr "Profondità dell'ombra delle foto"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Set maximum width of content region in pixel"
msgstr "Larghezza massima dell'area dei contenuti in pixel"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Leave empty for default width"
msgstr "Lascia vuoto per usare il valore predefinito"
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:127
msgid "Center page content"
msgstr "Centra il contenuto della pagina"
-#: ../../view/theme/redbasic/php/config.php:130
+#: ../../view/theme/redbasic/php/config.php:128
msgid "Set minimum opacity of nav bar - to hide it"
msgstr "Imposta l'opacità minima della barra di navigazione per nasconderla"
-#: ../../view/theme/redbasic/php/config.php:131
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Set size of conversation author photo"
msgstr "Dimensione foto dell'autore della conversazione"
-#: ../../view/theme/redbasic/php/config.php:132
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Set size of followup author photos"
msgstr "Dimensione foto dei partecipanti alla conversazione"
-#: ../../boot.php:1356
+#: ../../boot.php:1345
#, php-format
msgid "Update %s failed. See error logs."
msgstr "%s: aggiornamento fallito. Controlla i log di errore."
-#: ../../boot.php:1359
+#: ../../boot.php:1348
#, php-format
msgid "Update Error at %s"
msgstr "Errore di aggiornamento su %s"
-#: ../../boot.php:1526
+#: ../../boot.php:1515
msgid ""
-"Create an account to access services and applications within the Red Matrix"
-msgstr "Registrati per accedere ai servizi e alle applicazioni di RedMatrix"
+"Create an account to access services and applications within the Hubzilla"
+msgstr "Registrati per accedere ai servizi e alle applicazioni di Hubzilla"
-#: ../../boot.php:1554
+#: ../../boot.php:1543
msgid "Password"
msgstr "Password"
-#: ../../boot.php:1555
+#: ../../boot.php:1544
msgid "Remember me"
msgstr "Resta connesso"
-#: ../../boot.php:1558
+#: ../../boot.php:1547
msgid "Forgot your password?"
msgstr "Hai dimenticato la password?"
-#: ../../boot.php:2178
+#: ../../boot.php:2166
msgid "toggle mobile"
msgstr "attiva/disattiva versione mobile"
-#: ../../boot.php:2313
+#: ../../boot.php:2301
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Il certificato SSL del sito non è valido. Si prega di intervenire."
-#: ../../boot.php:2316
+#: ../../boot.php:2304
#, php-format
msgid "[red] Website SSL error for %s"
msgstr "[red] Errore SSL %s "
-#: ../../boot.php:2353
+#: ../../boot.php:2341
msgid "Cron/Scheduled tasks not running."
msgstr "Processi/cron non avviati."
-#: ../../boot.php:2357
+#: ../../boot.php:2345
#, php-format
msgid "[red] Cron tasks not running on %s"
-msgstr "[red] Processi cron non avviati su %s"
+msgstr "[red] Processi non avviati su %s"
diff --git a/view/it/strings.php b/view/it/strings.php
index f54b03520..38b8c745c 100644
--- a/view/it/strings.php
+++ b/view/it/strings.php
@@ -7,28 +7,9 @@ function string_plural_select_it($n){
;
$a->strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
$a->strings["Profile Photos"] = "Foto del profilo";
-$a->strings["Edit"] = "Modifica";
-$a->strings["Frequently"] = "Frequentemente";
-$a->strings["Hourly"] = "Ogni ora";
-$a->strings["Twice daily"] = "Due volte al giorno";
-$a->strings["Daily"] = "Ogni giorno";
-$a->strings["Weekly"] = "Ogni settimana";
-$a->strings["Monthly"] = "Ogni mese";
-$a->strings["Friendica"] = "Friendica";
-$a->strings["OStatus"] = "OStatus";
-$a->strings["RSS/Atom"] = "RSS/Atom";
-$a->strings["Email"] = "Email";
-$a->strings["Diaspora"] = "Diaspora";
-$a->strings["Facebook"] = "Facebook";
-$a->strings["Zot!"] = "Zot!";
-$a->strings["LinkedIn"] = "LinkedIn";
-$a->strings["XMPP/IM"] = "XMPP/IM";
-$a->strings["MySpace"] = "MySpace";
-$a->strings["created a new post"] = "Ha creato un nuovo post";
-$a->strings["commented on %s's post"] = "ha commentato il post di %s";
-$a->strings["No username found in import file."] = "Impossibile trovare il nome utente nel file da importare.";
-$a->strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito.";
-$a->strings["Import completed."] = "L'importazione è terminata con successo!";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
+$a->strings["created a new post"] = "Ha creato un nuovo articolo";
+$a->strings["commented on %s's post"] = "ha commentato l'articolo di %s";
$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "È stato ripristinato un insieme con lo stesso nome che era stato eliminato in precedenza. I permessi già presenti <strong>potrebbero</strong> rimanere validi per i nuovi canali. Se non vuoi che ciò accada, devi creare un altro insieme con un nome diverso.";
$a->strings["Default privacy group for new contacts"] = "Insieme predefinito per i canali che inizi a seguire";
$a->strings["All Channels"] = "Tutti i canali";
@@ -78,13 +59,8 @@ $a->strings["seconds"] = "secondi";
$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s fa";
$a->strings["%1\$s's birthday"] = "Compleanno di %1\$s";
$a->strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s";
-$a->strings["Directory Options"] = "Opzioni elenco pubblico";
-$a->strings["Safe Mode"] = "Modalità SafeSearch";
-$a->strings["No"] = "No";
-$a->strings["Yes"] = "Si";
-$a->strings["Public Forums Only"] = "Solo forum pubblici";
-$a->strings["This Website Only"] = "Solo in questo sito";
$a->strings["New Page"] = "Nuova pagina web";
+$a->strings["Edit"] = "Modifica";
$a->strings["View"] = "Guarda";
$a->strings["Preview"] = "Anteprima";
$a->strings["Actions"] = "Azioni";
@@ -94,6 +70,20 @@ $a->strings["Created"] = "Creato";
$a->strings["Edited"] = "Modificato";
$a->strings["Public Timeline"] = "Diario pubblico";
$a->strings["Default"] = "Predefinito";
+$a->strings["Directory Options"] = "Opzioni elenco pubblico";
+$a->strings["Alphabetic"] = "Alfabetico";
+$a->strings["Reverse Alphabetic"] = "Alfabetico inverso";
+$a->strings["Newest to Oldest"] = "Prima i più recenti";
+$a->strings["Oldest to Newest"] = "Prima i più vecchi";
+$a->strings["Sort"] = "Ordinamento";
+$a->strings["Safe Mode"] = "Modalità SafeSearch";
+$a->strings["Public Forums Only"] = "Solo forum pubblici";
+$a->strings["This Website Only"] = "Solo in questo sito";
+$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
+$a->strings["Starts:"] = "Inizio:";
+$a->strings["Finishes:"] = "Fine:";
+$a->strings["Location:"] = "Luogo:";
+$a->strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
$a->strings["Delete this item?"] = "Eliminare questo elemento?";
$a->strings["Comment"] = "Commento";
$a->strings["[+] show all"] = "[+] mostra tutto";
@@ -131,95 +121,8 @@ $a->strings["about a year"] = "circa un anno";
$a->strings["%d years"] = "%d anni";
$a->strings[" "] = " ";
$a->strings["timeago.numbers"] = "timeago.numbers";
-$a->strings["prev"] = "prec";
-$a->strings["first"] = "inizio";
-$a->strings["last"] = "fine";
-$a->strings["next"] = "succ";
-$a->strings["older"] = "più recenti";
-$a->strings["newer"] = "più nuovi";
-$a->strings["No connections"] = "Nessun contatto";
-$a->strings["%d Connection"] = array(
- 0 => "%d contatto",
- 1 => "%d contatti",
-);
-$a->strings["View Connections"] = "Elenco contatti";
-$a->strings["Search"] = "Cerca";
-$a->strings["Save"] = "Salva";
-$a->strings["poke"] = "poke";
-$a->strings["poked"] = "ha ricevuto un poke";
-$a->strings["ping"] = "ping";
-$a->strings["pinged"] = "ha ricevuto un ping";
-$a->strings["prod"] = "spintone";
-$a->strings["prodded"] = "ha ricevuto uno spintone";
-$a->strings["slap"] = "schiaffo";
-$a->strings["slapped"] = "ha ricevuto uno schiaffo";
-$a->strings["finger"] = "finger";
-$a->strings["fingered"] = "ha ricevuto un finger";
-$a->strings["rebuff"] = "rifiuto";
-$a->strings["rebuffed"] = "ha ricevuto un rifiuto";
-$a->strings["happy"] = "felice";
-$a->strings["sad"] = "triste";
-$a->strings["mellow"] = "calmo";
-$a->strings["tired"] = "stanco";
-$a->strings["perky"] = "vivace";
-$a->strings["angry"] = "arrabbiato";
-$a->strings["stupified"] = "stordito";
-$a->strings["puzzled"] = "confuso";
-$a->strings["interested"] = "attento";
-$a->strings["bitter"] = "amaro";
-$a->strings["cheerful"] = "allegro";
-$a->strings["alive"] = "vivace";
-$a->strings["annoyed"] = "seccato";
-$a->strings["anxious"] = "ansioso";
-$a->strings["cranky"] = "irritabile";
-$a->strings["disturbed"] = "turbato";
-$a->strings["frustrated"] = "frustrato";
-$a->strings["depressed"] = "in depressione";
-$a->strings["motivated"] = "motivato";
-$a->strings["relaxed"] = "rilassato";
-$a->strings["surprised"] = "sorpreso";
-$a->strings["Monday"] = "lunedì";
-$a->strings["Tuesday"] = "martedì";
-$a->strings["Wednesday"] = "mercoledì";
-$a->strings["Thursday"] = "giovedì";
-$a->strings["Friday"] = "venerdì";
-$a->strings["Saturday"] = "sabato";
-$a->strings["Sunday"] = "domenica";
-$a->strings["January"] = "gennaio";
-$a->strings["February"] = "febbraio";
-$a->strings["March"] = "marzo";
-$a->strings["April"] = "aprile";
-$a->strings["May"] = "maggio";
-$a->strings["June"] = "giugno";
-$a->strings["July"] = "luglio";
-$a->strings["August"] = "agosto";
-$a->strings["September"] = "settembre";
-$a->strings["October"] = "ottobre";
-$a->strings["November"] = "novembre";
-$a->strings["December"] = "dicembre";
-$a->strings["unknown.???"] = "sconosciuto???";
-$a->strings["bytes"] = "byte";
-$a->strings["remove category"] = "rimuovi la categoria";
-$a->strings["remove from file"] = "rimuovi dal file";
-$a->strings["Click to open/close"] = "Clicca per aprire/chiudere";
-$a->strings["Link to Source"] = "Link al sito d'origine";
-$a->strings["default"] = "predefinito";
-$a->strings["Page layout"] = "Layout della pagina";
-$a->strings["You can create your own with the layouts tool"] = "Con la configurazione del layout puoi crearne uno tuo";
-$a->strings["Page content type"] = "Tipo di contenuto della pagina";
-$a->strings["Select an alternate language"] = "Seleziona una lingua diversa";
-$a->strings["photo"] = "la foto";
-$a->strings["event"] = "l'evento";
-$a->strings["status"] = "il messaggio di stato";
-$a->strings["comment"] = "il commento";
-$a->strings["activity"] = "l'attività";
-$a->strings["Design Tools"] = "Strumenti di design";
-$a->strings["Blocks"] = "Riquadri";
-$a->strings["Menus"] = "Menù";
-$a->strings["Layouts"] = "Layout";
-$a->strings["Pages"] = "Pagine";
-$a->strings["Collection"] = "Cartella";
$a->strings["parent"] = "cartella superiore";
+$a->strings["Collection"] = "Cartella";
$a->strings["Principal"] = "Principale";
$a->strings["Addressbook"] = "Rubrica";
$a->strings["Calendar"] = "Calendario";
@@ -242,14 +145,9 @@ $a->strings["Create new folder"] = "Crea una nuova cartella";
$a->strings["Upload file"] = "Carica un file";
$a->strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
$a->strings["view full size"] = "guarda nelle dimensioni reali";
-$a->strings["\$Projectname Notification"] = "Notifica \$Projectname";
-$a->strings["\$projectname"] = "\$projectname";
-$a->strings["Thank You,"] = "Grazie,";
-$a->strings["%s Administrator"] = "L'amministratore di %s";
-$a->strings["No Subject"] = "Nessun titolo";
$a->strings["General Features"] = "Funzionalità di base";
$a->strings["Content Expiration"] = "Scadenza";
-$a->strings["Remove posts/comments and/or private messages at a future time"] = "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo";
+$a->strings["Remove posts/comments and/or private messages at a future time"] = "Elimina gli articoli, i commenti o i messaggi privati dopo un lasso di tempo";
$a->strings["Multiple Profiles"] = "Profili multipli";
$a->strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
$a->strings["Advanced Profiles"] = "Profili avanzati";
@@ -268,9 +166,9 @@ $a->strings["Expert Mode"] = "Modalità esperto";
$a->strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate";
$a->strings["Premium Channel"] = "Canale premium";
$a->strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare delle restrizioni e dei termini d'uso a chi segue il canale";
-$a->strings["Post Composition Features"] = "Modalità di scrittura post";
+$a->strings["Post Composition Features"] = "Modalità di scrittura articoli";
$a->strings["Use Markdown"] = "Usa il markdown";
-$a->strings["Allow use of \"Markdown\" to format posts"] = "Consenti l'uso del markdown per formattare i post";
+$a->strings["Allow use of \"Markdown\" to format posts"] = "Consenti l'uso del markdown per formattare gli articoli";
$a->strings["Large Photos"] = "Foto grandi";
$a->strings["Include large (640px) photo thumbnails in posts. If not enabled, use small (320px) photo thumbnails"] = "Includi anteprime grandi delle foto nei post (640px). Se disabilitato le anteprime saranno piccole (320px)";
$a->strings["Channel Sources"] = "Sorgenti del canale";
@@ -278,12 +176,12 @@ $a->strings["Automatically import channel content from other channels or feeds"]
$a->strings["Even More Encryption"] = "Crittografia addizionale";
$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crittografia tra mittente e destinatario che condividono una chiave segreta";
$a->strings["Enable voting tools"] = "Permetti i post con votazione";
-$a->strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di post in cui sarà possibile votare";
+$a->strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di articoli in cui sarà possibile votare";
$a->strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
$a->strings["Search by Date"] = "Ricerca per data";
-$a->strings["Ability to select posts by date ranges"] = "Per selezionare i post in un intervallo tra date";
+$a->strings["Ability to select posts by date ranges"] = "Per selezionare gli articoli in un intervallo tra date";
$a->strings["Collections Filter"] = "Filtra per insiemi di canali";
-$a->strings["Enable widget to display Network posts only from selected collections"] = "Mostra il riquadro per filtrare i post di certi insiemi di canali";
+$a->strings["Enable widget to display Network posts only from selected collections"] = "Mostra il riquadro per filtrare gli articoli di certi insiemi di canali";
$a->strings["Saved Searches"] = "Ricerche salvate";
$a->strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
$a->strings["Network Personal Tab"] = "Attività personale";
@@ -292,21 +190,19 @@ $a->strings["Network New Tab"] = "Contenuti nuovi";
$a->strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
$a->strings["Affinity Tool"] = "Filtro per affinità";
$a->strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
-$a->strings["Connection Filtering"] = "Filtro sui contatti";
-$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filtra con delle parole chiave i post che ricevi";
$a->strings["Suggest Channels"] = "Suggerisci canali";
$a->strings["Show channel suggestions"] = "Mostra alcuni canali che potrebbero interessarti";
-$a->strings["Post/Comment Tools"] = "Gestione post e commenti";
+$a->strings["Post/Comment Tools"] = "Gestione articoli e commenti";
$a->strings["Tagging"] = "Tag";
-$a->strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su post già esistenti";
-$a->strings["Post Categories"] = "Categorie dei post";
-$a->strings["Add categories to your posts"] = "Abilita le categorie per i tuoi post";
+$a->strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su articoli già esistenti";
+$a->strings["Post Categories"] = "Categorie degli articoli";
+$a->strings["Add categories to your posts"] = "Abilita le categorie per i tuoi articoli";
$a->strings["Saved Folders"] = "Cartelle salvate";
-$a->strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in post";
+$a->strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
$a->strings["Dislike Posts"] = "Non mi piace";
-$a->strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi post";
-$a->strings["Star Posts"] = "Post con stella";
-$a->strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per segnare i post preferiti";
+$a->strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi articoli";
+$a->strings["Star Posts"] = "Articoli stella (preferiti)";
+$a->strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per scegliere gli articoli preferiti";
$a->strings["Tag Cloud"] = "Nuvola di tag";
$a->strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
$a->strings["Categories"] = "Categorie";
@@ -324,6 +220,7 @@ $a->strings["Add New Connection"] = "Aggiungi un contatto";
$a->strings["Enter the channel address"] = "Scrivi l'indirizzo del canale";
$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Per esempio: mario@pippo.it oppure http://pluto.com/barbara";
$a->strings["Notes"] = "Note";
+$a->strings["Save"] = "Salva";
$a->strings["Remove term"] = "Rimuovi termine";
$a->strings["Everything"] = "Tutto";
$a->strings["Archives"] = "Archivi";
@@ -353,13 +250,12 @@ $a->strings["photo/image"] = "foto/immagine";
$a->strings["Rate Me"] = "Valutami";
$a->strings["View Ratings"] = "Vedi le valutazioni ricevute";
$a->strings["Public Hubs"] = "Hub pubblici";
-$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
-$a->strings["Starts:"] = "Inizio:";
-$a->strings["Finishes:"] = "Fine:";
-$a->strings["Location:"] = "Luogo:";
-$a->strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
+$a->strings["Hubzilla Notification"] = "Notifica di Hubzilla";
+$a->strings["hubzilla"] = "Hubzilla";
+$a->strings["Thank You,"] = "Grazie,";
+$a->strings["%s Administrator"] = "L'amministratore di %s";
$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
-$a->strings["[Red:Notify] New mail received at %s"] = "[RedMatrix] Nuovo messaggio su %s";
+$a->strings["[Red:Notify] New mail received at %s"] = "[Hubzilla] Nuovo messaggio su %s";
$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s ti ha mandato un messaggio privato su %3\$s.";
$a->strings["%1\$s sent you %2\$s."] = "%1\$s ti ha mandato %2\$s.";
$a->strings["a private message"] = "un messaggio privato";
@@ -367,48 +263,58 @@ $a->strings["Please visit %s to view and/or reply to your private messages."] =
$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s[/zrl]";
$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%5\$s di %4\$s[/zrl]";
$a->strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s che hai creato[/zrl]";
-$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[RedMatrix] Nuovo commento di %2\$s alla conversazione #%1\$d";
+$a->strings["[Red:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla] Nuovo commento di %2\$s alla conversazione #%1\$d";
$a->strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s ha commentato un elemento che stavi seguendo.";
$a->strings["Please visit %s to view and/or reply to the conversation."] = "Visita %s per leggere o commentare la conversazione.";
-$a->strings["[Red:Notify] %s posted to your profile wall"] = "[RedMatrix] %s ha scritto sulla tua bacheca";
+$a->strings["[Red:Notify] %s posted to your profile wall"] = "[Hubzilla] %s ha scritto sulla tua bacheca";
$a->strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha scritto sulla bacheca del tuo profilo su %3\$s";
$a->strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s ha scritto sulla [zrl=%3\$s]tua bacheca[/zrl]";
-$a->strings["[Red:Notify] %s tagged you"] = "[RedMatrix] %s ti ha taggato";
+$a->strings["[Red:Notify] %s tagged you"] = "[Hubzilla] %s ti ha taggato";
$a->strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s ti ha taggato su %3\$s";
$a->strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]ti ha taggato[/zrl].";
-$a->strings["[Red:Notify] %1\$s poked you"] = "[RedMatrix] %1\$s ti ha mandato un poke";
+$a->strings["[Red:Notify] %1\$s poked you"] = "[Hubzilla] %1\$s ti ha mandato un poke";
$a->strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s ti ha mandato un poke su %3\$s";
$a->strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]ti ha mandato un poke[/zrl].";
-$a->strings["[Red:Notify] %s tagged your post"] = "[RedMatrix] %s ha taggato il tuo post";
-$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha taggato il tuo post su %3\$s";
-$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha taggato [zrl=%3\$s]il tuo post[/zrl]";
-$a->strings["[Red:Notify] Introduction received"] = "[RedMatrix] Hai una richiesta di amicizia";
+$a->strings["[Red:Notify] %s tagged your post"] = "[Hubzilla] %s ha taggato il tuo articolo";
+$a->strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha taggato il tuo articolo su %3\$s";
+$a->strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha taggato [zrl=%3\$s]il tuo articolo[/zrl]";
+$a->strings["[Red:Notify] Introduction received"] = "[Hubzilla] Hai una richiesta di amicizia";
$a->strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, hai ricevuto una richiesta di entrare in contatto da '%2\$s' su %3\$s";
$a->strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, hai ricevuto una [zrl=%2\$s]richiesta di entrare in contatto[/zrl] da %3\$s.";
$a->strings["You may visit their profile at %s"] = "Puoi visitare il suo profilo su %s";
$a->strings["Please visit %s to approve or reject the connection request."] = "Visita %s per approvare o rifiutare la richiesta di entrare in contatto.";
-$a->strings["[Red:Notify] Friend suggestion received"] = "[RedMatrix] Ti è stato suggerito un amico";
+$a->strings["[Red:Notify] Friend suggestion received"] = "[Hubzilla] Ti è stato suggerito un amico";
$a->strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, ti è stato suggerito un amico da '%2\$s' su %3\$s";
$a->strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, %4\$s ti [zrl=%2\$s]ha suggerito %3\$s[/zrl] come amico.";
$a->strings["Name:"] = "Nome:";
$a->strings["Photo:"] = "Foto:";
$a->strings["Please visit %s to approve or reject the suggestion."] = "Visita %s per approvare o rifiutare il suggerimento.";
-$a->strings["[Red:Notify]"] = "[RedMatrix]";
+$a->strings["[Red:Notify]"] = "[Hubzilla]";
+$a->strings["Frequently"] = "Frequentemente";
+$a->strings["Hourly"] = "Ogni ora";
+$a->strings["Twice daily"] = "Due volte al giorno";
+$a->strings["Daily"] = "Ogni giorno";
+$a->strings["Weekly"] = "Ogni settimana";
+$a->strings["Monthly"] = "Ogni mese";
+$a->strings["Friendica"] = "Friendica";
+$a->strings["OStatus"] = "OStatus";
+$a->strings["RSS/Atom"] = "RSS/Atom";
+$a->strings["Email"] = "Email";
+$a->strings["Diaspora"] = "Diaspora";
+$a->strings["Facebook"] = "Facebook";
+$a->strings["Zot!"] = "Zot!";
+$a->strings["LinkedIn"] = "LinkedIn";
+$a->strings["XMPP/IM"] = "XMPP/IM";
+$a->strings["MySpace"] = "MySpace";
$a->strings["No recipient provided."] = "Devi scegliere un destinatario.";
$a->strings["[no subject]"] = "[nessun titolo]";
$a->strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
-$a->strings["Stored post could not be verified."] = "Non è stato possibile verificare il post.";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
-$a->strings["Please choose"] = "La tua scelta";
-$a->strings["Agree"] = "Sono d'accordo";
-$a->strings["Disagree"] = "Non sono d'accordo";
-$a->strings["Abstain"] = "Mi astengo";
+$a->strings["Stored post could not be verified."] = "Non è stato possibile verificare l'articolo inserito.";
$a->strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
$a->strings["Channel location missing."] = "Manca l'indirizzo del canale.";
$a->strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
$a->strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
$a->strings["Protocol disabled."] = "Protocollo disabilitato.";
-$a->strings["Protocol blocked for this channel."] = "Protocollo bloccato per questo canale.";
$a->strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
$a->strings["local account not found."] = "l'account locale non è stato trovato.";
$a->strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
@@ -476,11 +382,97 @@ $a->strings["New window"] = "Nuova finestra";
$a->strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
$a->strings["User '%s' deleted"] = "Utente '%s' eliminato";
$a->strings["Attachments:"] = "Allegati:";
-$a->strings["\$Projectname event notification:"] = "Notifica evento \$Projectname:";
+$a->strings["Hubzilla event notification:"] = "Notifica eventi Hubzilla:";
+$a->strings["prev"] = "prec";
+$a->strings["first"] = "inizio";
+$a->strings["last"] = "fine";
+$a->strings["next"] = "succ";
+$a->strings["older"] = "più recenti";
+$a->strings["newer"] = "più nuovi";
+$a->strings["No connections"] = "Nessun contatto";
+$a->strings["%d Connection"] = array(
+ 0 => "%d contatto",
+ 1 => "%d contatti",
+);
+$a->strings["View Connections"] = "Elenco contatti";
+$a->strings["Search"] = "Cerca";
+$a->strings["poke"] = "poke";
+$a->strings["poked"] = "ha ricevuto un poke";
+$a->strings["ping"] = "ping";
+$a->strings["pinged"] = "ha ricevuto un ping";
+$a->strings["prod"] = "spintone";
+$a->strings["prodded"] = "ha ricevuto uno spintone";
+$a->strings["slap"] = "schiaffo";
+$a->strings["slapped"] = "ha ricevuto uno schiaffo";
+$a->strings["finger"] = "finger";
+$a->strings["fingered"] = "ha ricevuto un finger";
+$a->strings["rebuff"] = "rifiuto";
+$a->strings["rebuffed"] = "ha ricevuto un rifiuto";
+$a->strings["happy"] = "felice";
+$a->strings["sad"] = "triste";
+$a->strings["mellow"] = "calmo";
+$a->strings["tired"] = "stanco";
+$a->strings["perky"] = "vivace";
+$a->strings["angry"] = "arrabbiato";
+$a->strings["stupified"] = "stordito";
+$a->strings["puzzled"] = "confuso";
+$a->strings["interested"] = "attento";
+$a->strings["bitter"] = "amaro";
+$a->strings["cheerful"] = "allegro";
+$a->strings["alive"] = "vivace";
+$a->strings["annoyed"] = "seccato";
+$a->strings["anxious"] = "ansioso";
+$a->strings["cranky"] = "irritabile";
+$a->strings["disturbed"] = "turbato";
+$a->strings["frustrated"] = "frustrato";
+$a->strings["depressed"] = "in depressione";
+$a->strings["motivated"] = "motivato";
+$a->strings["relaxed"] = "rilassato";
+$a->strings["surprised"] = "sorpreso";
+$a->strings["Monday"] = "lunedì";
+$a->strings["Tuesday"] = "martedì";
+$a->strings["Wednesday"] = "mercoledì";
+$a->strings["Thursday"] = "giovedì";
+$a->strings["Friday"] = "venerdì";
+$a->strings["Saturday"] = "sabato";
+$a->strings["Sunday"] = "domenica";
+$a->strings["January"] = "gennaio";
+$a->strings["February"] = "febbraio";
+$a->strings["March"] = "marzo";
+$a->strings["April"] = "aprile";
+$a->strings["May"] = "maggio";
+$a->strings["June"] = "giugno";
+$a->strings["July"] = "luglio";
+$a->strings["August"] = "agosto";
+$a->strings["September"] = "settembre";
+$a->strings["October"] = "ottobre";
+$a->strings["November"] = "novembre";
+$a->strings["December"] = "dicembre";
+$a->strings["unknown.???"] = "sconosciuto???";
+$a->strings["bytes"] = "byte";
+$a->strings["remove category"] = "rimuovi la categoria";
+$a->strings["remove from file"] = "rimuovi dal file";
+$a->strings["Click to open/close"] = "Clicca per aprire/chiudere";
+$a->strings["Link to Source"] = "Link al sito d'origine";
+$a->strings["default"] = "predefinito";
+$a->strings["Page layout"] = "Layout della pagina";
+$a->strings["You can create your own with the layouts tool"] = "Con gli strumenti di design puoi creare il tuo";
+$a->strings["Page content type"] = "Tipo di contenuto della pagina";
+$a->strings["Select an alternate language"] = "Seleziona una lingua diversa";
+$a->strings["photo"] = "la foto";
+$a->strings["event"] = "l'evento";
+$a->strings["status"] = "il messaggio di stato";
+$a->strings["comment"] = "il commento";
+$a->strings["activity"] = "l'attività";
+$a->strings["Design Tools"] = "Strumenti di design";
+$a->strings["Blocks"] = "Riquadri";
+$a->strings["Menus"] = "Menù";
+$a->strings["Layouts"] = "Layout";
+$a->strings["Pages"] = "Pagine";
$a->strings["Logout"] = "Esci";
$a->strings["End this session"] = "Chiudi questa sessione";
$a->strings["Home"] = "Bacheca";
-$a->strings["Your posts and conversations"] = "I tuoi post e conversazioni";
+$a->strings["Your posts and conversations"] = "I tuoi articoli e conversazioni";
$a->strings["View Profile"] = "Profilo";
$a->strings["Your profile page"] = "Il tuo profilo";
$a->strings["Edit Profiles"] = "Modifica i profili";
@@ -499,8 +491,8 @@ $a->strings["Your webpages"] = "Le tue pagine web";
$a->strings["Login"] = "Accedi";
$a->strings["Sign in"] = "Accedi";
$a->strings["%s - click to logout"] = "%s - clicca per uscire";
-$a->strings["Remote authentication"] = "Accedi dal tuo hub";
-$a->strings["Click to authenticate to your home hub"] = "Accedi tramite il tuo hub principale";
+$a->strings["Remote authentication"] = "Autenticazione magica dal tuo server";
+$a->strings["Click to authenticate to your home hub"] = "Clicca per autenticarti sul tuo server principale";
$a->strings["Home Page"] = "Bacheca";
$a->strings["Register"] = "Iscriviti";
$a->strings["Create an account"] = "Crea un account";
@@ -510,7 +502,7 @@ $a->strings["Applications, utilities, links, games"] = "Applicazioni, utilità,
$a->strings["Search site content"] = "Cerca nel sito";
$a->strings["Directory"] = "Elenco pubblico";
$a->strings["Channel Directory"] = "Elenco pubblico canali";
-$a->strings["Matrix"] = "RedMatrix";
+$a->strings["Matrix"] = "Hubzilla";
$a->strings["Your matrix"] = "La tua rete";
$a->strings["Mark all matrix notifications seen"] = "Segna come lette le notifiche della tua rete";
$a->strings["Channel Home"] = "Bacheca del canale";
@@ -552,8 +544,33 @@ $a->strings["public profile"] = "profilo pubblico";
$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiato %2\$s in &ldquo;%3\$s&rdquo;";
$a->strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s ";
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s.";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
-$a->strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e i post normali";
+$a->strings["Image/photo"] = "Immagine";
+$a->strings["Encrypted content"] = "Contenuto crittografato";
+$a->strings["Install design element: "] = "Installa il componente di design:";
+$a->strings["QR code"] = "QR code";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s";
+$a->strings["post"] = "l'articolo";
+$a->strings["Different viewers will see this text differently"] = "Ad altri questo testo potrebbe apparire in modo differente";
+$a->strings["$1 spoiler"] = "$1 spoiler";
+$a->strings["$1 wrote:"] = "$1 ha scritto:";
+$a->strings["Permission denied"] = "Permesso negato";
+$a->strings["(Unknown)"] = "(Sconosciuto)";
+$a->strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
+$a->strings["Visible to you only."] = "Visibile solo a te.";
+$a->strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
+$a->strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
+$a->strings["Visible to anybody on %s."] = "Visibile a tutti in %s.";
+$a->strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
+$a->strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
+$a->strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
+$a->strings["Item not found."] = "Elemento non trovato.";
+$a->strings["Permission denied."] = "Permesso negato.";
+$a->strings["Collection not found."] = "Insieme di canali non trovato.";
+$a->strings["Collection is empty."] = "L'insieme di canali è vuoto.";
+$a->strings["Collection: %s"] = "Insieme: %s";
+$a->strings["Connection: %s"] = "Contatto: %s";
+$a->strings["Connection not found."] = "Contatto non trovato.";
+$a->strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e articoli normali";
$a->strings["Can view my default channel profile"] = "Può vedere il profilo predefinito del canale";
$a->strings["Can view my photo albums"] = "Può vedere i miei album fotografici";
$a->strings["Can view my connections"] = "Può vedere i miei contatti";
@@ -561,17 +578,17 @@ $a->strings["Can view my file storage"] = "Può vedere i miei file condivisi";
$a->strings["Can view my webpages"] = "Può vedere le mie pagine web";
$a->strings["Can send me their channel stream and posts"] = "È tra i canali che seguo";
$a->strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
-$a->strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei post";
+$a->strings["Can comment on or like my posts"] = "Può commentare o aggiungere \"mi piace\" ai miei articoli";
$a->strings["Can send me private mail messages"] = "Può inviarmi messaggi privati";
$a->strings["Can post photos to my photo albums"] = "Può aggiungere foto ai miei album";
$a->strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\"";
-$a->strings["Profiles and things other than posts/comments"] = "Profili e tutto ciò che non è post o commenti";
-$a->strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare post a tutti i contatti del canale tramite una @menzione";
+$a->strings["Profiles and things other than posts/comments"] = "Profili e tutto ciò che non è articoli e commenti";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare articoli a tutti i contatti del canale tramite una @menzione";
$a->strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
$a->strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
$a->strings["Can write to my file storage"] = "Può scrivere sul mio archivio file";
$a->strings["Can edit my webpages"] = "Può modificare le mie pagine web";
-$a->strings["Can source my public posts in derived channels"] = "Può usare i miei post pubblici per creare canali derivati";
+$a->strings["Can source my public posts in derived channels"] = "Può usare i miei articoli pubblici per creare canali derivati";
$a->strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
$a->strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
@@ -587,6 +604,7 @@ $a->strings["Group Repository"] = "Repository di gruppo";
$a->strings["Other"] = "Altro";
$a->strings["Custom/Expert Mode"] = "Personalizzazione per esperti";
$a->strings["channel"] = "canale";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s adesso è connesso con %2\$s";
$a->strings["%1\$s poked %2\$s"] = "%1\$s ha mandato un poke a %2\$s";
@@ -660,7 +678,7 @@ $a->strings["Title (optional)"] = "Titolo (opzionale)";
$a->strings["Categories (optional, comma-separated list)"] = "Categorie (lista separata da virgole)";
$a->strings["Permission settings"] = "Impostazioni permessi";
$a->strings["permissions"] = "permessi";
-$a->strings["Public post"] = "Post pubblico";
+$a->strings["Public post"] = "Articolo pubblico";
$a->strings["Example: bob@example.com, mary@example.com"] = "Per esempio: mario@esempio.com, simona@esempio.com";
$a->strings["Set expiration date"] = "Data di scadenza";
$a->strings["OK"] = "OK";
@@ -669,17 +687,17 @@ $a->strings["Discover"] = "Scopri";
$a->strings["Imported public streams"] = "Contenuti pubblici importati";
$a->strings["Commented Order"] = "Ultimi commenti";
$a->strings["Sort by Comment Date"] = "Per data del commento";
-$a->strings["Posted Order"] = "Ultimi post";
+$a->strings["Posted Order"] = "Ultimi articoli";
$a->strings["Sort by Post Date"] = "Per data di creazione";
-$a->strings["Posts that mention or involve you"] = "Post che ti riguardano o ti menzionano";
+$a->strings["Posts that mention or involve you"] = "Articoli che ti riguardano o ti menzionano";
$a->strings["New"] = "Novità";
$a->strings["Activity Stream - by date"] = "Elenco attività - per data";
$a->strings["Starred"] = "Preferiti";
-$a->strings["Favourite Posts"] = "Post preferiti";
+$a->strings["Favourite Posts"] = "Articoli preferiti";
$a->strings["Spam"] = "Spam";
-$a->strings["Posts flagged as SPAM"] = "Post marcati come spam";
+$a->strings["Posts flagged as SPAM"] = "Articoli marcati come spam";
$a->strings["Channel"] = "Canale";
-$a->strings["Status Messages and Posts"] = "Post e messaggi di stato";
+$a->strings["Status Messages and Posts"] = "Articoli e messaggi di stato";
$a->strings["About"] = "Informazioni";
$a->strings["Profile Details"] = "Dettagli del profilo";
$a->strings["Photo Albums"] = "Album foto";
@@ -711,23 +729,11 @@ $a->strings["__ctx:noun__ Abstain"] = array(
0 => "Astenuto",
1 => "Astenuti",
);
-$a->strings["Permission denied"] = "Permesso negato";
-$a->strings["(Unknown)"] = "(Sconosciuto)";
-$a->strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
-$a->strings["Visible to you only."] = "Visibile solo a te.";
-$a->strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
-$a->strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
-$a->strings["Visible to anybody on %s."] = "Visibile a tutti in %s.";
-$a->strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
-$a->strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
-$a->strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
-$a->strings["Item not found."] = "Elemento non trovato.";
-$a->strings["Permission denied."] = "Permesso negato.";
-$a->strings["Collection not found."] = "Insieme di canali non trovato.";
-$a->strings["Collection is empty."] = "L'insieme di canali è vuoto.";
-$a->strings["Collection: %s"] = "Insieme: %s";
-$a->strings["Connection: %s"] = "Contatto: %s";
-$a->strings["Connection not found."] = "Contatto non trovato.";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
+$a->strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
+$a->strings["Unable to process image"] = "Impossibile elaborare l'immagine";
+$a->strings["Photo storage failed."] = "Impossibile caricare la foto.";
+$a->strings["Upload New Photos"] = "Carica nuove foto";
$a->strings["Invalid data packet"] = "Dati non validi";
$a->strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
$a->strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
@@ -895,35 +901,16 @@ $a->strings["Random Channel"] = "Canale casuale";
$a->strings["Invite"] = "Invita";
$a->strings["Features"] = "Funzionalità";
$a->strings["Language"] = "Lingua";
-$a->strings["Post"] = "Post";
+$a->strings["Post"] = "Articolo";
$a->strings["Profile Photo"] = "Foto del profilo";
$a->strings["Update"] = "Aggiorna";
$a->strings["Install"] = "Installa";
$a->strings["Purchase"] = "Acquista";
-$a->strings["Image/photo"] = "Immagine";
-$a->strings["Encrypted content"] = "Contenuto crittografato";
-$a->strings["Install %s element: "] = "Installa l'elemento %s:";
-$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari.";
-$a->strings["webpage"] = "pagina web";
-$a->strings["layout"] = "layout";
-$a->strings["block"] = "riquadro";
-$a->strings["menu"] = "menu";
-$a->strings["QR code"] = "QR code";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s";
-$a->strings["post"] = "il post";
-$a->strings["Different viewers will see this text differently"] = "Ad altri questo testo potrebbe apparire in modo differente";
-$a->strings["$1 spoiler"] = "$1 spoiler";
-$a->strings["$1 wrote:"] = "$1 ha scritto:";
$a->strings["Missing room name"] = "Area chat senza nome";
$a->strings["Duplicate room name"] = "Il nome dell'area chat è duplicato";
$a->strings["Invalid room specifier."] = "Il nome dell'area chat non è valido.";
$a->strings["Room not found."] = "Area chat non trovata.";
$a->strings["Room is full"] = "L'area chat è al completo";
-$a->strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
-$a->strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
-$a->strings["Unable to process image"] = "Impossibile elaborare l'immagine";
-$a->strings["Photo storage failed."] = "Impossibile caricare la foto.";
-$a->strings["Upload New Photos"] = "Carica nuove foto";
$a->strings["Some blurb about what to do when you're new here"] = "Qualche suggerimento per i nuovi utenti su cosa fare";
$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi.";
$a->strings["Create a new channel"] = "Crea un nuovo canale";
@@ -934,30 +921,149 @@ $a->strings["Make Default"] = "Rendi predefinito";
$a->strings["%d new messages"] = "%d nuovi messaggi";
$a->strings["%d new introductions"] = "%d nuove richieste di entrare in contatto";
$a->strings["Delegated Channels"] = "Canali delegati";
-$a->strings["Public access denied."] = "Accesso pubblico negato.";
-$a->strings["%d rating"] = array(
- 0 => "%d valutazione",
- 1 => "%d valutazioni",
-);
-$a->strings["Gender: "] = "Sesso:";
-$a->strings["Status: "] = "Stato:";
-$a->strings["Homepage: "] = "Homepage:";
-$a->strings["Description:"] = "Descrizione:";
-$a->strings["Public Forum:"] = "Forum pubblico:";
-$a->strings["Keywords: "] = "Parole chiave:";
-$a->strings["Don't suggest"] = "Non fornire suggerimenti";
-$a->strings["Common connections:"] = "Contatti in comune:";
-$a->strings["Global Directory"] = "Elenco globale dei canali";
-$a->strings["Local Directory"] = "Elenco canali su questo server";
-$a->strings["Finding:"] = "Ricerca:";
-$a->strings["next page"] = "pagina successiva";
-$a->strings["previous page"] = "pagina precedente";
-$a->strings["Sort options"] = "Opzioni di ordinamento";
-$a->strings["Alphabetic"] = "Alfabetico";
-$a->strings["Reverse Alphabetic"] = "Alfabetico inverso";
-$a->strings["Newest to Oldest"] = "Prima i più recenti";
-$a->strings["Oldest to Newest"] = "Prima i più vecchi";
-$a->strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto).";
+$a->strings["Name is required"] = "Il nome è obbligatorio";
+$a->strings["Key and Secret are required"] = "Key e Secret sono richiesti";
+$a->strings["Diaspora Policy Settings updated."] = "Le regole per Diaspora sono state aggiornate.";
+$a->strings["Passwords do not match. Password unchanged."] = "Le password non corrispondono. Password non cambiata.";
+$a->strings["Empty passwords are not allowed. Password unchanged."] = "Le password non possono essere vuote. Password non cambiata.";
+$a->strings["Password changed."] = "Password cambiata.";
+$a->strings["Password update failed. Please try again."] = "Modifica password fallita. Prova ancora.";
+$a->strings["Not valid email."] = "Email non valida.";
+$a->strings["Protected email address. Cannot change to that email."] = "È un indirizzo email riservato. Non puoi sceglierlo.";
+$a->strings["System failure storing new email. Please try again."] = "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore.";
+$a->strings["Settings updated."] = "Impostazioni aggiornate.";
+$a->strings["No"] = "No";
+$a->strings["Yes"] = "Si";
+$a->strings["Add application"] = "Aggiungi una app";
+$a->strings["Name of application"] = "Nome dell'applicazione";
+$a->strings["Consumer Key"] = "Consumer Key";
+$a->strings["Automatically generated - change if desired. Max length 20"] = "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20";
+$a->strings["Consumer Secret"] = "Consumer Secret";
+$a->strings["Redirect"] = "Redirect";
+$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI ridirezionato - lasciare bianco se non richiesto specificamente dall'applicazione.";
+$a->strings["Icon url"] = "Url icona";
+$a->strings["Optional"] = "Opzionale";
+$a->strings["You can't edit this application."] = "Non puoi modificare questa applicazione.";
+$a->strings["Connected Apps"] = "App connesse";
+$a->strings["Client key starts with"] = "La client key inizia con";
+$a->strings["No name"] = "Nessun nome";
+$a->strings["Remove authorization"] = "Revoca l'autorizzazione";
+$a->strings["No feature settings configured"] = "Non hai componenti aggiuntivi da personalizzare";
+$a->strings["Feature/Addon Settings"] = "Impostazioni dei componenti aggiuntivi";
+$a->strings["Settings for the built-in Diaspora emulator"] = "Interconnessione con Diaspora";
+$a->strings["Allow any Diaspora member to comment on your public posts"] = "Permetti a tutti gli utenti di Diaspora di commentare i tuoi post pubblici";
+$a->strings["Diaspora Policy Settings"] = "Regole per Diaspora";
+$a->strings["Prevent your hashtags from being redirected to other sites"] = "Impedisci che i tuoi #tag puntino su altri siti";
+$a->strings["Account Settings"] = "Il tuo account";
+$a->strings["Enter New Password:"] = "Inserisci la nuova password:";
+$a->strings["Confirm New Password:"] = "Conferma la nuova password:";
+$a->strings["Leave password fields blank unless changing"] = "Lascia questi campi in bianco per non cambiare la password";
+$a->strings["Email Address:"] = "Indirizzo email:";
+$a->strings["Remove Account"] = "Elimina l'account";
+$a->strings["Remove this account including all its channels"] = "Elimina questo account e tutti i suoi canali";
+$a->strings["Off"] = "Off";
+$a->strings["On"] = "On";
+$a->strings["Additional Features"] = "Funzionalità opzionali";
+$a->strings["Connector Settings"] = "Impostazioni del connettore";
+$a->strings["No special theme for mobile devices"] = "Nessun tema per dispositivi mobili";
+$a->strings["%s - (Experimental)"] = "%s - (Sperimentale)";
+$a->strings["mobile"] = "mobile";
+$a->strings["Display Settings"] = "Aspetto";
+$a->strings["Display Theme:"] = "Tema per schermi medio grandi:";
+$a->strings["Mobile Theme:"] = "Tema per dispositivi mobili:";
+$a->strings["Enable user zoom on mobile devices"] = "Attiva la possibilità di fare zoom sui dispositivi mobili";
+$a->strings["Update browser every xx seconds"] = "Aggiorna il browser ogni x secondi";
+$a->strings["Minimum of 10 seconds, no maximum"] = "Minimo 10 secondi, nessun limite massimo";
+$a->strings["Maximum number of conversations to load at any time:"] = "Massimo numero di conversazioni da mostrare ogni volta:";
+$a->strings["Maximum of 100 items"] = "Massimo 100";
+$a->strings["Show emoticons (smilies) as images"] = "Mostra le faccine (smilies) come immagini";
+$a->strings["Link post titles to source"] = "Il link del titolo di un articolo porta al sito originale";
+$a->strings["System Page Layout Editor - (advanced)"] = "Modifica i layout di sistema (avanzato)";
+$a->strings["Use blog/list mode on channel page"] = "Mostra il canale nella modalità blog";
+$a->strings["(comments displayed separately)"] = "(i commenti sono mostrati separatamente)";
+$a->strings["Use blog/list mode on matrix page"] = "Mostra la tua rete in modalità blog";
+$a->strings["Channel page max height of content (in pixels)"] = "Altezza massima dei contenuti del canale (in pixel)";
+$a->strings["click to expand content exceeding this height"] = "dovrai cliccare per mostrare i contenuti di dimensioni maggiori";
+$a->strings["Matrix page max height of content (in pixels)"] = "Altezza massima dei contenuti della tua rete (in pixel)";
+$a->strings["Nobody except yourself"] = "Nessuno tranne te";
+$a->strings["Only those you specifically allow"] = "Solo chi riceve il mio permesso";
+$a->strings["Approved connections"] = "Contatti approvati";
+$a->strings["Any connections"] = "Tutti i contatti";
+$a->strings["Anybody on this website"] = "Chiunque su questo sito";
+$a->strings["Anybody in this network"] = "Chiunque su Red";
+$a->strings["Anybody authenticated"] = "Chiunque sia autenticato";
+$a->strings["Anybody on the internet"] = "Chiunque su internet";
+$a->strings["Publish your default profile in the network directory"] = "Mostra il mio profilo predefinito nell'elenco pubblico dei canali";
+$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Vuoi essere suggerito come amico ai nuovi membri?";
+$a->strings["or"] = "o";
+$a->strings["Your channel address is"] = "L'indirizzo del tuo canale è";
+$a->strings["Channel Settings"] = "Impostazioni del canale";
+$a->strings["Basic Settings"] = "Impostazioni di base";
+$a->strings["Your Timezone:"] = "Il tuo fuso orario:";
+$a->strings["Default Post Location:"] = "Località predefinita:";
+$a->strings["Geographical location to display on your posts"] = "Posizione geografica da mostrare sui tuoi post";
+$a->strings["Use Browser Location:"] = "Usa la località rilevata dal browser:";
+$a->strings["Adult Content"] = "Contenuto per adulti";
+$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)";
+$a->strings["Security and Privacy Settings"] = "Impostazioni di sicurezza e privacy";
+$a->strings["Your permissions are already configured. Click to view/adjust"] = "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli";
+$a->strings["Hide my online presence"] = "Nascondi la mia presenza online";
+$a->strings["Prevents displaying in your profile that you are online"] = "Evita che sul tuo profilo compaia la tua presenza online";
+$a->strings["Simple Privacy Settings:"] = "Impostazioni di privacy semplificate";
+$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>";
+$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>";
+$a->strings["Private - <em>default private, never open or public</em>"] = "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>";
+$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>";
+$a->strings["Allow others to tag your posts"] = "Permetti ad altri di taggare i tuoi articoli";
+$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti";
+$a->strings["Advanced Privacy Settings"] = "Impostazioni di privacy avanzate";
+$a->strings["Expire other channel content after this many days"] = "Giorni dopo cui mettere in scadenza gli altri contenuti del canale";
+$a->strings["0 or blank prevents expiration"] = "Lascia vuoto oppure 0 per non impostare scadenze";
+$a->strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
+$a->strings["May reduce spam activity"] = "Serve e ridurre lo spam";
+$a->strings["Default Post Permissions"] = "Permessi predefiniti per gli articoli";
+$a->strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
+$a->strings["Channel permissions category:"] = "Categorie di permessi dei canali:";
+$a->strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
+$a->strings["Useful to reduce spamming"] = "Serve e ridurre lo spam";
+$a->strings["Notification Settings"] = "Impostazioni di notifica";
+$a->strings["By default post a status message when:"] = "Pubblica un messaggio di stato quando:";
+$a->strings["accepting a friend request"] = "accetto una nuova amicizia";
+$a->strings["joining a forum/community"] = "entro a far parte di un forum";
+$a->strings["making an <em>interesting</em> profile change"] = "faccio un cambiamento <em>interessante</em> al mio profilo";
+$a->strings["Send a notification email when:"] = "Invia una email di notifica quando:";
+$a->strings["You receive a connection request"] = "Ricevi una richiesta di entrare in contatto";
+$a->strings["Your connections are confirmed"] = "I tuoi contatti sono confermati";
+$a->strings["Someone writes on your profile wall"] = "Qualcuno scrive sulla tua bacheca";
+$a->strings["Someone writes a followup comment"] = "Qualcuno scrive un commento a un tuo articolo";
+$a->strings["You receive a private message"] = "Ricevi un messaggio privato";
+$a->strings["You receive a friend suggestion"] = "Ti viene suggerito un amico";
+$a->strings["You are tagged in a post"] = "Sei taggato in un articolo";
+$a->strings["You are poked/prodded/etc. in a post"] = "Ricevi un poke in un articolo";
+$a->strings["Show visual notifications including:"] = "Mostra queste notifiche a schermo:";
+$a->strings["Unseen matrix activity"] = "Nuove attività nella rete";
+$a->strings["Unseen channel activity"] = "Novità nei canali";
+$a->strings["Unseen private messages"] = "Nuovi messaggi privati";
+$a->strings["Recommended"] = "Consigliato";
+$a->strings["Upcoming events"] = "Prossimi eventi";
+$a->strings["Events today"] = "Eventi di oggi";
+$a->strings["Upcoming birthdays"] = "Prossimi compleanni";
+$a->strings["Not available in all themes"] = "Non disponibile in tutti i temi";
+$a->strings["System (personal) notifications"] = "Notifiche personali dal sistema";
+$a->strings["System info messages"] = "Notifiche di sistema";
+$a->strings["System critical alerts"] = "Avvisi critici di sistema";
+$a->strings["New connections"] = "Nuovi contatti";
+$a->strings["System Registrations"] = "Registrazioni";
+$a->strings["Also show new wall posts, private messages and connections under Notices"] = "Mostra negli avvisi anche i nuovi articoli, i messaggi privati e i nuovi contatti";
+$a->strings["Notify me of events this many days in advance"] = "Giorni di anticipo per notificare gli eventi";
+$a->strings["Must be greater than 0"] = "Maggiore di 0";
+$a->strings["Advanced Account/Page Type Settings"] = "Impostazioni avanzate";
+$a->strings["Change the behaviour of this account for special situations"] = "Cambia il funzionamento di questo account per necessità particolari";
+$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)";
+$a->strings["Miscellaneous Settings"] = "Impostazioni varie";
+$a->strings["Personal menu to display in your channel pages"] = "Menu personale da mostrare sulle pagine del tuo canale";
+$a->strings["Remove Channel"] = "Elimina questo canale";
+$a->strings["Remove this channel."] = "Elimina questo canale.";
$a->strings["Xchan Lookup"] = "Ricerca canale";
$a->strings["Lookup xchan beginning with (or webbie): "] = "Cerca un canale (o un webbie) che inizia per:";
$a->strings["Not found."] = "Non trovato.";
@@ -965,7 +1071,6 @@ $a->strings["Authorize application connection"] = "Autorizza la app";
$a->strings["Return to your app and insert this Securty Code:"] = "Torna alla app e inserisci questo codice di sicurezza:";
$a->strings["Please login to continue."] = "Accedi al sito per continuare.";
$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
-$a->strings["Page Title"] = "Titolo della pagina";
$a->strings["Channel added."] = "Canale aggiunto.";
$a->strings["Tag removed"] = "Tag rimosso";
$a->strings["Remove Item Tag"] = "Rimuovi il tag";
@@ -996,6 +1101,8 @@ $a->strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine del
$a->strings["Add Thing to your Profile"] = "Aggiungi l'Oggetto al tuo profilo";
$a->strings["Item not available."] = "Elemento non disponibile.";
$a->strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s";
+$a->strings["Hubzilla - &quot;The Network&quot;"] = "Hubzilla - &quot;La tua rete&quot;";
+$a->strings["Welcome to %s"] = "%s ti dà il benvenuto";
$a->strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
$a->strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Ricarica la pagina con shift+F5 o cancella la cache del browser se la nuova foto non viene mostrata immediatamente.";
@@ -1005,7 +1112,6 @@ $a->strings["Photo not available."] = "Foto non disponibile.";
$a->strings["Upload File:"] = "Carica un file:";
$a->strings["Select a profile:"] = "Seleziona un profilo:";
$a->strings["Upload Profile Photo"] = "Carica la foto del profilo";
-$a->strings["or"] = "o";
$a->strings["skip this step"] = "salta questo passaggio";
$a->strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
$a->strings["Crop Image"] = "Ritaglia immagine";
@@ -1019,7 +1125,7 @@ $a->strings["Channel not found."] = "Canale non trovato.";
$a->strings["Page not found."] = "Pagina non trovata.";
$a->strings["Like/Dislike"] = "Mi piace/Non mi piace";
$a->strings["This action is restricted to members."] = "Questa funzionalità è riservata agli iscritti.";
-$a->strings["Please <a href=\"rmagic\">login with your \$Projectname ID</a> or <a href=\"register\">register as a new \$Projectname member</a> to continue."] = "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo \$Projectname</a> o <a href=\"register\">registrarti come nuovo utente \$Projectname</a>.";
+$a->strings["Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a href=\"register\">register as a new Redmatrix.member</a> to continue."] = "Per favore <a href=\"rmagic\">accedi con il tuo identificativo Hubzilla</a> o <a href=\"register\">registrati su Hubzilla</a> per continuare.";
$a->strings["Invalid request."] = "Richiesta non valida.";
$a->strings["thing"] = "Oggetto";
$a->strings["Channel unavailable."] = "Canale non trovato.";
@@ -1032,8 +1138,6 @@ $a->strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s non
$a->strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s forse partecipa";
$a->strings["Action completed."] = "Comando completato.";
$a->strings["Thank you."] = "Grazie.";
-$a->strings["Calendar entries imported."] = "Le voci del calendario sono state importate.";
-$a->strings["No calendar entries found."] = "Non sono state trovate voci del calendario.";
$a->strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio.";
$a->strings["Unable to generate preview."] = "Impossibile creare un'anteprima.";
$a->strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
@@ -1041,7 +1145,6 @@ $a->strings["Event not found."] = "Evento non trovato.";
$a->strings["l, F j"] = "l j F";
$a->strings["Edit event"] = "Modifica l'evento";
$a->strings["Delete event"] = "Elimina l'evento";
-$a->strings["calendar"] = "calendario";
$a->strings["Create New Event"] = "Crea un nuovo evento";
$a->strings["Previous"] = "Precendente";
$a->strings["Next"] = "Successivo";
@@ -1056,11 +1159,12 @@ $a->strings["Finish date/time is not known or not relevant"] = "La data/ora di f
$a->strings["Event Finishes:"] = "Fine:";
$a->strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante per eventi che avvengono in base all'orario di un luogo particolare.";
+$a->strings["Description:"] = "Descrizione:";
$a->strings["Title:"] = "Titolo:";
$a->strings["Share this event"] = "Condividi questo evento";
$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
$a->strings["Public Sites"] = "Siti pubblici";
-$a->strings["The listed sites allow public registration for the \$Projectname network. All sites in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "I siti elencati permettono la registrazione libera sulla rete \$Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco.";
+$a->strings["The listed sites allow public registration into the Hubzilla. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Gli indirizzi elencati permettono la registrazione su Hubzilla. Tutti i siti di questa rete sono interconnessi, quindi essere registrati su uno è come essere registrati ovunque. Alcuni potrebbero richiedere un'iscrizione a pagamento o prevedere diverse tipologie di abbonamento. Eventualmente potrai trovare maggiori informazioni visitando ciascun sito.";
$a->strings["Rate this hub"] = "Valuta questo hub";
$a->strings["Site URL"] = "URL del sito";
$a->strings["Access Type"] = "Tipo di accesso";
@@ -1069,8 +1173,8 @@ $a->strings["Location"] = "Posizione geografica";
$a->strings["View hub ratings"] = "Vedi le valutazioni del hub";
$a->strings["Rate"] = "Valuta";
$a->strings["View ratings"] = "Vedi le valutazioni";
-$a->strings["Edit post"] = "Modifica post";
-$a->strings["\$Projectname channel"] = "Canale \$Projectname";
+$a->strings["Edit post"] = "Modifica articolo";
+$a->strings["Hubzilla channel"] = "Canale Hubzilla";
$a->strings["Collection created."] = "L'insieme di canali è stato creato.";
$a->strings["Could not create collection."] = "Impossibile creare l'insieme.";
$a->strings["Collection updated."] = "Insieme aggiornato.";
@@ -1086,30 +1190,96 @@ $a->strings["Click on a channel to add or remove."] = "Clicca su un canale per a
$a->strings["Version %s"] = "Versione %s";
$a->strings["Installed plugins/addons/apps:"] = "App e componenti installati:";
$a->strings["No installed plugins/addons/apps"] = "Nessuna app o componente installato";
-$a->strings["\$Projectname"] = "\$Projectname";
-$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Questo è un hub di \$Projectname - una rete cooperativa e decentralizzata di siti ad elevata privacy. ";
+$a->strings["Red"] = "Hubzilla";
+$a->strings["This is a hub of hubzilla - a global cooperative network of decentralized privacy enhanced websites."] = "Questo è un hub di Hubzilla - una rete cooperativa e decentralizzata di siti ad elevata privacy. ";
$a->strings["Tag: "] = "Tag: ";
$a->strings["Last background fetch: "] = "Ultima acquisizione:";
$a->strings["Running at web location"] = "In esecuzione sull'indirizzo web";
-$a->strings["Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more about \$Projectname."] = "Visita <a href=\"https://redmatrix.me\">RedMatrix.me</a> per scoprire di più su \$Projectname.";
+$a->strings["Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more about the Hubzilla."] = "Visita <a href=\"https://redmatrix.me\">Redmatrix.me</a> per scoprire cosa è Hubzilla.";
$a->strings["Bug reports and issues: please visit"] = "Per segnalare bug e problemi: visita";
-$a->strings["\$projectname issues"] = "Problematiche note su \$projectname";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com";
+$a->strings["Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot com"] = "Per consigli, ringraziamenti, ecc. - scrivi a \"hubzilla\" at librelist - dot com";
$a->strings["Site Administrators"] = "Amministratori del sito";
-$a->strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
-$a->strings["Empty post discarded."] = "Il post vuoto è stato ignorato.";
-$a->strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale.";
-$a->strings["System error. Post not saved."] = "Errore di sistema. Post non salvato.";
-$a->strings["Unable to obtain post information from database."] = "Impossibile caricare il post dal database.";
-$a->strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale.";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
-$a->strings["No such group"] = "Impossibile trovare l'insieme";
-$a->strings["No such channel"] = "Canale sconosciuto";
-$a->strings["Search Results For:"] = "Cerca risultati con:";
-$a->strings["Collection is empty"] = "L'insieme di canali è vuoto";
-$a->strings["Collection: "] = "Insieme:";
-$a->strings["Connection: "] = "Contatto:";
-$a->strings["Invalid connection."] = "Contatto non valido.";
+$a->strings["Help:"] = "Guida:";
+$a->strings["Not Found"] = "Non disponibile";
+$a->strings["Hubzilla Server - Setup"] = "Hubzilla Server - Installazione";
+$a->strings["Could not connect to database."] = " Impossibile connettersi al database.";
+$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS.";
+$a->strings["Could not create table."] = "Impossibile creare le tabelle.";
+$a->strings["Your site database has been installed."] = "Il database del sito è stato installato.";
+$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db.";
+$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'.";
+$a->strings["System check"] = "Verifica del sistema";
+$a->strings["Check again"] = "Verifica di nuovo";
+$a->strings["Database connection"] = "Connessione al database";
+$a->strings["In order to install Hubzilla we need to know how to connect to your database."] = "Per installare Hubzilla è necessario conoscere i parametri di connessione al database.";
+$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni.";
+$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare.";
+$a->strings["Database Server Name"] = "Server del database";
+$a->strings["Default is localhost"] = "'localhost' è il predefinito";
+$a->strings["Database Port"] = "Port del database";
+$a->strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard";
+$a->strings["Database Login Name"] = "Utente database";
+$a->strings["Database Login Password"] = "Password utente database";
+$a->strings["Database Name"] = "Nome database";
+$a->strings["Database Type"] = "Tipo database";
+$a->strings["Site administrator email address"] = "Indirizzo email dell'amministratore del sito";
+$a->strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web.";
+$a->strings["Website URL"] = "URL completo del sito";
+$a->strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https).";
+$a->strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo sito web";
+$a->strings["Site settings"] = "Impostazioni del sito";
+$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron.";
+$a->strings["PHP executable path"] = "Path del comando PHP";
+$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione.";
+$a->strings["Command line PHP"] = "PHP da riga di comando";
+$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".";
+$a->strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi.";
+$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione";
+$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
+$a->strings["Generate encryption keys"] = "Genera chiavi di criptazione";
+$a->strings["libCurl PHP module"] = "modulo PHP libCurl";
+$a->strings["GD graphics PHP module"] = "modulo PHP GD graphics";
+$a->strings["OpenSSL PHP module"] = "modulo PHP OpenSSL";
+$a->strings["mysqli or postgres PHP module"] = "modulo PHP per mysqli oppure prostgres";
+$a->strings["mb_string PHP module"] = "modulo PHP mb_string";
+$a->strings["mcrypt PHP module"] = "modulo PHP mcrypt";
+$a->strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite";
+$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato";
+$a->strings["proc_open"] = "proc_open";
+$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini";
+$a->strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato.";
+$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.";
+$a->strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato.";
+$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato";
+$a->strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato.";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "Errore: il modulo PHP mcrypt è richiesto ma non installato.";
+$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo.";
+$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi.";
+$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla.";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
+$a->strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
+$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP.";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di Hubzilla.";
+$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione da parte di un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
+$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene.";
+$a->strings["%s is writable"] = "%s è scrivibile";
+$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Hubzilla salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di Hubzilla";
+$a->strings["store is writable"] = "l'archivio è scrivibile";
+$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito.";
+$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!";
+$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server.";
+$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser.";
+$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto.";
+$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser.";
+$a->strings["SSL certificate validation"] = "Validazione del certificato SSL";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:";
+$a->strings["Url rewrite is working"] = "Url rewrite funziona correttamente";
+$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito.";
+$a->strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
+$a->strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
$a->strings["No channel."] = "Nessun canale.";
$a->strings["Common connections"] = "Contatti in comune";
$a->strings["No connections in common."] = "Nessun contatto in comune.";
@@ -1137,19 +1307,17 @@ $a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
$a->strings["Edit connection"] = "Modifica il contatto";
$a->strings["Search your connections"] = "Cerca tra i contatti";
$a->strings["Finding: "] = "Ricerca: ";
-$a->strings["Block Name"] = "Nome del riquadro";
-$a->strings["Block Title"] = "Nome del riquadro";
-$a->strings["Item not found"] = "Elemento non trovato";
-$a->strings["Item is not editable"] = "L'elemento non è modificabile";
-$a->strings["Delete item?"] = "Eliminare questo elemento?";
-$a->strings["Insert YouTube video"] = "Inserisci video da YouTube";
-$a->strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]";
-$a->strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]";
-$a->strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "Login su \$Projectname. Username: {la tua email}, Password: {la tua password} ";
+$a->strings["webpage"] = "pagina web";
+$a->strings["block"] = "riquadro";
+$a->strings["layout"] = "layout";
+$a->strings["%s element installed"] = "%s elemento installato";
+$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
+$a->strings["Hubzilla - Guests: Username: {your email address}, Password: +++"] = "Accesso a Hubzilla. {Inserisci l'email con cui sei registrato e la password.}";
$a->strings["Page owner information could not be retrieved."] = "Impossibile ottenere informazioni sul proprietario della pagina.";
$a->strings["Album not found."] = "Album non trovato.";
$a->strings["Delete Album"] = "Elimina album";
$a->strings["Delete Photo"] = "Elimina foto";
+$a->strings["Public access denied."] = "Accesso pubblico negato.";
$a->strings["No photos selected"] = "Nessuna foto selezionata";
$a->strings["Access to this item is restricted."] = "Questo elemento non è visibile a tutti.";
$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile.";
@@ -1180,8 +1348,6 @@ $a->strings["In This Photo:"] = "In questa foto:";
$a->strings["Map"] = "Mappa";
$a->strings["View Album"] = "Guarda l'album";
$a->strings["Recent Photos"] = "Foto recenti";
-$a->strings["Items tagged with: %s"] = "Elementi taggati con: %s";
-$a->strings["Search results for: %s"] = "Risultati ricerca: %s";
$a->strings["Profile Match"] = "Profili corrispondenti";
$a->strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche.";
$a->strings["is interested in:"] = "interessi personali:";
@@ -1207,14 +1373,14 @@ $a->strings["Your service plan only allows %d channels."] = "Il tuo account perm
$a->strings["Nothing to import."] = "Non c'è niente da importare.";
$a->strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio server";
$a->strings["Imported file is empty."] = "Il file da importare è vuoto.";
-$a->strings["The data provided is not compatible with this project."] = "I dati forniti non sono compatibili con questo hub.";
-$a->strings["Warning: Database versions differ by %1\$d updates."] = "Attenzione: le versioni di database differiscono di %1\$d aggiornamenti.";
$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
+$a->strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito.";
$a->strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
$a->strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
+$a->strings["Import completed."] = "L'importazione è terminata con successo!";
$a->strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
$a->strings["Import Channel"] = "Importa un canale";
-$a->strings["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."] = "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file esportato in precedenza.";
+$a->strings["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. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Usa questo modulo per importare un tuo canale da un altro server/hub. Puoi scaricare i dati identificativi del canale direttamente dall'altro server/hub oppure tramite un file che hai esportato. Saranno importati solamente l'identità e i contatti. L'importazione dei contenuti non è ancora disponibile.";
$a->strings["File to Upload"] = "File da caricare";
$a->strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio server/hub";
$a->strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)";
@@ -1222,12 +1388,14 @@ $a->strings["Your old login email address"] = "L'email che usavi per accedere su
$a->strings["Your old login password"] = "La password per il vecchio server";
$a->strings["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 able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Scegli se vuoi spostare il tuo indirizzo primario su questo server, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i server, ma solamente uno sarà indicato come posizione in cui risiedono i tuoi file, foto, ecc.";
$a->strings["Make this hub my primary location"] = "Rendi questo server il mio indirizzo primario";
-$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa i contenuti pubblicati, se possibile (sperimentale)";
-$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito.";
-$a->strings["Delete layout?"] = "Vuoi eliminare questo layout?";
-$a->strings["Layout Description (Optional)"] = "Descrizione del layout (facoltativa)";
-$a->strings["Layout Name"] = "Nome layout";
+$a->strings["Import existing posts if possible"] = "Importazione dei post esistenti, se possibile";
+$a->strings["Item not found"] = "Elemento non trovato";
$a->strings["Edit Layout"] = "Modifica il layout";
+$a->strings["Delete layout?"] = "Vuoi eliminare questo layout?";
+$a->strings["Insert YouTube video"] = "Inserisci video da YouTube";
+$a->strings["Insert Vorbis [.ogg] video"] = "Inserisci video Vorbis [.ogg]";
+$a->strings["Insert Vorbis [.ogg] audio"] = "Inserisci audio Vorbis [.ogg]";
+$a->strings["Delete Layout"] = "Elimina il layout";
$a->strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina.";
$a->strings["Room not found"] = "Area chat non trovata";
$a->strings["Leave Room"] = "Lascia l'area chat";
@@ -1238,36 +1406,6 @@ $a->strings["Bookmark this room"] = "Aggiungi l'area chat ai segnalibri";
$a->strings["New Chatroom"] = "Nuova area chat";
$a->strings["Chatroom Name"] = "Nome dell'area chat";
$a->strings["%1\$s's Chatrooms"] = "Le aree chat di %1\$s";
-$a->strings["Menu not found."] = "Menù non trovato.";
-$a->strings["Unable to create element."] = "Impossibile creare l'elemento.";
-$a->strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù.";
-$a->strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù.";
-$a->strings["Menu Item Permissions"] = "Permessi del menu";
-$a->strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
-$a->strings["Link Name"] = "Nome link";
-$a->strings["Link or Submenu Target"] = "Destinazione del link o del sottomenu";
-$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Inserisci l'indirizzo del link o scegli il nome di un sottomenu";
-$a->strings["Use magic-auth if available"] = "Usa l'autenticazione magica se disponibile";
-$a->strings["Open link in new window"] = "Apri il link in una nuova finestra";
-$a->strings["Order in list"] = "Ordine dell'elenco";
-$a->strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco";
-$a->strings["Submit and finish"] = "Salva e termina";
-$a->strings["Submit and continue"] = "Salva e continua";
-$a->strings["Menu:"] = "Menu:";
-$a->strings["Link Target"] = "Destinazione link";
-$a->strings["Edit menu"] = "Modifica il menù";
-$a->strings["Edit element"] = "Modifica l'elemento";
-$a->strings["Drop element"] = "Elimina l'elemento";
-$a->strings["New element"] = "Nuovo elemento";
-$a->strings["Edit this menu container"] = "Modifica il contenitore del menù";
-$a->strings["Add menu element"] = "Aggiungi un elemento al menù";
-$a->strings["Delete this menu item"] = "Elimina questo elemento del menù";
-$a->strings["Edit this menu item"] = "Modifica questo elemento del menù";
-$a->strings["Menu item not found."] = "L'elemento del menù non è stato trovato.";
-$a->strings["Menu item deleted."] = "L'elemento del menù è stato eliminato.";
-$a->strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato.";
-$a->strings["Edit Menu Element"] = "Modifica l'elemento del menù";
-$a->strings["Link text"] = "Testo del link";
$a->strings["Delete webpage?"] = "Vuoi eliminare questa pagina web?";
$a->strings["Page link title"] = "Link del titolo";
$a->strings["Edit Webpage"] = "Modifica la pagina web";
@@ -1292,11 +1430,11 @@ $a->strings["Website:"] = "Sito web:";
$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)";
$a->strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)";
$a->strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)";
-$a->strings["Delete block?"] = "Vuoi eliminare questo riquadro?";
-$a->strings["Edit Block"] = "Modifica il riquadro";
+$a->strings["Item is not editable"] = "L'elemento non è modificabile";
+$a->strings["Delete item?"] = "Eliminare questo elemento?";
$a->strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
$a->strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
-$a->strings["Please join us on Red"] = "Vieni con noi su RedMatrix";
+$a->strings["Please join us on Red"] = "Vieni con noi su Hubzilla";
$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario.";
$a->strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita.";
$a->strings["%d message sent."] = array(
@@ -1307,10 +1445,10 @@ $a->strings["You have no more invitations available"] = "Non hai altri inviti di
$a->strings["Send invitations"] = "Spedisci inviti";
$a->strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
$a->strings["Your message:"] = "Il tuo messaggio:";
-$a->strings["Please join my community on \$Projectname."] = "Entra nella mia comunità su \$Projectname.";
+$a->strings["Please join my community on Hubzilla."] = "Entra a far parte della mia comunità su Hubzilla.";
$a->strings["You will need to supply this invitation code: "] = "Dovrai fornire questo codice di invito:";
-$a->strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrati su qualsiasi server \$Projectname (sono tutti interconnessi)";
-$a->strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Inserisci il mio indirizzo \$Projectname nel riquadro di ricerca del sito.";
+$a->strings["1. Register at any Hubzilla location (they are all inter-connected)"] = "1. Registrati su un qualsiasi sito Hubzilla (sono tutti interconnessi)";
+$a->strings["2. Enter my Hubzilla network address into the site searchbar."] = "2. Inserisci il mio indirizzo Hubzilla nella barra di ricerca che compare nella pagina.";
$a->strings["or visit "] = "oppure visita ";
$a->strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]";
$a->strings["Location not found."] = "Indirizzo non trovato.";
@@ -1338,10 +1476,10 @@ $a->strings["Unable to remove source."] = "Impossibile rimuovere la sorgente.";
$a->strings["Unable to update menu."] = "Impossibile aggiornare il menù.";
$a->strings["Unable to create menu."] = "Impossibile creare il menù.";
$a->strings["Menu Name"] = "Nome del menu";
-$a->strings["Unique name (not visible on webpage) - required"] = "Nome unico (non visibile sulla pagina) - obbligatorio";
+$a->strings["Unique name (not visible on webpage) - required"] = "Identificativo unico (non visibile sulla pagina) - obbligatorio";
$a->strings["Menu Title"] = "Titolo del menu";
$a->strings["Visible on webpage - leave empty for no title"] = "Visibile sulla pagina - lascia vuoto per non avere un titolo";
-$a->strings["Allow Bookmarks"] = "Permetti i segnalibri";
+$a->strings["Allow Bookmarks"] = "Permetti l'aggiunta ai segnalibri";
$a->strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menù";
$a->strings["Submit and proceed"] = "Salva e procedi";
$a->strings["Drop"] = "Elimina";
@@ -1350,6 +1488,7 @@ $a->strings["Delete this menu"] = "Elimina questo menù";
$a->strings["Edit menu contents"] = "Modifica i contenuti del menù";
$a->strings["Edit this menu"] = "Modifica questo menù";
$a->strings["Menu could not be deleted."] = "Il menù non può essere eliminato.";
+$a->strings["Menu not found."] = "Menù non trovato.";
$a->strings["Edit Menu"] = "Modifica menù";
$a->strings["Add or remove entries to this menu"] = "Aggiungi o rimuovi elementi di questo menù";
$a->strings["Menu name"] = "Nome del menù";
@@ -1357,17 +1496,18 @@ $a->strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedrai
$a->strings["Menu title"] = "Titolo del menù";
$a->strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti";
$a->strings["Allow bookmarks"] = "Permetti l'invio di segnalibri";
+$a->strings["Modify"] = "Modifica";
$a->strings["Permission Denied."] = "Permesso negato.";
$a->strings["File not found."] = "File non trovato.";
$a->strings["Edit file permissions"] = "Modifica i permessi del file";
$a->strings["Set/edit permissions"] = "Modifica i permessi";
$a->strings["Include all files and sub folders"] = "Includi tutti i file e le sottocartelle";
$a->strings["Return to file list"] = "Torna all'elenco dei file";
-$a->strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un post";
+$a->strings["Copy/paste this code to attach file to a post"] = "Copia/incolla questo codice per far comparire il file in un articolo";
$a->strings["Copy/paste this URL to link file from a web page"] = "Copia/incolla questo indirizzo in una pagina web per avere un link al file";
$a->strings["Share this file"] = "Condividi questo file";
$a->strings["Show URL to this file"] = "Mostra l'URL del file";
-$a->strings["Notify your contacts about this file"] = "Notifica ai contatti che hai caricato questo file";
+$a->strings["Notify your contacts about this file"] = "Notifica ai tuoi contatti che hai caricato il file";
$a->strings["Contact not found."] = "Contatto non trovato.";
$a->strings["Friend suggestion sent."] = "Suggerimento di amicizia inviato.";
$a->strings["Suggest Friends"] = "Suggerisci amici";
@@ -1377,13 +1517,12 @@ $a->strings["Poke/Prod"] = "Poke/Prod";
$a->strings["poke, prod or do other things to somebody"] = "Manda un poke, un prod o altro";
$a->strings["Recipient"] = "Destinatario";
$a->strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario";
-$a->strings["Make this post private"] = "Rendi privato questo post";
+$a->strings["Make this post private"] = "Rendi privato questo articolo";
$a->strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
$a->strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
$a->strings["Click on a contact to add or remove."] = "Clicca su un contatto per aggiungerlo o rimuoverlo.";
$a->strings["Visible To"] = "Visibile a";
-$a->strings["%s element installed"] = "%s elemento installato";
-$a->strings["%s element installation failed"] = "Elementi con installazione fallita: %s";
+$a->strings["Page Title"] = "Titolo della pagina";
$a->strings["Profile not found."] = "Profilo non trovato.";
$a->strings["Profile deleted."] = "Profilo eliminato.";
$a->strings["Profile-"] = "Profilo-";
@@ -1454,95 +1593,53 @@ $a->strings["Rating: "] = "Valutazione:";
$a->strings["Website: "] = "Sito web:";
$a->strings["Description: "] = "Descrizione:";
$a->strings["Source of Item"] = "Sorgente";
-$a->strings["\$Projectname Server - Setup"] = "Server \$Projectname - Installazione";
-$a->strings["Could not connect to database."] = " Impossibile connettersi al database.";
-$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS.";
-$a->strings["Could not create table."] = "Impossibile creare le tabelle.";
-$a->strings["Your site database has been installed."] = "Il database del sito è stato installato.";
-$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db.";
-$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'.";
-$a->strings["System check"] = "Verifica del sistema";
-$a->strings["Check again"] = "Verifica di nuovo";
-$a->strings["Database connection"] = "Connessione al database";
-$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per poter installare \$Projectname è necessario fornire i parametri di connessione al tuo database.";
-$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni.";
-$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare.";
-$a->strings["Database Server Name"] = "Server del database";
-$a->strings["Default is localhost"] = "'localhost' è il predefinito";
-$a->strings["Database Port"] = "Port del database";
-$a->strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard";
-$a->strings["Database Login Name"] = "Utente database";
-$a->strings["Database Login Password"] = "Password utente database";
-$a->strings["Database Name"] = "Nome database";
-$a->strings["Database Type"] = "Tipo database";
-$a->strings["Site administrator email address"] = "Indirizzo email dell'amministratore del sito";
-$a->strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione web.";
-$a->strings["Website URL"] = "URL completo del sito";
-$a->strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https).";
-$a->strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo sito web";
-$a->strings["Site settings"] = "Impostazioni del sito";
-$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron.";
-$a->strings["PHP executable path"] = "Path del comando PHP";
-$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione.";
-$a->strings["Command line PHP"] = "PHP da riga di comando";
-$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".";
-$a->strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi.";
-$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-$a->strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta.";
-$a->strings["You can adjust these settings in the servers php.ini."] = "Puoi regolare queste impostazioni sul server in php.ini";
-$a->strings["PHP upload limits"] = "Limiti PHP in upload";
-$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di criptazione";
-$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
-$a->strings["Generate encryption keys"] = "Genera chiavi di criptazione";
-$a->strings["libCurl PHP module"] = "modulo PHP libCurl";
-$a->strings["GD graphics PHP module"] = "modulo PHP GD graphics";
-$a->strings["OpenSSL PHP module"] = "modulo PHP OpenSSL";
-$a->strings["mysqli or postgres PHP module"] = "modulo PHP per mysqli oppure prostgres";
-$a->strings["mb_string PHP module"] = "modulo PHP mb_string";
-$a->strings["mcrypt PHP module"] = "modulo PHP mcrypt";
-$a->strings["xml PHP module"] = "modulo xml PHP";
-$a->strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite";
-$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato";
-$a->strings["proc_open"] = "proc_open";
-$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini";
-$a->strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato.";
-$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.";
-$a->strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato.";
-$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato";
-$a->strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato.";
-$a->strings["Error: mcrypt PHP module required but not installed."] = "Errore: il modulo PHP mcrypt è richiesto ma non installato.";
-$a->strings["Error: xml PHP module required for DAV but not installed."] = "Errore: il modulo xml PHP è richiesto per DAV ma non è installato.";
-$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di RedMatrix ma non è in grado di farlo.";
-$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi.";
-$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di RedMatrix.";
-$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
-$a->strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
-$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP.";
-$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Per poter memorizzare i template compilati, il web server deve avere accesso in scrittura a %s sotto la cartella di installazione di RedMatrix.";
-$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione da parte di un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
-$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene.";
-$a->strings["%s is writable"] = "%s è scrivibile";
-$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "RedMatrix salva i file caricati nella cartella \"store\" sul server. Il server deve avere i diritti di scrittura su quella cartella che si trova dentro l'installazione di RedMatrix";
-$a->strings["store is writable"] = "l'archivio è scrivibile";
-$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito.";
-$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati generati da te!";
-$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server.";
-$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser.";
-$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto.";
-$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser.";
-$a->strings["SSL certificate validation"] = "Validazione del certificato SSL";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:";
-$a->strings["Url rewrite is working"] = "Url rewrite funziona correttamente";
-$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito.";
-$a->strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
-$a->strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
+$a->strings["Unable to create element."] = "Impossibile creare l'elemento.";
+$a->strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù.";
+$a->strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù.";
+$a->strings["Menu Item Permissions"] = "Permessi del menu";
+$a->strings["Link Name"] = "Nome link";
+$a->strings["Link Target"] = "Destinazione link";
+$a->strings["Use Hubzilla magic-auth if available"] = "Usa l'autenticazione magica di Hubzilla, se disponibile";
+$a->strings["Open link in new window"] = "Apri il link in una nuova finestra";
+$a->strings["Order in list"] = "Ordine dell'elenco";
+$a->strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco";
+$a->strings["Submit and finish"] = "Salva e termina";
+$a->strings["Submit and continue"] = "Salva e continua";
+$a->strings["Menu:"] = "Menu:";
+$a->strings["Edit menu"] = "Modifica il menù";
+$a->strings["Edit element"] = "Modifica l'elemento";
+$a->strings["Drop element"] = "Elimina l'elemento";
+$a->strings["New element"] = "Nuovo elemento";
+$a->strings["Edit this menu container"] = "Modifica il contenitore del menù";
+$a->strings["Add menu element"] = "Aggiungi un elemento al menù";
+$a->strings["Delete this menu item"] = "Elimina questo elemento del menù";
+$a->strings["Edit this menu item"] = "Modifica questo elemento del menù";
+$a->strings["Menu item not found."] = "L'elemento del menù non è stato trovato.";
+$a->strings["Menu item deleted."] = "L'elemento del menù è stato eliminato.";
+$a->strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato.";
+$a->strings["Edit Menu Element"] = "Modifica l'elemento del menù";
+$a->strings["Link text"] = "Testo del link";
+$a->strings["URL of link"] = "Indirizzo del link";
$a->strings["OpenID protocol error. No ID returned."] = "Errore del protocollo OpenID. Nessun ID ricevuto in risposta.";
-$a->strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo.";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
+$a->strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'autenticazione magica è avvenuta con successo.";
+$a->strings["%d rating"] = array(
+ 0 => "%d valutazione",
+ 1 => "%d valutazioni",
+);
+$a->strings["Gender: "] = "Sesso:";
+$a->strings["Status: "] = "Stato:";
+$a->strings["Homepage: "] = "Homepage:";
+$a->strings["Hometown: "] = "Città dove vivo:";
+$a->strings["About: "] = "Informazioni:";
+$a->strings["Public Forum:"] = "Forum pubblico:";
+$a->strings["Keywords: "] = "Parole chiave:";
+$a->strings["Common connections: %s"] = "Contatti in comune: %s";
+$a->strings["Finding:"] = "Ricerca:";
+$a->strings["next page"] = "pagina successiva";
+$a->strings["previous page"] = "pagina precedente";
+$a->strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto).";
$a->strings["Export Channel"] = "Esporta il canale";
-$a->strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Esporta le informazioni di base del tuo canale in un piccolo file. E' utile per avere un salvataggio di sicurezza dei tuoi contatti, del tuo profilo ed altre informazioni fondamentali. Può essere usato per importare il tuo canale su un nuovo server, ma non include i contenuti, per esempio post e foto.";
+$a->strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Esporta le informazioni di base del tuo canale in un piccolo file. E' utile per avere un salvataggio di sicurezza dei tuoi contatti, del tuo profilo ed altre informazioni fondamentali. Può essere usato per importare il tuo canale su un nuovo server, ma\tnon include i contenuti, per esempio articoli e foto.";
$a->strings["Export Content"] = "Esporta i contenuti";
$a->strings["Export your channel information and all the content to a JSON backup. This backs up all of your connections, permissions, profile data and all of your content, but is generally not suitable for importing a channel to a new hub as this file may be VERY large. Please be patient - it may take several minutes for this download to begin."] = "Esporta i dati del canale e i contenuti in un file in formato JSON. E' un salvataggio dei tuoi contatti, dei dati del profilo e anche di tutti i contenuti. Questa non è la soluzione opportuna per importare il tuo canale su un nuovo server, visto che il file potrebbe avere dimensioni NOTEVOLI. Devi pazientare - ci vorranno alcuni minuti per raccogliere i dati prima che inizi lo scaricamento.";
$a->strings["No connections."] = "Nessun contatto.";
@@ -1576,7 +1673,6 @@ $a->strings["Registered channels"] = "Canali creati";
$a->strings["Active plugins"] = "Plugin attivi";
$a->strings["Version"] = "Versione";
$a->strings["Site settings updated."] = "Impostazioni del sito salvate correttamente.";
-$a->strings["mobile"] = "mobile";
$a->strings["experimental"] = "sperimentale";
$a->strings["unsupported"] = "non supportato";
$a->strings["Yes - with approval"] = "Sì - con approvazione";
@@ -1606,10 +1702,6 @@ $a->strings["Does this site allow new member registration?"] = "Questo sito perm
$a->strings["Which best describes the types of account offered by this hub?"] = "Come descriveresti il tipo di servizio proposto da questo server?";
$a->strings["Register text"] = "Testo di registrazione";
$a->strings["Will be displayed prominently on the registration page."] = "Sarà mostrato ben visibile nella pagina di registrazione.";
-$a->strings["Site homepage to show visitors (default: login box)"] = "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)";
-$a->strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file.";
-$a->strings["Preserve site homepage URL"] = "Conserva l'URL della homepage";
-$a->strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect.";
$a->strings["Accounts abandoned after x days"] = "Account abbandonati dopo X giorni";
$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo.";
$a->strings["Allowed friend domains"] = "Domini fidati e consentiti";
@@ -1626,8 +1718,8 @@ $a->strings["Force publish"] = "Forza la publicazione del profilo";
$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per mostrare nell'elenco pubblico <strong>tutti</strong> i profili registrati su questo sito.";
$a->strings["Disable discovery tab"] = "Disabilita la funzione 'scopri'";
$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Nell'area della rete personale non comparirà più la scheda con i contenuti acquisiti da altri siti.";
-$a->strings["login on Homepage"] = "Mostra il login sulla homepage";
-$a->strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti.";
+$a->strings["No login on Homepage"] = "Non mostrare il login sulla homepage";
+$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Per nascondere la possibilità di fare login ai visitatori (per esempio, quando il contenuto della homepage del sito è alimentato da un canale).";
$a->strings["Proxy user"] = "Utente proxy";
$a->strings["Proxy URL"] = "URL proxy";
$a->strings["Network timeout"] = "Timeout rete";
@@ -1692,24 +1784,16 @@ $a->strings["%s channel censored/uncensored"] = array(
0 => "Censura modificata per %s canale",
1 => "Censura modificata per %s canali",
);
-$a->strings["%s channel code allowed/disallowed"] = array(
- 0 => "%s canale permette/non permette codice nei contenuti",
- 1 => "%s canali permettono/non permettono codice nei contenuti",
-);
$a->strings["%s channel deleted"] = array(
0 => "%s canale è stato rimosso",
1 => "%s canali sono stati rimossi",
);
$a->strings["Channel not found"] = "Canale non trovato";
$a->strings["Channel '%s' deleted"] = "Il canale '%s' è stato rimosso";
-$a->strings["Channel '%s' censored"] = "Applicata una censura al canale '%s'";
$a->strings["Channel '%s' uncensored"] = "Rimossa la censura dal canale '%s'";
-$a->strings["Channel '%s' code allowed"] = "Il canale '%s' permette codice nei contenuti";
-$a->strings["Channel '%s' code disallowed"] = "Il canale '%s' non permette codice nei contenuti";
+$a->strings["Channel '%s' censored"] = "Applicata una censura al canale '%s'";
$a->strings["Censor"] = "Applica una censura";
$a->strings["Uncensor"] = "Rimuovi la censura";
-$a->strings["Allow Code"] = "Permetti codice nei contenuti";
-$a->strings["Disallow Code"] = "Non permettere codice nei contenuti";
$a->strings["UID"] = "UID";
$a->strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
$a->strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
@@ -1728,7 +1812,7 @@ $a->strings["Log settings updated."] = "Impostazioni di log aggiornate.";
$a->strings["Clear"] = "Pulisci";
$a->strings["Debugging"] = "Debugging";
$a->strings["Log file"] = "File di log";
-$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato RedMatrix.";
+$a->strings["Must be writable by web server. Relative to your Red top-level directory."] = "Deve essere scrivibile dal web server. La posizione è relativa alla cartella dove è installato Hubzilla.";
$a->strings["Log level"] = "Livello di log";
$a->strings["New Profile Field"] = "Nuovo campo del profilo";
$a->strings["Field nickname"] = "Nome breve del campo";
@@ -1742,6 +1826,8 @@ $a->strings["Field definition not found"] = "Impossibile trovare la definizione
$a->strings["Edit Profile Field"] = "Modifica campo del profilo";
$a->strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub.";
$a->strings["Post successful."] = "Inviato!";
+$a->strings["Edit Block"] = "Modifica il riquadro";
+$a->strings["Delete block?"] = "Vuoi eliminare questo riquadro?";
$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!";
$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio.";
$a->strings["Passwords do not match."] = "Le password non corrispondono.";
@@ -1767,154 +1853,17 @@ $a->strings["This action is permanent and can not be undone!"] = "Questo comando
$a->strings["Please enter your password for verification:"] = "Inserisci la tua password per verifica:";
$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati.";
$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "A meno che tu non lo richieda espressamente, solo i canali presenti su questo server saranno rimossi dalla rete.";
-$a->strings["Remove Account"] = "Elimina l'account";
-$a->strings["Help:"] = "Guida:";
-$a->strings["Not Found"] = "Non disponibile";
-$a->strings["\$Projectname Documentation"] = "Documentazione \$Projectname";
+$a->strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
+$a->strings["Empty post discarded."] = "L'articolo vuoto è stato ignorato.";
+$a->strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale.";
+$a->strings["System error. Post not saved."] = "Errore di sistema. Articolo non salvato.";
+$a->strings["Unable to obtain post information from database."] = "Impossibile caricare l'articolo dal database.";
+$a->strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f articoli sulla pagina principale.";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
$a->strings["[Embedded content - reload page to view]"] = "[Contenuto incorporato - ricarica la pagina per visualizzarlo correttamente]";
$a->strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili.";
$a->strings["Visible to:"] = "Visibile a:";
-$a->strings["Name is required"] = "Il nome è obbligatorio";
-$a->strings["Key and Secret are required"] = "Key e Secret sono richiesti";
-$a->strings["Diaspora Policy Settings updated."] = "Le regole per Diaspora sono state aggiornate.";
-$a->strings["Passwords do not match. Password unchanged."] = "Le password non corrispondono. Password non cambiata.";
-$a->strings["Empty passwords are not allowed. Password unchanged."] = "Le password non possono essere vuote. Password non cambiata.";
-$a->strings["Password changed."] = "Password cambiata.";
-$a->strings["Password update failed. Please try again."] = "Modifica password fallita. Prova ancora.";
-$a->strings["Not valid email."] = "Email non valida.";
-$a->strings["Protected email address. Cannot change to that email."] = "È un indirizzo email riservato. Non puoi sceglierlo.";
-$a->strings["System failure storing new email. Please try again."] = "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore.";
-$a->strings["Settings updated."] = "Impostazioni aggiornate.";
-$a->strings["Add application"] = "Aggiungi una app";
-$a->strings["Name of application"] = "Nome dell'applicazione";
-$a->strings["Consumer Key"] = "Consumer Key";
-$a->strings["Automatically generated - change if desired. Max length 20"] = "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20";
-$a->strings["Consumer Secret"] = "Consumer Secret";
-$a->strings["Redirect"] = "Redirect";
-$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI ridirezionato - lasciare bianco se non richiesto specificamente dall'applicazione.";
-$a->strings["Icon url"] = "Url icona";
-$a->strings["Optional"] = "Opzionale";
-$a->strings["You can't edit this application."] = "Non puoi modificare questa applicazione.";
-$a->strings["Connected Apps"] = "App connesse";
-$a->strings["Client key starts with"] = "La client key inizia con";
-$a->strings["No name"] = "Nessun nome";
-$a->strings["Remove authorization"] = "Revoca l'autorizzazione";
-$a->strings["No feature settings configured"] = "Non hai componenti aggiuntivi da personalizzare";
-$a->strings["Feature/Addon Settings"] = "Impostazioni dei componenti aggiuntivi";
-$a->strings["Settings for the built-in Diaspora emulator"] = "Interconnessione con Diaspora";
-$a->strings["Allow any Diaspora member to comment on your public posts"] = "Permetti a tutti gli utenti di Diaspora di commentare i tuoi post pubblici";
-$a->strings["Enable the Diaspora protocol for this channel"] = "Abilita il protocollo Diaspora per questo canale";
-$a->strings["Diaspora Policy Settings"] = "Regole per Diaspora";
-$a->strings["Prevent your hashtags from being redirected to other sites"] = "Impedisci che i tuoi #tag puntino su altri siti";
-$a->strings["Account Settings"] = "Il tuo account";
-$a->strings["Enter New Password:"] = "Inserisci la nuova password:";
-$a->strings["Confirm New Password:"] = "Conferma la nuova password:";
-$a->strings["Leave password fields blank unless changing"] = "Lascia questi campi in bianco per non cambiare la password";
-$a->strings["Email Address:"] = "Indirizzo email:";
-$a->strings["Remove this account including all its channels"] = "Elimina questo account e tutti i suoi canali";
-$a->strings["Off"] = "Off";
-$a->strings["On"] = "On";
-$a->strings["Additional Features"] = "Funzionalità opzionali";
-$a->strings["Connector Settings"] = "Impostazioni del connettore";
-$a->strings["No special theme for mobile devices"] = "Nessun tema per dispositivi mobili";
-$a->strings["%s - (Experimental)"] = "%s - (Sperimentale)";
-$a->strings["Display Settings"] = "Aspetto";
-$a->strings["Theme Settings"] = "Impostazioni del tema";
-$a->strings["Custom Theme Settings"] = "Personalizzazione del tema";
-$a->strings["Content Settings"] = "Impostazioni dei contenuti";
-$a->strings["Display Theme:"] = "Tema per schermi medio grandi:";
-$a->strings["Mobile Theme:"] = "Tema per dispositivi mobili:";
-$a->strings["Enable user zoom on mobile devices"] = "Attiva la possibilità di fare zoom sui dispositivi mobili";
-$a->strings["Update browser every xx seconds"] = "Aggiorna il browser ogni x secondi";
-$a->strings["Minimum of 10 seconds, no maximum"] = "Minimo 10 secondi, nessun limite massimo";
-$a->strings["Maximum number of conversations to load at any time:"] = "Massimo numero di conversazioni da mostrare ogni volta:";
-$a->strings["Maximum of 100 items"] = "Massimo 100";
-$a->strings["Show emoticons (smilies) as images"] = "Mostra le faccine (smilies) come immagini";
-$a->strings["Link post titles to source"] = "Il link del titolo di un post porta al sito originale";
-$a->strings["System Page Layout Editor - (advanced)"] = "Modifica i layout di sistema (avanzato)";
-$a->strings["Use blog/list mode on channel page"] = "Mostra il canale nella modalità blog";
-$a->strings["(comments displayed separately)"] = "(i commenti sono mostrati separatamente)";
-$a->strings["Use blog/list mode on matrix page"] = "Mostra la tua rete in modalità blog";
-$a->strings["Channel page max height of content (in pixels)"] = "Altezza massima dei contenuti del canale (in pixel)";
-$a->strings["click to expand content exceeding this height"] = "dovrai cliccare per mostrare i contenuti di dimensioni maggiori";
-$a->strings["Matrix page max height of content (in pixels)"] = "Altezza massima dei contenuti della tua rete (in pixel)";
-$a->strings["Nobody except yourself"] = "Nessuno tranne te";
-$a->strings["Only those you specifically allow"] = "Solo chi riceve il mio permesso";
-$a->strings["Approved connections"] = "Contatti approvati";
-$a->strings["Any connections"] = "Tutti i contatti";
-$a->strings["Anybody on this website"] = "Chiunque su questo sito";
-$a->strings["Anybody in this network"] = "Chiunque su Red";
-$a->strings["Anybody authenticated"] = "Chiunque abbia effettuato l'accesso";
-$a->strings["Anybody on the internet"] = "Chiunque su internet";
-$a->strings["Publish your default profile in the network directory"] = "Mostra il mio profilo predefinito nell'elenco pubblico dei canali";
-$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Vuoi essere suggerito come amico ai nuovi membri?";
-$a->strings["Your channel address is"] = "L'indirizzo del tuo canale è";
-$a->strings["Channel Settings"] = "Impostazioni del canale";
-$a->strings["Basic Settings"] = "Impostazioni di base";
-$a->strings["Your Timezone:"] = "Il tuo fuso orario:";
-$a->strings["Default Post Location:"] = "Località predefinita:";
-$a->strings["Geographical location to display on your posts"] = "Posizione geografica da mostrare sui tuoi post";
-$a->strings["Use Browser Location:"] = "Usa la località rilevata dal browser:";
-$a->strings["Adult Content"] = "Contenuto per adulti";
-$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)";
-$a->strings["Security and Privacy Settings"] = "Impostazioni di sicurezza e privacy";
-$a->strings["Your permissions are already configured. Click to view/adjust"] = "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli";
-$a->strings["Hide my online presence"] = "Nascondi la mia presenza online";
-$a->strings["Prevents displaying in your profile that you are online"] = "Evita che sul tuo profilo compaia la tua presenza online";
-$a->strings["Simple Privacy Settings:"] = "Impostazioni di privacy semplificate";
-$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>";
-$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>";
-$a->strings["Private - <em>default private, never open or public</em>"] = "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>";
-$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>";
-$a->strings["Allow others to tag your posts"] = "Permetti ad altri di taggare i tuoi post";
-$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti";
-$a->strings["Advanced Privacy Settings"] = "Impostazioni di privacy avanzate";
-$a->strings["Expire other channel content after this many days"] = "Giorni dopo cui mettere in scadenza gli altri contenuti del canale";
-$a->strings["0 or blank prevents expiration"] = "Lascia vuoto oppure 0 per non impostare scadenze";
-$a->strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
-$a->strings["May reduce spam activity"] = "Serve e ridurre lo spam";
-$a->strings["Default Post Permissions"] = "Permessi predefiniti per i post";
-$a->strings["Channel permissions category:"] = "Categorie di permessi dei canali:";
-$a->strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
-$a->strings["Useful to reduce spamming"] = "Serve e ridurre lo spam";
-$a->strings["Notification Settings"] = "Impostazioni di notifica";
-$a->strings["By default post a status message when:"] = "Pubblica un messaggio di stato quando:";
-$a->strings["accepting a friend request"] = "accetto una nuova amicizia";
-$a->strings["joining a forum/community"] = "entro a far parte di un forum";
-$a->strings["making an <em>interesting</em> profile change"] = "faccio un cambiamento <em>interessante</em> al mio profilo";
-$a->strings["Send a notification email when:"] = "Invia una email di notifica quando:";
-$a->strings["You receive a connection request"] = "Ricevi una richiesta di entrare in contatto";
-$a->strings["Your connections are confirmed"] = "I tuoi contatti sono confermati";
-$a->strings["Someone writes on your profile wall"] = "Qualcuno scrive sulla tua bacheca";
-$a->strings["Someone writes a followup comment"] = "Qualcuno scrive un commento dopo di te";
-$a->strings["You receive a private message"] = "Ricevi un messaggio privato";
-$a->strings["You receive a friend suggestion"] = "Ti viene suggerito un amico";
-$a->strings["You are tagged in a post"] = "Sei taggato in un post";
-$a->strings["You are poked/prodded/etc. in a post"] = "Ricevi un poke in un post";
-$a->strings["Show visual notifications including:"] = "Mostra queste notifiche a schermo:";
-$a->strings["Unseen matrix activity"] = "Nuove attività nella rete";
-$a->strings["Unseen channel activity"] = "Novità nei canali";
-$a->strings["Unseen private messages"] = "Nuovi messaggi privati";
-$a->strings["Recommended"] = "Consigliato";
-$a->strings["Upcoming events"] = "Prossimi eventi";
-$a->strings["Events today"] = "Eventi di oggi";
-$a->strings["Upcoming birthdays"] = "Prossimi compleanni";
-$a->strings["Not available in all themes"] = "Non disponibile in tutti i temi";
-$a->strings["System (personal) notifications"] = "Notifiche personali dal sistema";
-$a->strings["System info messages"] = "Notifiche di sistema";
-$a->strings["System critical alerts"] = "Avvisi critici di sistema";
-$a->strings["New connections"] = "Nuovi contatti";
-$a->strings["System Registrations"] = "Registrazioni";
-$a->strings["Also show new wall posts, private messages and connections under Notices"] = "Mostra negli avvisi anche i nuovi post, i messaggi privati e i nuovi contatti";
-$a->strings["Notify me of events this many days in advance"] = "Giorni di anticipo per notificare gli eventi";
-$a->strings["Must be greater than 0"] = "Maggiore di 0";
-$a->strings["Advanced Account/Page Type Settings"] = "Impostazioni avanzate";
-$a->strings["Change the behaviour of this account for special situations"] = "Cambia il funzionamento di questo account per necessità particolari";
-$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)";
-$a->strings["Miscellaneous Settings"] = "Impostazioni varie";
-$a->strings["Personal menu to display in your channel pages"] = "Menu personale da mostrare sulle pagine del tuo canale";
-$a->strings["Remove Channel"] = "Elimina questo canale";
-$a->strings["Remove this channel."] = "Elimina questo canale.";
+$a->strings["Block Name"] = "Nome del riquadro";
$a->strings["First Name"] = "Nome";
$a->strings["Last Name"] = "Cognome";
$a->strings["Nickname"] = "Nick";
@@ -1935,8 +1884,11 @@ $a->strings["Conversation removed."] = "Conversazione rimossa.";
$a->strings["No messages."] = "Nessun messaggio.";
$a->strings["Delete conversation"] = "Elimina la conversazione";
$a->strings["D, d M Y - g:i A"] = "D d M Y - G:i";
+$a->strings["Help with this feature"] = "La guida per questa funzionalità";
+$a->strings["Layout Name"] = "Nome layout";
+$a->strings["Comanche page description language help"] = "Guida di Comanche Page Description Language";
$a->strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici";
-$a->strings["Total votes"] = "Totale voti";
+$a->strings["Total votes"] = "Voti totali";
$a->strings["Average Rating"] = "Valutazione media";
$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password.";
$a->strings["Remove This Channel"] = "Elimina questo canale";
@@ -1946,7 +1898,17 @@ $a->strings["By default only the instance of the channel located on this hub wil
$a->strings["is now connected to"] = "ha come nuovo contatto";
$a->strings["Could not access address book record."] = "Impossibile accedere alle informazioni della rubrica.";
$a->strings["Refresh failed - channel is currently unavailable."] = "Il canale non è disponibile - impossibile aggiornare.";
+$a->strings["Channel has been unblocked"] = "Il canale è stato sbloccato";
+$a->strings["Channel has been blocked"] = "Il canale è stato bloccato";
$a->strings["Unable to set address book parameters."] = "Impossibile impostare i parametri della rubrica.";
+$a->strings["Channel has been unignored"] = "Il canale non sarà più ignorato";
+$a->strings["Channel has been ignored"] = "Il canale sarà ignorato";
+$a->strings["Channel has been unarchived"] = "Il canale non è più archiviato";
+$a->strings["Channel has been archived"] = "Il canale è stato archiviato";
+$a->strings["Channel has been unhidden"] = "Il canale non è più nascosto";
+$a->strings["Channel has been hidden"] = "Il canale è stato nascosto";
+$a->strings["Channel has been approved"] = "Il canale è stato approvato";
+$a->strings["Channel has been unapproved"] = "Il canale non è più approvato";
$a->strings["Connection has been removed."] = "Il contatto è stato rimosso.";
$a->strings["View %s's profile"] = "Guarda il profilo di %s";
$a->strings["Refresh Permissions"] = "Modifica i permessi";
@@ -1954,54 +1916,62 @@ $a->strings["Fetch updated permissions"] = "Guarda e modifica i permessi assegna
$a->strings["Recent Activity"] = "Attività recenti";
$a->strings["View recent posts and comments"] = "Leggi i post recenti e i commenti";
$a->strings["Block (or Unblock) all communications with this connection"] = "Blocca ogni interazione con questo contatto (abilita/disabilita)";
-$a->strings["This connection is blocked!"] = "Questa connessione è tra quelle bloccate!";
$a->strings["Unignore"] = "Non ignorare";
$a->strings["Ignore"] = "Ignora";
$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)";
-$a->strings["This connection is ignored!"] = "Questa connessione è tra quelle ignorate!";
$a->strings["Unarchive"] = "Non archiviare";
$a->strings["Archive"] = "Archivia";
$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archivia questo contatto (abilita/disabilita) - segna il canale come non più attivo ma ne conserva i contenuti";
-$a->strings["This connection is archived!"] = "Questa connessione è tra quelle archiviate!";
$a->strings["Unhide"] = "Non nascondere";
$a->strings["Hide"] = "Nascondi";
$a->strings["Hide or Unhide this connection from your other connections"] = "Nascondi questo contatto a tutti gli altri (abilita/disabilita)";
-$a->strings["This connection is hidden!"] = "Questa connessione è tra quelle nascoste!";
$a->strings["Delete this connection"] = "Elimina questo contatto";
$a->strings["Approve this connection"] = "Approva questo contatto";
$a->strings["Accept connection to allow communication"] = "Entra in contatto per poter comunicare";
-$a->strings["Set Affinity"] = "Scegli l'affinità";
-$a->strings["Set Profile"] = "Scegli il profilo da mostrare";
-$a->strings["Set Affinity & Profile"] = "Affinità e profilo";
+$a->strings["Connections: settings for %s"] = "Contatti: impostazioni per %s";
$a->strings["Apply these permissions automatically"] = "Applica automaticamente questi permessi";
-$a->strings["This connection's address is"] = "Indirizzo di questo contatto";
-$a->strings["The permissions indicated on this page will be applied to all new connections."] = "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi.";
+$a->strings["Apply the permissions indicated on this page to all new connections."] = "Applica i permessi indicati su questa pagina a tutti i nuovi contatti.";
$a->strings["Slide to adjust your degree of friendship"] = "Trascina per restringere il grado di amicizia da mostrare";
-$a->strings["Slide to adjust your rating"] = "Trascina per cambiare la tua valutazione";
-$a->strings["Optionally explain your rating"] = "Commento opzionale";
-$a->strings["Custom Filter"] = "Filtro personalizzato";
-$a->strings["Only import posts with this text"] = "Importa solo i post che contengono questo testo";
-$a->strings["words one per line or #tags or /patterns/, leave blank to import all posts"] = "una parola per riga, oppure #tag o /pattern/ oppure lascia vuoto per importare tutto";
-$a->strings["Do not import posts with this text"] = "Non importare i post con questo testo";
-$a->strings["This information is public!"] = "Questa informazione è pubblica!";
-$a->strings["Connection Pending Approval"] = "Contatti in attesa di approvazione";
-$a->strings["Connection Request"] = "Richiesta di entrare in contatto";
-$a->strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) vorrebbe entrare in contatto con te. Per permettere la comunicazione è necessario che tu approvi.";
-$a->strings["Approve Later"] = "Approva più tardi";
+$a->strings["Default permissions for your channel type have (just) been applied. They have not yet been submitted. Please review the permissions on this page and make any desired changes at this time. This new connection may <em>not</em> be able to communicate with you until you submit this page, which will install and apply the selected permissions."] = "I tuoi nuovi contatti potrebbero <em>non</em> essere abilitati a comunicare con te finché non salverai questa pagina (perché non hai permessi impostati). Sono stati selezionati i permessi standard per il tipo di canale che hai scelto. Non sono stati ancora salvati però. Puoi verificare le impostazioni e fare i cambiamenti che preferisci prima di salvare. ";
$a->strings["inherited"] = "derivato";
+$a->strings["Connection has no individual permissions!"] = "Non hai assegnato permessi individuali a questo contatto!";
+$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Questo corrisponde alle tue <a href='settings'>impostazioni di privacy</a>, ma puoi anche dare un'occhiata ai 'Permessi avanzati' per opzioni più dettagliate.";
+$a->strings["Profile Visibility"] = "Visibilità del profilo";
$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Seleziona il profilo che vuoi mostrare a %s quando visita il tuo profilo in modo sicuro.";
+$a->strings["Contact Information / Notes"] = "Informazioni e annotazioni sul contatto";
+$a->strings["Edit contact notes"] = "Modifica le informazioni sul contatto";
$a->strings["Their Settings"] = "Permessi concessi a te";
$a->strings["My Settings"] = "I permessi che concedo";
+$a->strings["Default permissions for this channel type have (just) been applied. They have <em>not</em> been saved and there are currently no stored default permissions. Please review/edit the applied settings and click [Submit] to finalize."] = "A questo canale sono stati applicati i permessi predefiniti ma <em>non</em> sono stati salvati. In realtà non esistono ancora dei permessi predefiniti da usare su questo sito. Controlla e verifica le impostazioni, [Salva] per confermare.";
+$a->strings["Clear/Disable Automatic Permissions"] = "Rimuovi/disabilita i permessi automatici";
+$a->strings["Forum Members"] = "Membro di un forum";
+$a->strings["Soapbox"] = "Comunicati e annunci";
+$a->strings["Full Sharing (typical social network permissions)"] = "Condivisione completa (permessi tipici dei social network)";
+$a->strings["Cautious Sharing "] = "Condivisione prudente";
+$a->strings["Follow Only"] = "Follower";
$a->strings["Individual Permissions"] = "Permessi individuali";
-$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle.";
-$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi proprio le impostazioni generali.";
+$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "I permessi nelle <a href=\"settings\">impostazioni di privacy</a> hanno priorità su quelli mostrati in questa pagina. Non avrà alcun effetto cambiarli qui, se sono indicati come derivati.";
+$a->strings["Advanced Permissions"] = "Permessi avanzati";
+$a->strings["Simple Permissions (select one and submit)"] = "Permessi semplificati (seleziona e salva)";
+$a->strings["Visit %s's profile - %s"] = "Guarda il profilo di %s - %s";
+$a->strings["Block/Unblock contact"] = "Blocca/sblocca contatto";
+$a->strings["Ignore contact"] = "Ignora il contatto";
+$a->strings["Repair URL settings"] = "Ripara le impostazioni URL";
+$a->strings["View conversations"] = "Leggi le conversazioni";
+$a->strings["Delete contact"] = "Elimina contatto";
$a->strings["Last update:"] = "Ultimo aggiornamento:";
+$a->strings["Update public posts"] = "Aggiorna gli articoli pubblici";
+$a->strings["Update now"] = "Aggiorna adesso";
+$a->strings["Currently blocked"] = "Attualmente bloccato";
+$a->strings["Currently ignored"] = "Attualmente ignorato";
+$a->strings["Currently archived"] = "Attualmente archiviato";
+$a->strings["Currently pending"] = "Attualmente da approvare";
$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente.";
$a->strings["The error message was:"] = "Messaggio di errore ricevuto:";
$a->strings["Authentication failed."] = "Autenticazione fallita.";
-$a->strings["Remote Authentication"] = "Accedi dal tuo hub";
+$a->strings["Remote Authentication"] = "Autenticazione a distanza";
$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)";
-$a->strings["Authenticate"] = "Accedi";
+$a->strings["Authenticate"] = "Autenticazione";
$a->strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
$a->strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
$a->strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto.";
@@ -2022,14 +1992,14 @@ $a->strings["Send Reply"] = "Invia la risposta";
$a->strings["Invalid request identifier."] = "L'identificativo della richiesta non è valido.";
$a->strings["Discard"] = "Rifiuta";
$a->strings["Please login."] = "Effettua l'accesso.";
-$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione magica dal tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo.";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione magica dal tuo sito non è disponibile. Hai accesso solamente a questo sito. Puoi provare a disconnetterti per tentare di nuovo.";
$a->strings["Add a Channel"] = "Aggiungi un canale";
$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "I contenuti che pubblichi sono mostrati nel tuo \"canale\". Un canale può essere usato come bacheca personale, come blog, oppure può essere un forum di discussione, un gruppo di interesse, una pagina di celebrità e molto altro. Puoi creare tanti canali quanti ne permette il tuo sito.";
$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\"";
$a->strings["Choose a short nickname"] = "Scegli un nome breve";
$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale (simile a una email). Così potrai condividerlo e gli altri potranno trovarti.";
$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Oppure <a href=\"import\">importa un tuo canale esistente</a> da un altro server/hub";
-$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. RedMatrix sceglierà per te i permessi più adatti.";
+$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Descrivi il tipo di canale che vorresti creare (per esempio se ti interessa più usarlo come social network, come un forum di discussione...) e il tipo di privacy che preferisci. Hubzilla sceglierà per te i permessi più adatti.";
$a->strings["Channel Type"] = "Tipo di canale";
$a->strings["Read more about roles"] = "Maggiori informazioni sui ruoli";
$a->strings["App installed."] = "App installata";
@@ -2047,18 +2017,18 @@ $a->strings["Location (URL) to purchase app"] = "Indirizzo (URL) per acquistare
$a->strings["sent you a private message"] = "ti ha inviato un messaggio privato";
$a->strings["added your channel"] = "ha aggiunto il tuo canale";
$a->strings["posted an event"] = "ha creato un evento";
-$a->strings["Comanche page description language help"] = "Guida di Comanche Page Description Language";
-$a->strings["Layout Description"] = "Descrizione del layout";
-$a->strings["Download PDL file"] = "Scarica il file PDL";
-$a->strings["Welcome to %s"] = "%s ti dà il benvenuto";
-$a->strings["Lorem Ipsum"] = "Lorem Ipsum";
+$a->strings["No such group"] = "Impossibile trovare l'insieme";
+$a->strings["No such channel"] = "Canale sconosciuto";
+$a->strings["Search Results For:"] = "Cerca risultati con:";
+$a->strings["Collection is empty"] = "L'insieme di canali è vuoto";
+$a->strings["Collection: "] = "Insieme:";
+$a->strings["Connection: "] = "Contatto:";
+$a->strings["Invalid connection."] = "Contatto non valido.";
+$a->strings["Ipsum Lorem"] = "Ipsum Lorem";
$a->strings["Bookmark added"] = "Segnalibro aggiunto";
$a->strings["My Bookmarks"] = "I miei segnalibri";
$a->strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
$a->strings["Insufficient permissions. Request redirected to profile page."] = "Permessi insufficienti. Sarà visualizzata la pagina del profilo.";
-$a->strings["This setting requires special processing and editing has been blocked."] = "Questa impostazione è bloccata, richiede criteri di modifica speciali";
-$a->strings["Configuration Editor"] = "Editor di configurazione";
-$a->strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Avviso: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare.";
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore.";
$a->strings["Poll"] = "Sondaggio";
$a->strings["View Results"] = "Guarda i risultati";
@@ -2068,41 +2038,41 @@ $a->strings["NEW"] = "NOVITÀ";
$a->strings["Remove all files"] = "Elimina tutti i file";
$a->strings["Remove this file"] = "Elimina questo file";
$a->strings["Schema Default"] = "Schema predefinito";
-$a->strings["Sans-Serif"] = "Sans-Serif";
+$a->strings["Sans-Serif"] = "Sans-serif";
$a->strings["Monospace"] = "Monospace";
$a->strings["Theme settings"] = "Impostazioni del tema";
$a->strings["Set scheme"] = "Schema";
-$a->strings["Set font-size for posts and comments"] = "Dimensioni del carattere per post e commenti";
+$a->strings["Set font-size for posts and comments"] = "Dimensioni del carattere per articoli e commenti";
$a->strings["Set font face"] = "Tipo di carattere";
$a->strings["Set iconset"] = "Icone";
$a->strings["Set big shadow size, default 15px 15px 15px"] = "Ombra grande, predefinita 15px 15px 15px";
$a->strings["Set small shadow size, default 5px 5px 5px"] = "Ombra piccola, predefinita 5px 5px 5px";
$a->strings["Set shadow color, default #000"] = "Colore dell'ombra, predefinito #000";
$a->strings["Set radius size, default 5px"] = "Raggio degli angoli, predefinito 5px";
-$a->strings["Set line-height for posts and comments"] = "Altezza della riga per post e commenti";
+$a->strings["Set line-height for posts and comments"] = "Altezza della riga per articoli e commenti";
$a->strings["Set background image"] = "Immagine di sfondo";
-$a->strings["Set background attachment"] = "Sfondo allegato";
+$a->strings["Set background attachment"] = "Allega uno sfondo";
$a->strings["Set background color"] = "Colore di sfondo";
-$a->strings["Set section background image"] = "Immagine di sfondo dei contenuti";
-$a->strings["Set section background color"] = "Colore di sfondo dei contenuti";
+$a->strings["Set section background image"] = "Immagine di sfondo della sezione";
+$a->strings["Set section background color"] = "Colore di sfondo dell'area principale";
$a->strings["Set color of items - use hex"] = "Colore degli elementi della pagina - esadecimale";
$a->strings["Set color of links - use hex"] = "Colore dei link - esadecimale";
-$a->strings["Set max-width for items. Default 400px"] = "Larghezza massima degli elementi della pagina. Predefinita 400px";
-$a->strings["Set min-width for items. Default 240px"] = "Larghezza minima degli elementi della pagina. Predefinita 240px";
-$a->strings["Set the generic content wrapper width. Default 48%"] = "Larghezza dell'area dei contenuti. Predefinita: 48%";
+$a->strings["Set max-width for items. Default 400px"] = "Larghezza massima degli elementi della pagina. Predefinita: 400px";
+$a->strings["Set min-width for items. Default 240px"] = "Larghezza minima degli elementi della pagina. Predefinita: 240px";
+$a->strings["Set the generic content wrapper width. Default 48%"] = "Larghezza di tutta l'area dei contenuti. Predefinita: 48%";
$a->strings["Set color of fonts - use hex"] = "Colore dei caratteri - esadecimale";
-$a->strings["Set background-size element"] = "Dimensione sfondo";
+$a->strings["Set background-size element"] = "Background-size element";
$a->strings["Item opacity"] = "Opacità degli elementi della pagina";
-$a->strings["Display post previews only"] = "Mostra l'anteprima solo dei post";
+$a->strings["Display post previews only"] = "Mostra le anteprime solo degli articoli";
$a->strings["Display side bar on channel page"] = "Mostra la colonna laterale sulla pagina del canale";
$a->strings["Colour of the navigation bar"] = "Colore della barra di navigazione";
$a->strings["Item float"] = "Float degli oggetti della pagina";
-$a->strings["Left offset of the section element"] = "Margine sinistro dei contenuti";
-$a->strings["Right offset of the section element"] = "Margine destro dei contenuti";
-$a->strings["Section width"] = "Larghezza dei contenuti";
+$a->strings["Left offset of the section element"] = "Margine sinistro dell'area principale";
+$a->strings["Right offset of the section element"] = "Margine destro dell'area principale";
+$a->strings["Section width"] = "Larghezza dell'area principale";
$a->strings["Left offset of the aside"] = "Margine sinistro della colonna laterale";
$a->strings["Right offset of the aside element"] = "Margine destro della colonna laterale";
-$a->strings["Light (Red Matrix default)"] = "Light (predefinito)";
+$a->strings["Light (Hubzilla default)"] = "Light (predefinito)";
$a->strings["Select scheme"] = "Scegli uno schema";
$a->strings["Narrow navbar"] = "Barra di navigazione ristretta";
$a->strings["Navigation bar background color"] = "Barra di navigazione: Colore di sfondo";
@@ -2125,7 +2095,7 @@ $a->strings["Set the basic color for item icons"] = "Colore di base per le icone
$a->strings["Set the hover color for item icons"] = "Colore per le icone in mouse-over";
$a->strings["Set font-size for the entire application"] = "Dimensione font per tutto il sito";
$a->strings["Example: 14px"] = "Esempio: 14px";
-$a->strings["Set font-color for posts and comments"] = "Imposta il colore del carattere per post e commenti";
+$a->strings["Set font-color for posts and comments"] = "Imposta il colore del carattere per articoli e commenti";
$a->strings["Set radius of corners"] = "Raggio degli angoli stondati";
$a->strings["Set shadow depth of photos"] = "Profondità dell'ombra delle foto";
$a->strings["Set maximum width of content region in pixel"] = "Larghezza massima dell'area dei contenuti in pixel";
@@ -2136,7 +2106,7 @@ $a->strings["Set size of conversation author photo"] = "Dimensione foto dell'aut
$a->strings["Set size of followup author photos"] = "Dimensione foto dei partecipanti alla conversazione";
$a->strings["Update %s failed. See error logs."] = "%s: aggiornamento fallito. Controlla i log di errore.";
$a->strings["Update Error at %s"] = "Errore di aggiornamento su %s";
-$a->strings["Create an account to access services and applications within the Red Matrix"] = "Registrati per accedere ai servizi e alle applicazioni di RedMatrix";
+$a->strings["Create an account to access services and applications within the Hubzilla"] = "Registrati per accedere ai servizi e alle applicazioni di Hubzilla";
$a->strings["Password"] = "Password";
$a->strings["Remember me"] = "Resta connesso";
$a->strings["Forgot your password?"] = "Hai dimenticato la password?";
@@ -2144,4 +2114,5 @@ $a->strings["toggle mobile"] = "attiva/disattiva versione mobile";
$a->strings["Website SSL certificate is not valid. Please correct."] = "Il certificato SSL del sito non è valido. Si prega di intervenire.";
$a->strings["[red] Website SSL error for %s"] = "[red] Errore SSL %s ";
$a->strings["Cron/Scheduled tasks not running."] = "Processi/cron non avviati.";
-$a->strings["[red] Cron tasks not running on %s"] = "[red] Processi cron non avviati su %s";
+$a->strings["[red] Cron tasks not running on %s"] = "[red] Processi non avviati su %s";
+$a->strings["Source of Item"] = "Sorgente dell'Elemento";
diff --git a/view/it/update_fail_eml.tpl b/view/it/update_fail_eml.tpl
index 08901b6fb..97ab52205 100644
--- a/view/it/update_fail_eml.tpl
+++ b/view/it/update_fail_eml.tpl
@@ -1,7 +1,7 @@
Ehilà!
Sono il tuo fedele server {{$sitename}};
-Gli sviluppatori di Red Matrix hanno rilasciato l'update {{$update}},
+Gli sviluppatori di Hubzilla hanno rilasciato l'update {{$update}},
ma quando ho cercato di installarlo c'è stato qualcosa che non è filato liscio, per usare un eufemismo.
Dovrebbe essere effettuata al più presto una correzione, ma sarà necessario l'intervento umano.
Ti consiglio di contattare uno sviluppatore di Red se non riesci a capire come risolvere
diff --git a/view/js/main.js b/view/js/main.js
index 5fe778488..77184465d 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -135,7 +135,7 @@ function insertCommentURL(comment, id) {
if(reply && reply.length) {
reply = bin2hex(reply);
$('body').css('cursor', 'wait');
- $.get('parse_url?binurl=' + reply, function(data) {
+ $.get('linkinfo?f=&binurl=' + reply, function(data) {
var tmpStr = $("#comment-edit-text-" + id).val();
if(tmpStr == comment) {
tmpStr = "";
diff --git a/view/js/mod_connedit.js b/view/js/mod_connedit.js
index d6cc42175..84fff5ed1 100644
--- a/view/js/mod_connedit.js
+++ b/view/js/mod_connedit.js
@@ -25,7 +25,6 @@ function connectFullShare() {
});
$('#me_id_perms_view_stream').attr('checked','checked');
$('#me_id_perms_view_profile').attr('checked','checked');
- $('#me_id_perms_view_photos').attr('checked','checked');
$('#me_id_perms_view_contacts').attr('checked','checked');
$('#me_id_perms_view_storage').attr('checked','checked');
$('#me_id_perms_view_pages').attr('checked','checked');
diff --git a/view/js/mod_settings.js b/view/js/mod_settings.js
index 5dac96940..e28a18b9f 100644
--- a/view/js/mod_settings.js
+++ b/view/js/mod_settings.js
@@ -46,7 +46,6 @@ function channel_privacy_macro(n) {
if(n == 0) {
$('#id_view_stream option').eq(0).attr('selected','selected');
$('#id_view_profile option').eq(0).attr('selected','selected');
- $('#id_view_photos option').eq(0).attr('selected','selected');
$('#id_view_contacts option').eq(0).attr('selected','selected');
$('#id_view_storage option').eq(0).attr('selected','selected');
$('#id_view_pages option').eq(0).attr('selected','selected');
@@ -54,7 +53,6 @@ function channel_privacy_macro(n) {
$('#id_post_wall option').eq(0).attr('selected','selected');
$('#id_post_comments option').eq(0).attr('selected','selected');
$('#id_post_mail option').eq(0).attr('selected','selected');
- $('#id_post_photos option').eq(0).attr('selected','selected');
$('#id_tag_deliver option').eq(0).attr('selected','selected');
$('#id_chat option').eq(0).attr('selected','selected');
$('#id_write_storage option').eq(0).attr('selected','selected');
@@ -69,7 +67,6 @@ function channel_privacy_macro(n) {
if(n == 1) {
$('#id_view_stream option').eq(1).attr('selected','selected');
$('#id_view_profile option').eq(1).attr('selected','selected');
- $('#id_view_photos option').eq(1).attr('selected','selected');
$('#id_view_contacts option').eq(1).attr('selected','selected');
$('#id_view_storage option').eq(1).attr('selected','selected');
$('#id_view_pages option').eq(1).attr('selected','selected');
@@ -77,7 +74,6 @@ function channel_privacy_macro(n) {
$('#id_post_wall option').eq(1).attr('selected','selected');
$('#id_post_comments option').eq(1).attr('selected','selected');
$('#id_post_mail option').eq(1).attr('selected','selected');
- $('#id_post_photos option').eq(1).attr('selected','selected');
$('#id_tag_deliver option').eq(1).attr('selected','selected');
$('#id_chat option').eq(1).attr('selected','selected');
$('#id_write_storage option').eq(1).attr('selected','selected');
@@ -92,7 +88,6 @@ function channel_privacy_macro(n) {
if(n == 2) {
$('#id_view_stream option').eq(7).attr('selected','selected');
$('#id_view_profile option').eq(7).attr('selected','selected');
- $('#id_view_photos option').eq(7).attr('selected','selected');
$('#id_view_contacts option').eq(7).attr('selected','selected');
$('#id_view_storage option').eq(7).attr('selected','selected');
$('#id_view_pages option').eq(7).attr('selected','selected');
@@ -100,7 +95,6 @@ function channel_privacy_macro(n) {
$('#id_post_wall option').eq(1).attr('selected','selected');
$('#id_post_comments option').eq(2).attr('selected','selected');
$('#id_post_mail option').eq(1).attr('selected','selected');
- $('#id_post_photos option').eq(0).attr('selected','selected');
$('#id_tag_deliver option').eq(1).attr('selected','selected');
$('#id_chat option').eq(1).attr('selected','selected');
$('#id_write_storage option').eq(0).attr('selected','selected');
@@ -115,7 +109,6 @@ function channel_privacy_macro(n) {
if(n == 3) {
$('#id_view_stream option').eq(7).attr('selected','selected');
$('#id_view_profile option').eq(7).attr('selected','selected');
- $('#id_view_photos option').eq(7).attr('selected','selected');
$('#id_view_contacts option').eq(7).attr('selected','selected');
$('#id_view_storage option').eq(7).attr('selected','selected');
$('#id_view_pages option').eq(7).attr('selected','selected');
@@ -123,7 +116,6 @@ function channel_privacy_macro(n) {
$('#id_post_wall option').eq(5).attr('selected','selected');
$('#id_post_comments option').eq(5).attr('selected','selected');
$('#id_post_mail option').eq(5).attr('selected','selected');
- $('#id_post_photos option').eq(2).attr('selected','selected');
$('#id_tag_deliver option').eq(1).attr('selected','selected');
$('#id_chat option').eq(5).attr('selected','selected');
$('#id_write_storage option').eq(2).attr('selected','selected');
diff --git a/view/nb-no/htconfig.tpl b/view/nb-no/htconfig.tpl
index 096143798..cc4087f96 100644
--- a/view/nb-no/htconfig.tpl
+++ b/view/nb-no/htconfig.tpl
@@ -30,7 +30,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
diff --git a/view/nb-no/messages.po b/view/nb-no/messages.po
index 1ab598252..152120b15 100644
--- a/view/nb-no/messages.po
+++ b/view/nb-no/messages.po
@@ -1,12 +1,12 @@
-# Red Matrix Project
-# Copyright (C) 2012-2014 the Red Matrix Project
+# Hubzilla Project
+# Copyright (C) 2012-2014 the Hubzilla Project
# This file is distributed under the same license as the Red package.
#
# Translators:
# Haakon Meland Eriksen <haakon.eriksen@far.no>, 2013-2015
msgid ""
msgstr ""
-"Project-Id-Version: Red Matrix\n"
+"Project-Id-Version: Hubzilla\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-03-20 00:03-0700\n"
"PO-Revision-Date: 2015-03-25 13:13+0000\n"
@@ -2422,8 +2422,8 @@ msgid "l F d, Y \\@ g:i A"
msgstr "l F d, Y \\@ g:i A"
#: ../../include/bb2diaspora.php:430
-msgid "Redmatrix event notification:"
-msgstr "RedMatrix hendelsesvarsling:"
+msgid "Hubzilla event notification:"
+msgstr "Hubzilla hendelsesvarsling:"
#: ../../include/bb2diaspora.php:434 ../../include/event.php:20
msgid "Starts:"
@@ -2805,12 +2805,12 @@ msgid "Login failed."
msgstr "Innlogging mislyktes."
#: ../../include/enotify.php:41
-msgid "Red Matrix Notification"
-msgstr "Red Matrix-varsling"
+msgid "Hubzilla Notification"
+msgstr "Hubzilla-varsling"
#: ../../include/enotify.php:42
-msgid "redmatrix"
-msgstr "redmatrix"
+msgid "hubzilla"
+msgstr "hubzilla"
#: ../../include/enotify.php:44
msgid "Thank You,"
@@ -4615,8 +4615,8 @@ msgid "Fetching URL returns error: %1$s"
msgstr "Henting av URL gir følgende feil: %1$s"
#: ../../mod/home.php:48
-msgid "Red Matrix - &quot;The Network&quot;"
-msgstr "Red Matrix - &quot;Nettverket&quot;"
+msgid "Hubzilla - &quot;The Network&quot;"
+msgstr "Hubzilla - &quot;Nettverket&quot;"
#: ../../mod/home.php:101
#, php-format
@@ -4718,9 +4718,9 @@ msgstr "Denne handlingen er begrenset til medlemmer."
#: ../../mod/like.php:21
msgid ""
-"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
-"href=\"register\">register as a new RedMatrix member</a> to continue."
-msgstr "Vennligst <a href=\"rmagic\">logg inn med din RedMatrix ID</a> eller <a href=\"register\">registrer deg som et nytt RedMatrix-medlem</a> for å fortsette"
+"Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a "
+"href=\"register\">register as a new Redmatrix.member</a> to continue."
+msgstr "Vennligst <a href=\"rmagic\">logg inn med din Hubzilla ID</a> eller <a href=\"register\">registrer deg som et nytt Redmatrix.medlem</a> for å fortsette"
#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
msgid "Invalid request."
@@ -4885,12 +4885,12 @@ msgstr "Offentlige nettsteder"
#: ../../mod/pubsites.php:19
msgid ""
-"The listed sites allow public registration into the Red Matrix. All sites in"
+"The listed sites allow public registration into the Hubzilla. All sites in"
" the matrix are interlinked so membership on any of them conveys membership "
"in the matrix as a whole. Some sites may require subscription or provide "
"tiered service plans. The provider links <strong>may</strong> provide "
"additional details."
-msgstr "Nettstedene på listen tillater offentlig registrering i Red Matrix. Alle nettsteder i matrix er forbundet så medlemskap på enhver av dem formidler medlemskap i hele matrix. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Tilbyderlenkene <strong>kan</strong> gi tilleggsopplysninger."
+msgstr "Nettstedene på listen tillater offentlig registrering i Hubzilla. Alle nettsteder i matrix er forbundet så medlemskap på enhver av dem formidler medlemskap i hele matrix. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Tilbyderlenkene <strong>kan</strong> gi tilleggsopplysninger."
#: ../../mod/pubsites.php:25
msgid "Rate this hub"
@@ -5268,8 +5268,8 @@ msgid "Currently pending"
msgstr "For øyeblikket ventende"
#: ../../mod/dav.php:121
-msgid "RedMatrix channel"
-msgstr "RedMatrix-kanal"
+msgid "Hubzilla channel"
+msgstr "Hubzilla-kanal"
#: ../../mod/group.php:20
msgid "Collection created."
@@ -5338,9 +5338,9 @@ msgstr "Red"
#: ../../mod/siteinfo.php:150
msgid ""
-"This is a hub of the Red Matrix - a global cooperative network of "
+"This is a hub of the Hubzilla - a global cooperative network of "
"decentralized privacy enhanced websites."
-msgstr "Dette er en hub i Red Matrix - et globalt kooperativt nettverk av desentraliserte personvernforsterkede nettsteder."
+msgstr "Dette er en hub i Hubzilla - et globalt kooperativt nettverk av desentraliserte personvernforsterkede nettsteder."
#: ../../mod/siteinfo.php:152
msgid "Tag: "
@@ -5356,9 +5356,9 @@ msgstr "Kjører på webplasseringen"
#: ../../mod/siteinfo.php:158
msgid ""
-"Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more"
-" about the Red Matrix."
-msgstr "Vennligst besøk <a href=\"https://redmatrix.me\">RedMatrix.me</a> for å lære mer om RedMatrix."
+"Please visit <a href=\"https://redmatrix.me\">Redmatrix.me</a> to learn more"
+" about the Hubzilla."
+msgstr "Vennligst besøk <a href=\"https://redmatrix.me\">Redmatrix.me</a> for å lære mer om Hubzilla."
#: ../../mod/siteinfo.php:159
msgid "Bug reports and issues: please visit"
@@ -5366,9 +5366,9 @@ msgstr "Feilmeldinger og feilretting: vennligst besøk"
#: ../../mod/siteinfo.php:162
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot "
"com"
-msgstr "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com"
+msgstr "Forslag, ros og så videre - vennligst e-post \"hubzilla\" hos librelist - punktum com"
#: ../../mod/siteinfo.php:164
msgid "Site Administrators"
@@ -5383,8 +5383,8 @@ msgid "Not Found"
msgstr "Ikke funnet"
#: ../../mod/setup.php:166
-msgid "Red Matrix Server - Setup"
-msgstr "Red Matrix tjener - oppsett"
+msgid "Hubzilla Server - Setup"
+msgstr "Hubzilla tjener - oppsett"
#: ../../mod/setup.php:172
msgid "Could not connect to database."
@@ -5428,9 +5428,9 @@ msgstr "Databaseforbindelse"
#: ../../mod/setup.php:290
msgid ""
-"In order to install Red Matrix we need to know how to connect to your "
+"In order to install Hubzilla we need to know how to connect to your "
"database."
-msgstr "For å installere Red Matrix må du oppgi hvordan din database kan kontaktes."
+msgstr "For å installere Hubzilla må du oppgi hvordan din database kan kontaktes."
#: ../../mod/setup.php:291
msgid ""
@@ -5951,8 +5951,8 @@ msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr "%1$s merket %3$s til %2$s med %4$s"
#: ../../mod/cloud.php:120
-msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
-msgstr "RedMatrix - gjester: brukernavn: {din e-postadresse}, passord: +++"
+msgid "Hubzilla - Guests: Username: {your email address}, Password: +++"
+msgstr "Hubzilla - gjester: brukernavn: {din e-postadresse}, passord: +++"
#: ../../mod/item.php:165
msgid "Unable to locate original post."
@@ -6435,20 +6435,20 @@ msgid "Your message:"
msgstr "Din melding:"
#: ../../mod/invite.php:132
-msgid "Please join my community on RedMatrix."
-msgstr "Du er velkommen til å bli med i mitt fellesskap på RedMatrix."
+msgid "Please join my community on Hubzilla."
+msgstr "Du er velkommen til å bli med i mitt fellesskap på Hubzilla."
#: ../../mod/invite.php:134
msgid "You will need to supply this invitation code: "
msgstr "Du må oppgi denne invitasjonskoden:"
#: ../../mod/invite.php:135
-msgid "1. Register at any RedMatrix location (they are all inter-connected)"
-msgstr "1. Registrer ved enhver RedMatrix-lokasjon (de er alle forbundet med hverandre)"
+msgid "1. Register at any Hubzilla location (they are all inter-connected)"
+msgstr "1. Registrer ved enhver Hubzilla-lokasjon (de er alle forbundet med hverandre)"
#: ../../mod/invite.php:137
-msgid "2. Enter my RedMatrix network address into the site searchbar."
-msgstr "2. Skriv inn min RedMatrix-adresse i nettstedets søkefelt."
+msgid "2. Enter my Hubzilla network address into the site searchbar."
+msgstr "2. Skriv inn min Hubzilla-adresse i nettstedets søkefelt."
#: ../../mod/invite.php:138
msgid "or visit "
@@ -8215,8 +8215,8 @@ msgid "URL of link"
msgstr "URL-en til lenken"
#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
-msgid "Use RedMatrix magic-auth if available"
-msgstr "Bruk RedMatrixs magiske-autentisering hvis tilgjengelig"
+msgid "Use Hubzilla magic-auth if available"
+msgstr "Bruk Hubzillas magiske-autentisering hvis tilgjengelig"
#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
msgid "Open link in new window"
@@ -8716,8 +8716,8 @@ msgid "Right offset of the aside element"
msgstr "Til høyre for sidestolpen"
#: ../../view/theme/redbasic/php/config.php:82
-msgid "Light (Red Matrix default)"
-msgstr "Lys (Red Matrix standard)"
+msgid "Light (Hubzilla default)"
+msgstr "Lys (Hubzilla standard)"
#: ../../view/theme/redbasic/php/config.php:101
msgid "Select scheme"
@@ -8855,8 +8855,8 @@ msgstr "Oppdateringsfeil ved %s"
#: ../../boot.php:1527
msgid ""
-"Create an account to access services and applications within the Red Matrix"
-msgstr "Lag en konto for å få tilgang til tjenester og programmer i Red Matrix"
+"Create an account to access services and applications within the Hubzilla"
+msgstr "Lag en konto for å få tilgang til tjenester og programmer i Hubzilla"
#: ../../boot.php:1555
msgid "Password"
diff --git a/view/nb-no/strings.php b/view/nb-no/strings.php
index df6ff8bc7..02d843938 100644
--- a/view/nb-no/strings.php
+++ b/view/nb-no/strings.php
@@ -567,7 +567,7 @@ $a->strings["Open the selected location in a different window or browser tab"] =
$a->strings["User '%s' deleted"] = "Brukeren '%s' er slettet";
$a->strings["Attachments:"] = "Vedlegg:";
$a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-$a->strings["Redmatrix event notification:"] = "RedMatrix hendelsesvarsling:";
+$a->strings["Hubzilla event notification:"] = "Hubzilla hendelsesvarsling:";
$a->strings["Starts:"] = "Starter:";
$a->strings["Finishes:"] = "Slutter:";
$a->strings["Logout"] = "Logg ut";
@@ -660,8 +660,8 @@ $a->strings["Unable to verify site signature for %s"] = "Ikke i stand til å bek
$a->strings["Logged out."] = "Logget ut.";
$a->strings["Failed authentication"] = "Mislykket autentisering";
$a->strings["Login failed."] = "Innlogging mislyktes.";
-$a->strings["Red Matrix Notification"] = "Red Matrix-varsling";
-$a->strings["redmatrix"] = "redmatrix";
+$a->strings["Hubzilla Notification"] = "Hubzilla-varsling";
+$a->strings["hubzilla"] = "hubzilla";
$a->strings["Thank You,"] = "Tusen takk,";
$a->strings["%s Administrator"] = "%s administrator";
$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
@@ -1096,7 +1096,7 @@ $a->strings["is interested in:"] = "er interessert i:";
$a->strings["No matches"] = "Ingen treff";
$a->strings["Item not available."] = "Elementet er ikke tilgjengelig.";
$a->strings["Fetching URL returns error: %1\$s"] = "Henting av URL gir følgende feil: %1\$s";
-$a->strings["Red Matrix - &quot;The Network&quot;"] = "Red Matrix - &quot;Nettverket&quot;";
+$a->strings["Hubzilla - &quot;The Network&quot;"] = "Hubzilla - &quot;Nettverket&quot;";
$a->strings["Welcome to %s"] = "Velkommen til %s";
$a->strings["Image uploaded but image cropping failed."] = "Bildet ble lastet opp, men beskjæring av bildet mislyktes.";
$a->strings["Image resize failed."] = "Endring av bildestørrelse mislyktes.";
@@ -1120,7 +1120,7 @@ $a->strings["Channel not found."] = "Kanalen ble ikke funnet.";
$a->strings["Page not found."] = "Siden ikke funnet.";
$a->strings["Like/Dislike"] = "Liker/Liker ikke";
$a->strings["This action is restricted to members."] = "Denne handlingen er begrenset til medlemmer.";
-$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "Vennligst <a href=\"rmagic\">logg inn med din RedMatrix ID</a> eller <a href=\"register\">registrer deg som et nytt RedMatrix-medlem</a> for å fortsette";
+$a->strings["Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a href=\"register\">register as a new Redmatrix.member</a> to continue."] = "Vennligst <a href=\"rmagic\">logg inn med din Hubzilla ID</a> eller <a href=\"register\">registrer deg som et nytt Redmatrix.medlem</a> for å fortsette";
$a->strings["Invalid request."] = "Ugyldig forespørsel.";
$a->strings["thing"] = "ting";
$a->strings["Channel unavailable."] = "Kanalen er utilgjengelig.";
@@ -1159,7 +1159,7 @@ $a->strings["Title:"] = "Tittel:";
$a->strings["Share this event"] = "Del denne hendelsen";
$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s følger %2\$s sin %3\$s";
$a->strings["Public Sites"] = "Offentlige nettsteder";
-$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Nettstedene på listen tillater offentlig registrering i Red Matrix. Alle nettsteder i matrix er forbundet så medlemskap på enhver av dem formidler medlemskap i hele matrix. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Tilbyderlenkene <strong>kan</strong> gi tilleggsopplysninger.";
+$a->strings["The listed sites allow public registration into the Hubzilla. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "Nettstedene på listen tillater offentlig registrering i Hubzilla. Alle nettsteder i matrix er forbundet så medlemskap på enhver av dem formidler medlemskap i hele matrix. Noen nettsteder kan kreve abonnement eller tilby lagdelte tjenesteavtaler. Tilbyderlenkene <strong>kan</strong> gi tilleggsopplysninger.";
$a->strings["Rate this hub"] = "Vurder denne hubben";
$a->strings["Site URL"] = "Nettstedets URL";
$a->strings["Access Type"] = "Tilgangstype";
@@ -1247,7 +1247,7 @@ $a->strings["Currently blocked"] = "For øyeblikket blokkert";
$a->strings["Currently ignored"] = "For øyeblikket ignorert";
$a->strings["Currently archived"] = "For øyeblikket arkivert";
$a->strings["Currently pending"] = "For øyeblikket ventende";
-$a->strings["RedMatrix channel"] = "RedMatrix-kanal";
+$a->strings["Hubzilla channel"] = "Hubzilla-kanal";
$a->strings["Collection created."] = "Samling opprettet.";
$a->strings["Could not create collection."] = "Kunne ikke lage samling.";
$a->strings["Collection updated."] = "Samlingen er oppdatert.";
@@ -1264,17 +1264,17 @@ $a->strings["Version %s"] = "Versjon %s";
$a->strings["Installed plugins/addons/apps:"] = "Installerte tilleggsfunksjoner/tillegg/apper:";
$a->strings["No installed plugins/addons/apps"] = "Ingen installerte tilleggsfunksjoner/tillegg/apper";
$a->strings["Red"] = "Red";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Dette er en hub i Red Matrix - et globalt kooperativt nettverk av desentraliserte personvernforsterkede nettsteder.";
+$a->strings["This is a hub of the Hubzilla - a global cooperative network of decentralized privacy enhanced websites."] = "Dette er en hub i Hubzilla - et globalt kooperativt nettverk av desentraliserte personvernforsterkede nettsteder.";
$a->strings["Tag: "] = "Merkelapp:";
$a->strings["Last background fetch: "] = "Siste innhenting i bakgrunnen:";
$a->strings["Running at web location"] = "Kjører på webplasseringen";
-$a->strings["Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more about the Red Matrix."] = "Vennligst besøk <a href=\"https://redmatrix.me\">RedMatrix.me</a> for å lære mer om RedMatrix.";
+$a->strings["Please visit <a href=\"https://redmatrix.me\">Redmatrix.me</a> to learn more about the Hubzilla."] = "Vennligst besøk <a href=\"https://redmatrix.me\">Redmatrix.me</a> for å lære mer om Hubzilla.";
$a->strings["Bug reports and issues: please visit"] = "Feilmeldinger og feilretting: vennligst besøk";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Forslag, ros og så videre - vennligst e-post \"redmatrix\" hos librelist - punktum com";
+$a->strings["Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot com"] = "Forslag, ros og så videre - vennligst e-post \"hubzilla\" hos librelist - punktum com";
$a->strings["Site Administrators"] = "Nettstedsadministratorer";
$a->strings["Help:"] = "Hjelp:";
$a->strings["Not Found"] = "Ikke funnet";
-$a->strings["Red Matrix Server - Setup"] = "Red Matrix tjener - oppsett";
+$a->strings["Hubzilla Server - Setup"] = "Hubzilla tjener - oppsett";
$a->strings["Could not connect to database."] = "Fikk ikke kontakt med databasen.";
$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Fikk ikke kontakt med det angitte nettstedets URL. Problemet kan muligens skyldes SSL-sertifikatet eller DNS.";
$a->strings["Could not create table."] = "Kunne ikke lage tabellen.";
@@ -1284,7 +1284,7 @@ $a->strings["Please see the file \"install/INSTALL.txt\"."] = "Vennligst les fil
$a->strings["System check"] = "Systemsjekk";
$a->strings["Check again"] = "Sjekk igjen";
$a->strings["Database connection"] = "Databaseforbindelse";
-$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "For å installere Red Matrix må du oppgi hvordan din database kan kontaktes.";
+$a->strings["In order to install Hubzilla we need to know how to connect to your database."] = "For å installere Hubzilla må du oppgi hvordan din database kan kontaktes.";
$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Vennligst kontakt din nettstedstilbyder eller nettstedsadministrator hvis du har spørsmål om disse innstillingene.";
$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Databasen du oppgir nedenfor må finnes på forhånd. Hvis den ikke finnes, vennligst lag den før du fortsetter.";
$a->strings["Database Server Name"] = "Navn på databasetjener";
@@ -1398,7 +1398,7 @@ $a->strings["block"] = "byggekloss";
$a->strings["layout"] = "layout";
$a->strings["%s element installed"] = "%s element installert";
$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s merket %3\$s til %2\$s med %4\$s";
-$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "RedMatrix - gjester: brukernavn: {din e-postadresse}, passord: +++";
+$a->strings["Hubzilla - Guests: Username: {your email address}, Password: +++"] = "Hubzilla - gjester: brukernavn: {din e-postadresse}, passord: +++";
$a->strings["Unable to locate original post."] = "Ikke i stand til å finne opprinnelig innlegg.";
$a->strings["Empty post discarded."] = "Tomt innlegg forkastet.";
$a->strings["Executable content type not permitted to this channel."] = "Kjørbar innholdstype er ikke tillat for denne kanalen.";
@@ -1513,10 +1513,10 @@ $a->strings["You have no more invitations available"] = "Du har ikke flere invit
$a->strings["Send invitations"] = "Send invitasjoner";
$a->strings["Enter email addresses, one per line:"] = "Skriv e-postadresser, en per linje:";
$a->strings["Your message:"] = "Din melding:";
-$a->strings["Please join my community on RedMatrix."] = "Du er velkommen til å bli med i mitt fellesskap på RedMatrix.";
+$a->strings["Please join my community on Hubzilla."] = "Du er velkommen til å bli med i mitt fellesskap på Hubzilla.";
$a->strings["You will need to supply this invitation code: "] = "Du må oppgi denne invitasjonskoden:";
-$a->strings["1. Register at any RedMatrix location (they are all inter-connected)"] = "1. Registrer ved enhver RedMatrix-lokasjon (de er alle forbundet med hverandre)";
-$a->strings["2. Enter my RedMatrix network address into the site searchbar."] = "2. Skriv inn min RedMatrix-adresse i nettstedets søkefelt.";
+$a->strings["1. Register at any Hubzilla location (they are all inter-connected)"] = "1. Registrer ved enhver Hubzilla-lokasjon (de er alle forbundet med hverandre)";
+$a->strings["2. Enter my Hubzilla network address into the site searchbar."] = "2. Skriv inn min Hubzilla-adresse i nettstedets søkefelt.";
$a->strings["or visit "] = "eller besøk";
$a->strings["3. Click [Connect]"] = "3. Klikk [Forbindelse]";
$a->strings["Location not found."] = "Plassering er ikke funnet.";
@@ -1946,7 +1946,7 @@ $a->strings["New Menu Element"] = "Nytt menyelement";
$a->strings["Menu Item Permissions"] = "Menyelement Tillatelser";
$a->strings["Link text"] = "Lenketekst";
$a->strings["URL of link"] = "URL-en til lenken";
-$a->strings["Use RedMatrix magic-auth if available"] = "Bruk RedMatrixs magiske-autentisering hvis tilgjengelig";
+$a->strings["Use Hubzilla magic-auth if available"] = "Bruk Hubzillas magiske-autentisering hvis tilgjengelig";
$a->strings["Open link in new window"] = "Åpne lenke i nytt vindu";
$a->strings["Order in list"] = "Ordne i liste";
$a->strings["Higher numbers will sink to bottom of listing"] = "Høyere tall vil synke mot bunnen av listen";
@@ -2066,7 +2066,7 @@ $a->strings["Right offset of the section element"] = "Til høyre for seksjonsele
$a->strings["Section width"] = "Seksjonsbredde";
$a->strings["Left offset of the aside"] = "Til venstre for sidestolpen";
$a->strings["Right offset of the aside element"] = "Til høyre for sidestolpen";
-$a->strings["Light (Red Matrix default)"] = "Lys (Red Matrix standard)";
+$a->strings["Light (Hubzilla default)"] = "Lys (Hubzilla standard)";
$a->strings["Select scheme"] = "Velg skjema";
$a->strings["Narrow navbar"] = "Smal navigasjonslinje";
$a->strings["Navigation bar background color"] = "Navigasjonslinjens bakgrunnsfarge";
@@ -2100,7 +2100,7 @@ $a->strings["Set size of conversation author photo"] = "Angi størrelsen for sam
$a->strings["Set size of followup author photos"] = "Angi størrelsen på forfatterbilder ved oppfølging";
$a->strings["Update %s failed. See error logs."] = "Oppdatering %s mislyktes. Se feilloggen.";
$a->strings["Update Error at %s"] = "Oppdateringsfeil ved %s";
-$a->strings["Create an account to access services and applications within the Red Matrix"] = "Lag en konto for å få tilgang til tjenester og programmer i Red Matrix";
+$a->strings["Create an account to access services and applications within the Hubzilla"] = "Lag en konto for å få tilgang til tjenester og programmer i Hubzilla";
$a->strings["Password"] = "Passord";
$a->strings["Remember me"] = "Husk meg";
$a->strings["Forgot your password?"] = "Glemt passordet ditt?";
diff --git a/view/nb-no/update_fail_eml.tpl b/view/nb-no/update_fail_eml.tpl
index a7df8fc2f..61f44b1e6 100644
--- a/view/nb-no/update_fail_eml.tpl
+++ b/view/nb-no/update_fail_eml.tpl
@@ -1,7 +1,7 @@
Hey,
I'm the web server at {{$sitename}};
-The Red Matrix developers released update {{$update}} recently,
+The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and it requires human intervention.
Please contact a Red developer if you can not figure out how to
diff --git a/view/nl/messages.po b/view/nl/messages.po
index 21eab719d..1c8420890 100644
--- a/view/nl/messages.po
+++ b/view/nl/messages.po
@@ -9,10 +9,10 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-08-21 00:04-0700\n"
-"PO-Revision-Date: 2015-08-28 12:04+0000\n"
+"POT-Creation-Date: 2015-05-17 16:33-0700\n"
+"PO-Revision-Date: 2015-05-20 13:13+0000\n"
"Last-Translator: jeroenpraat <jeroenpraat@xs4all.nl>\n"
-"Language-Team: Dutch (http://www.transifex.com/Friendica/red-matrix/language/nl/)\n"
+"Language-Team: Dutch (http://www.transifex.com/projects/p/red-matrix/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -26,87 +26,15 @@ msgstr "Kan DNS-informatie voor databaseserver '%s' niet vinden"
#: ../../include/photo/photo_driver.php:687 ../../mod/profile_photo.php:143
#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
-#: ../../mod/photos.php:92 ../../mod/photos.php:637
+#: ../../mod/photos.php:91 ../../mod/photos.php:625
msgid "Profile Photos"
msgstr "Profielfoto's"
-#: ../../include/menu.php:107 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:266
-#: ../../include/ItemObject.php:100 ../../include/apps.php:254
-#: ../../mod/webpages.php:181 ../../mod/thing.php:227
-#: ../../mod/connections.php:382 ../../mod/connections.php:395
-#: ../../mod/connections.php:414 ../../mod/blocks.php:153
-#: ../../mod/editpost.php:106 ../../mod/editlayout.php:133
-#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:134
-#: ../../mod/menu.php:103 ../../mod/settings.php:650 ../../mod/layouts.php:183
-msgid "Edit"
-msgstr "Bewerken"
-
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Regelmatig"
-
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "Elk uur"
-
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Twee keer per dag"
-
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Dagelijks"
-
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Wekelijks"
-
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Maandelijks"
-
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
-
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
-#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
-#: ../../boot.php:1553
-msgid "Email"
-msgstr "E-mail"
-
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
-
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
-
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
-
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
-
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/security.php:349
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. "
#: ../../include/notify.php:23
msgid "created a new post"
@@ -117,18 +45,6 @@ msgstr "maakte een nieuw bericht aan"
msgid "commented on %s's post"
msgstr "gaf een reactie op een bericht van %s"
-#: ../../include/Import/import_diaspora.php:17
-msgid "No username found in import file."
-msgstr "Geen gebruikersnaam in het importbestand gevonden."
-
-#: ../../include/Import/import_diaspora.php:42 ../../mod/import.php:156
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt."
-
-#: ../../include/Import/import_diaspora.php:140 ../../mod/import.php:530
-msgid "Import completed."
-msgstr "Import voltooid."
-
#: ../../include/group.php:26
msgid ""
"A deleted group with this name was revived. Existing item permissions "
@@ -140,7 +56,7 @@ msgstr "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande item
msgid "Default privacy group for new contacts"
msgstr "Standaard privacy-collectie voor nieuwe kanalen"
-#: ../../include/group.php:254 ../../mod/admin.php:831
+#: ../../include/group.php:254 ../../mod/admin.php:822
msgid "All Channels"
msgstr "Alle kanalen"
@@ -180,6 +96,7 @@ msgstr "Jouw e-maildomein is op deze hub niet toegestaan"
msgid "Your email address is already registered at this site."
msgstr "Jouw e-mailadres is al op deze hub geregistreerd."
+
#: ../../include/account.php:67
msgid "An invitation is required."
msgstr "Een uitnodiging is vereist"
@@ -207,7 +124,7 @@ msgid "Registration request at %s"
msgstr "Registratiebevestiging voor %s"
#: ../../include/account.php:314 ../../include/account.php:341
-#: ../../include/account.php:401 ../../include/network.php:1632
+#: ../../include/account.php:401
msgid "Administrator"
msgstr "Beheerder"
@@ -253,12 +170,12 @@ msgstr "Diversen"
msgid "YYYY-MM-DD or MM-DD"
msgstr "JJJJ-MM-DD of MM-DD"
-#: ../../include/datetime.php:235 ../../mod/events.php:649
+#: ../../include/datetime.php:235 ../../mod/events.php:635
#: ../../mod/appman.php:91 ../../mod/appman.php:92
msgid "Required"
msgstr "Vereist"
-#: ../../include/datetime.php:262 ../../boot.php:2354
+#: ../../include/datetime.php:262 ../../boot.php:2342
msgid "never"
msgstr "nooit"
@@ -338,69 +255,41 @@ msgstr "Verjaardag van %1$s"
msgid "Happy Birthday %1$s"
msgstr "Gefeliciteerd met je verjaardag %1$s"
-#: ../../include/dir_fns.php:126
-msgid "Directory Options"
-msgstr "Opties kanalengids"
-
-#: ../../include/dir_fns.php:128
-msgid "Safe Mode"
-msgstr "Veilig zoeken"
-
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:106
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:428
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../mod/connedit.php:635 ../../mod/connedit.php:663
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "No"
-msgstr "Nee"
-
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:105
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:430
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "Yes"
-msgstr "Ja"
-
-#: ../../include/dir_fns.php:129
-msgid "Public Forums Only"
-msgstr "Alleen openbare forums"
-
-#: ../../include/dir_fns.php:130
-msgid "This Website Only"
-msgstr "Alleen deze hub"
-
#: ../../include/page_widgets.php:6
msgid "New Page"
msgstr "Nieuwe pagina"
-#: ../../include/page_widgets.php:39 ../../mod/webpages.php:187
-#: ../../mod/blocks.php:159 ../../mod/layouts.php:188
+#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../include/RedDAV/RedBrowser.php:269 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:43
+#: ../../mod/settings.php:644 ../../mod/webpages.php:179
+#: ../../mod/thing.php:227 ../../mod/connections.php:382
+#: ../../mod/connections.php:395 ../../mod/connections.php:414
+#: ../../mod/blocks.php:152 ../../mod/editlayout.php:139
+#: ../../mod/editwebpage.php:178 ../../mod/editpost.php:113
+#: ../../mod/menu.php:100 ../../mod/editblock.php:140
+#: ../../mod/layouts.php:182
+msgid "Edit"
+msgstr "Bewerken"
+
+#: ../../include/page_widgets.php:39 ../../mod/webpages.php:185
+#: ../../mod/blocks.php:158 ../../mod/layouts.php:187
msgid "View"
msgstr "Weergeven"
#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
-#: ../../include/conversation.php:1155 ../../mod/webpages.php:188
-#: ../../mod/events.php:667 ../../mod/editpost.php:143
-#: ../../mod/photos.php:982 ../../mod/editwebpage.php:214
-#: ../../mod/editblock.php:170
+#: ../../include/conversation.php:1155 ../../mod/webpages.php:186
+#: ../../mod/events.php:653 ../../mod/photos.php:970
+#: ../../mod/editwebpage.php:214 ../../mod/editpost.php:149
+#: ../../mod/editblock.php:176
msgid "Preview"
msgstr "Voorvertoning"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:187
msgid "Actions"
msgstr "Acties"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:188
msgid "Page Link"
msgstr "Paginalink"
@@ -408,31 +297,89 @@ msgstr "Paginalink"
msgid "Title"
msgstr "Titel"
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:192
-#: ../../mod/blocks.php:150 ../../mod/menu.php:105 ../../mod/layouts.php:181
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:190
+#: ../../mod/blocks.php:149 ../../mod/layouts.php:180
msgid "Created"
msgstr "Aangemaakt"
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:193
-#: ../../mod/blocks.php:151 ../../mod/menu.php:106 ../../mod/layouts.php:182
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:191
+#: ../../mod/blocks.php:150 ../../mod/layouts.php:181
msgid "Edited"
msgstr "Bewerkt"
-#: ../../include/api.php:1214
+#: ../../include/api.php:1158
msgid "Public Timeline"
msgstr "Openbare tijdlijn"
-#: ../../include/comanche.php:34 ../../mod/admin.php:390
+#: ../../include/comanche.php:34 ../../mod/admin.php:386
#: ../../view/theme/apw/php/config.php:185
msgid "Default"
msgstr "Standaard"
+#: ../../include/dir_fns.php:143
+msgid "Directory Options"
+msgstr "Opties kanalengids"
+
+#: ../../include/dir_fns.php:144
+msgid "Alphabetic"
+msgstr "Alfabetisch"
+
+#: ../../include/dir_fns.php:145
+msgid "Reverse Alphabetic"
+msgstr "Omgekeerd alfabetisch"
+
+#: ../../include/dir_fns.php:146
+msgid "Newest to Oldest"
+msgstr "Nieuw naar oud"
+
+#: ../../include/dir_fns.php:147
+msgid "Oldest to Newest"
+msgstr "Oud naar nieuw"
+
+#: ../../include/dir_fns.php:148
+msgid "Sort"
+msgstr "Sorteren"
+
+#: ../../include/dir_fns.php:152
+msgid "Safe Mode"
+msgstr "Veilig zoeken"
+
+#: ../../include/dir_fns.php:154
+msgid "Public Forums Only"
+msgstr "Alleen openbare forums"
+
+#: ../../include/dir_fns.php:155
+msgid "This Website Only"
+msgstr "Alleen deze hub"
+
+#: ../../include/event.php:19 ../../include/bb2diaspora.php:451
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
+
+#: ../../include/event.php:27 ../../include/bb2diaspora.php:457
+msgid "Starts:"
+msgstr "Start:"
+
+#: ../../include/event.php:37 ../../include/bb2diaspora.php:465
+msgid "Finishes:"
+msgstr "Einde:"
+
+#: ../../include/event.php:47 ../../include/bb2diaspora.php:473
+#: ../../include/identity.php:874 ../../mod/events.php:647
+#: ../../mod/directory.php:234
+msgid "Location:"
+msgstr "Plaats:"
+
+#: ../../include/event.php:391
+msgid "This event has been added to your calendar."
+msgstr "Dit evenement is aan jouw agenda toegevoegd."
+
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr "Dit item verwijderen?"
#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
-#: ../../mod/photos.php:980 ../../mod/photos.php:1098
+#: ../../mod/photos.php:968 ../../mod/photos.php:1086
msgid "Comment"
msgstr "Reactie"
@@ -460,7 +407,7 @@ msgstr "Wachtwoord te kort"
msgid "Passwords do not match"
msgstr "Wachtwoorden komen niet overeen"
-#: ../../include/js_strings.php:13 ../../mod/photos.php:40
+#: ../../include/js_strings.php:13 ../../mod/photos.php:39
msgid "everybody"
msgstr "iedereen"
@@ -489,7 +436,6 @@ msgid "Rate This Channel (this is public)"
msgstr "Beoordeel dit kanaal (dit is openbaar)"
#: ../../include/js_strings.php:20 ../../mod/rate.php:156
-#: ../../mod/connedit.php:671
msgid "Rating"
msgstr "Beoordeling"
@@ -498,26 +444,25 @@ msgid "Describe (optional)"
msgstr "Omschrijving (optioneel)"
#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
-#: ../../mod/xchan.php:11 ../../mod/connect.php:93 ../../mod/thing.php:275
-#: ../../mod/thing.php:318 ../../mod/events.php:494 ../../mod/events.php:670
-#: ../../mod/group.php:81 ../../mod/photos.php:577 ../../mod/photos.php:654
-#: ../../mod/photos.php:941 ../../mod/photos.php:981 ../../mod/photos.php:1099
-#: ../../mod/pdledit.php:58 ../../mod/import.php:560 ../../mod/chat.php:177
-#: ../../mod/chat.php:211 ../../mod/mitem.php:232 ../../mod/rate.php:167
-#: ../../mod/invite.php:142 ../../mod/locs.php:105 ../../mod/sources.php:104
-#: ../../mod/sources.php:138 ../../mod/filestorage.php:156
-#: ../../mod/fsuggest.php:108 ../../mod/poke.php:166
-#: ../../mod/profiles.php:667 ../../mod/setup.php:327 ../../mod/setup.php:367
-#: ../../mod/admin.php:453 ../../mod/admin.php:819 ../../mod/admin.php:986
-#: ../../mod/admin.php:1118 ../../mod/admin.php:1312 ../../mod/admin.php:1397
-#: ../../mod/settings.php:588 ../../mod/settings.php:692
-#: ../../mod/settings.php:718 ../../mod/settings.php:746
-#: ../../mod/settings.php:769 ../../mod/settings.php:854
-#: ../../mod/settings.php:1050 ../../mod/mood.php:134
-#: ../../mod/connedit.php:692 ../../mod/mail.php:355 ../../mod/appman.php:99
-#: ../../mod/pconfig.php:108 ../../mod/poll.php:68
-#: ../../mod/bulksetclose.php:24 ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/redbasic/php/config.php:99
+#: ../../mod/settings.php:582 ../../mod/settings.php:684
+#: ../../mod/settings.php:710 ../../mod/settings.php:738
+#: ../../mod/settings.php:761 ../../mod/settings.php:843
+#: ../../mod/settings.php:1039 ../../mod/xchan.php:11 ../../mod/connect.php:93
+#: ../../mod/thing.php:275 ../../mod/thing.php:318 ../../mod/events.php:656
+#: ../../mod/group.php:81 ../../mod/setup.php:313 ../../mod/setup.php:358
+#: ../../mod/photos.php:565 ../../mod/photos.php:642 ../../mod/photos.php:929
+#: ../../mod/photos.php:969 ../../mod/photos.php:1087 ../../mod/pdledit.php:58
+#: ../../mod/import.php:504 ../../mod/chat.php:177 ../../mod/chat.php:211
+#: ../../mod/rate.php:167 ../../mod/invite.php:142 ../../mod/locs.php:105
+#: ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
+#: ../../mod/poke.php:166 ../../mod/profiles.php:667 ../../mod/mitem.php:229
+#: ../../mod/admin.php:446 ../../mod/admin.php:810 ../../mod/admin.php:946
+#: ../../mod/admin.php:1077 ../../mod/admin.php:1271 ../../mod/admin.php:1356
+#: ../../mod/mood.php:134 ../../mod/connedit.php:679 ../../mod/mail.php:355
+#: ../../mod/appman.php:99 ../../mod/poll.php:68 ../../mod/bulksetclose.php:24
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:97
msgid "Submit"
msgstr "Opslaan"
@@ -602,366 +547,15 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/text.php:395
-msgid "prev"
-msgstr "vorige"
-
-#: ../../include/text.php:397
-msgid "first"
-msgstr "eerste"
-
-#: ../../include/text.php:426
-msgid "last"
-msgstr "laatste"
-
-#: ../../include/text.php:429
-msgid "next"
-msgstr "volgende"
-
-#: ../../include/text.php:439
-msgid "older"
-msgstr "ouder"
-
-#: ../../include/text.php:441
-msgid "newer"
-msgstr "nieuwer"
-
-#: ../../include/text.php:834
-msgid "No connections"
-msgstr "Geen connecties"
-
-#: ../../include/text.php:848
-#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d connectie"
-msgstr[1] "%d connecties"
-
-#: ../../include/text.php:861 ../../mod/viewconnections.php:104
-msgid "View Connections"
-msgstr "Connecties weergeven"
-
-#: ../../include/text.php:918 ../../include/text.php:930
-#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../mod/search.php:38
-msgid "Search"
-msgstr "Zoeken"
-
-#: ../../include/text.php:919 ../../include/text.php:931
-#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1457
-#: ../../mod/admin.php:1477
-msgid "Save"
-msgstr "Opslaan"
-
-#: ../../include/text.php:994
-msgid "poke"
-msgstr "aanstoten"
-
-#: ../../include/text.php:994 ../../include/conversation.php:243
-msgid "poked"
-msgstr "aangestoten"
-
-#: ../../include/text.php:995
-msgid "ping"
-msgstr "ping"
-
-#: ../../include/text.php:995
-msgid "pinged"
-msgstr "gepingd"
-
-#: ../../include/text.php:996
-msgid "prod"
-msgstr "por"
-
-#: ../../include/text.php:996
-msgid "prodded"
-msgstr "gepord"
-
-#: ../../include/text.php:997
-msgid "slap"
-msgstr "slaan"
-
-#: ../../include/text.php:997
-msgid "slapped"
-msgstr "sloeg"
-
-#: ../../include/text.php:998
-msgid "finger"
-msgstr "finger"
-
-#: ../../include/text.php:998
-msgid "fingered"
-msgstr "gefingerd"
-
-#: ../../include/text.php:999
-msgid "rebuff"
-msgstr "afpoeieren"
-
-#: ../../include/text.php:999
-msgid "rebuffed"
-msgstr "afgepoeierd"
-
-#: ../../include/text.php:1009
-msgid "happy"
-msgstr "gelukkig"
-
-#: ../../include/text.php:1010
-msgid "sad"
-msgstr "bedroefd"
-
-#: ../../include/text.php:1011
-msgid "mellow"
-msgstr "mellow"
-
-#: ../../include/text.php:1012
-msgid "tired"
-msgstr "moe"
-
-#: ../../include/text.php:1013
-msgid "perky"
-msgstr "parmantig"
-
-#: ../../include/text.php:1014
-msgid "angry"
-msgstr "boos"
-
-#: ../../include/text.php:1015
-msgid "stupified"
-msgstr "beteuterd"
-
-#: ../../include/text.php:1016
-msgid "puzzled"
-msgstr "verward"
-
-#: ../../include/text.php:1017
-msgid "interested"
-msgstr "geïnteresseerd"
-
-#: ../../include/text.php:1018
-msgid "bitter"
-msgstr "verbitterd"
-
-#: ../../include/text.php:1019
-msgid "cheerful"
-msgstr "vrolijk"
-
-#: ../../include/text.php:1020
-msgid "alive"
-msgstr "levendig"
-
-#: ../../include/text.php:1021
-msgid "annoyed"
-msgstr "geërgerd"
-
-#: ../../include/text.php:1022
-msgid "anxious"
-msgstr "bezorgd"
-
-#: ../../include/text.php:1023
-msgid "cranky"
-msgstr "humeurig"
-
-#: ../../include/text.php:1024
-msgid "disturbed"
-msgstr "verontrust"
-
-#: ../../include/text.php:1025
-msgid "frustrated"
-msgstr "gefrustreerd "
-
-#: ../../include/text.php:1026
-msgid "depressed"
-msgstr "gedeprimeerd"
-
-#: ../../include/text.php:1027
-msgid "motivated"
-msgstr "gemotiveerd"
-
-#: ../../include/text.php:1028
-msgid "relaxed"
-msgstr "ontspannen"
-
-#: ../../include/text.php:1029
-msgid "surprised"
-msgstr "verrast"
-
-#: ../../include/text.php:1201
-msgid "Monday"
-msgstr "maandag"
-
-#: ../../include/text.php:1201
-msgid "Tuesday"
-msgstr "dinsdag"
-
-#: ../../include/text.php:1201
-msgid "Wednesday"
-msgstr "woensdag"
-
-#: ../../include/text.php:1201
-msgid "Thursday"
-msgstr "donderdag"
-
-#: ../../include/text.php:1201
-msgid "Friday"
-msgstr "vrijdag"
-
-#: ../../include/text.php:1201
-msgid "Saturday"
-msgstr "zaterdag"
-
-#: ../../include/text.php:1201
-msgid "Sunday"
-msgstr "zondag"
-
-#: ../../include/text.php:1205
-msgid "January"
-msgstr "januari"
-
-#: ../../include/text.php:1205
-msgid "February"
-msgstr "februari"
-
-#: ../../include/text.php:1205
-msgid "March"
-msgstr "maart"
-
-#: ../../include/text.php:1205
-msgid "April"
-msgstr "april"
-
-#: ../../include/text.php:1205
-msgid "May"
-msgstr "mei"
-
-#: ../../include/text.php:1205
-msgid "June"
-msgstr "juni"
-
-#: ../../include/text.php:1205
-msgid "July"
-msgstr "juli"
-
-#: ../../include/text.php:1205
-msgid "August"
-msgstr "augustus"
-
-#: ../../include/text.php:1205
-msgid "September"
-msgstr "september"
-
-#: ../../include/text.php:1205
-msgid "October"
-msgstr "oktober"
-
-#: ../../include/text.php:1205
-msgid "November"
-msgstr "november"
-
-#: ../../include/text.php:1205
-msgid "December"
-msgstr "december"
-
-#: ../../include/text.php:1310
-msgid "unknown.???"
-msgstr "onbekend.???"
-
-#: ../../include/text.php:1311
-msgid "bytes"
-msgstr "bytes"
-
-#: ../../include/text.php:1347
-msgid "remove category"
-msgstr "categorie verwijderen"
-
-#: ../../include/text.php:1422
-msgid "remove from file"
-msgstr "uit map verwijderen"
-
-#: ../../include/text.php:1498 ../../include/text.php:1509
-msgid "Click to open/close"
-msgstr "Klik om te openen of te sluiten"
-
-#: ../../include/text.php:1665 ../../mod/events.php:457
-msgid "Link to Source"
-msgstr "Originele locatie"
-
-#: ../../include/text.php:1686 ../../include/text.php:1757
-msgid "default"
-msgstr "standaard"
-
-#: ../../include/text.php:1694
-msgid "Page layout"
-msgstr "Pagina-lay-out"
-
-#: ../../include/text.php:1694
-msgid "You can create your own with the layouts tool"
-msgstr "Je kan jouw eigen lay-out ontwerpen onder lay-outs"
-
-#: ../../include/text.php:1735
-msgid "Page content type"
-msgstr "Opmaaktype pagina"
-
-#: ../../include/text.php:1769
-msgid "Select an alternate language"
-msgstr "Kies een andere taal"
-
-#: ../../include/text.php:1888 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:120 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-#: ../../mod/tagger.php:43
-msgid "photo"
-msgstr "foto"
-
-#: ../../include/text.php:1891 ../../include/conversation.php:123
-#: ../../mod/like.php:348 ../../mod/tagger.php:47
-msgid "event"
-msgstr "gebeurtenis"
-
-#: ../../include/text.php:1894 ../../include/diaspora.php:2119
-#: ../../include/conversation.php:148 ../../mod/like.php:346
-#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
-msgid "status"
-msgstr "bericht"
-
-#: ../../include/text.php:1896 ../../include/conversation.php:150
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr "reactie"
-
-#: ../../include/text.php:1901
-msgid "activity"
-msgstr "activiteit"
-
-#: ../../include/text.php:2196
-msgid "Design Tools"
-msgstr "Ontwerp-hulpmiddelen"
-
-#: ../../include/text.php:2199 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr "Blokken"
-
-#: ../../include/text.php:2200 ../../mod/menu.php:98
-msgid "Menus"
-msgstr "Menu's"
-
-#: ../../include/text.php:2201 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr "Lay-outs"
-
-#: ../../include/text.php:2202
-msgid "Pages"
-msgstr "Pagina's"
-
-#: ../../include/text.php:2553 ../../include/RedDAV/RedBrowser.php:131
-msgid "Collection"
-msgstr "map"
-
#: ../../include/RedDAV/RedBrowser.php:107
-#: ../../include/RedDAV/RedBrowser.php:265
+#: ../../include/RedDAV/RedBrowser.php:268
msgid "parent"
msgstr "omhoog"
+#: ../../include/RedDAV/RedBrowser.php:131 ../../include/text.php:2497
+msgid "Collection"
+msgstr "map"
+
#: ../../include/RedDAV/RedBrowser.php:134
msgid "Principal"
msgstr "principal"
@@ -984,7 +578,7 @@ msgstr "Planning-postvak UIT"
#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1019
#: ../../include/apps.php:336 ../../include/apps.php:387
-#: ../../mod/photos.php:693 ../../mod/photos.php:1131
+#: ../../mod/photos.php:681 ../../mod/photos.php:1119
msgid "Unknown"
msgstr "Onbekend"
@@ -1013,51 +607,52 @@ msgid "Shared"
msgstr "Gedeeld"
#: ../../include/RedDAV/RedBrowser.php:256
-#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/webpages.php:180
-#: ../../mod/blocks.php:152 ../../mod/menu.php:109
-#: ../../mod/new_channel.php:121 ../../mod/layouts.php:175
+#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/webpages.php:178
+#: ../../mod/blocks.php:151 ../../mod/menu.php:104 ../../mod/layouts.php:174
+#: ../../mod/new_channel.php:121
msgid "Create"
msgstr "Aanmaken"
#: ../../include/RedDAV/RedBrowser.php:257
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362
-#: ../../mod/photos.php:718 ../../mod/photos.php:1248
+#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/profile_photo.php:362
+#: ../../mod/photos.php:706 ../../mod/photos.php:1236
msgid "Upload"
msgstr "Uploaden"
-#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
-#: ../../mod/settings.php:590 ../../mod/settings.php:616
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/settings.php:584
+#: ../../mod/settings.php:610 ../../mod/admin.php:953
#: ../../mod/sharedwithme.php:95
msgid "Name"
msgstr "Naam"
-#: ../../include/RedDAV/RedBrowser.php:262
+#: ../../include/RedDAV/RedBrowser.php:265
msgid "Type"
msgstr "Type"
-#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
+#: ../../include/RedDAV/RedBrowser.php:266 ../../mod/sharedwithme.php:97
msgid "Size"
msgstr "Grootte"
-#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
+#: ../../include/RedDAV/RedBrowser.php:267 ../../mod/sharedwithme.php:98
msgid "Last Modified"
msgstr "Laatst gewijzigd"
-#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
+#: ../../include/RedDAV/RedBrowser.php:270 ../../include/ItemObject.php:120
#: ../../include/conversation.php:660 ../../include/apps.php:255
-#: ../../mod/webpages.php:183 ../../mod/thing.php:228 ../../mod/group.php:176
-#: ../../mod/blocks.php:155 ../../mod/photos.php:1062
-#: ../../mod/editlayout.php:178 ../../mod/editwebpage.php:225
-#: ../../mod/editblock.php:180 ../../mod/admin.php:826 ../../mod/admin.php:988
-#: ../../mod/settings.php:651 ../../mod/connedit.php:551
+#: ../../mod/settings.php:645 ../../mod/webpages.php:181
+#: ../../mod/thing.php:228 ../../mod/group.php:176 ../../mod/blocks.php:154
+#: ../../mod/photos.php:1050 ../../mod/editlayout.php:107
+#: ../../mod/editwebpage.php:225 ../../mod/admin.php:817
+#: ../../mod/admin.php:948 ../../mod/editblock.php:113
+#: ../../mod/connedit.php:543
msgid "Delete"
msgstr "Verwijderen"
-#: ../../include/RedDAV/RedBrowser.php:302
+#: ../../include/RedDAV/RedBrowser.php:305
msgid "Create new folder"
msgstr "Nieuwe map aanmaken"
-#: ../../include/RedDAV/RedBrowser.php:304
+#: ../../include/RedDAV/RedBrowser.php:307
msgid "Upload file"
msgstr "Bestand uploaden"
@@ -1066,33 +661,10 @@ msgstr "Bestand uploaden"
msgid "%1$s's bookmarks"
msgstr "Bladwijzers van %1$s"
-#: ../../include/network.php:635
+#: ../../include/network.php:632
msgid "view full size"
msgstr "volledige grootte tonen"
-#: ../../include/network.php:1585 ../../include/enotify.php:58
-msgid "$Projectname Notification"
-msgstr "$Projectname-notificatie"
-
-#: ../../include/network.php:1586 ../../include/enotify.php:59
-#: ../../include/diaspora.php:2522 ../../include/diaspora.php:2533
-#: ../../mod/p.php:46
-msgid "$projectname"
-msgstr "$projectname"
-
-#: ../../include/network.php:1588 ../../include/enotify.php:61
-msgid "Thank You,"
-msgstr "Bedankt,"
-
-#: ../../include/network.php:1590 ../../include/enotify.php:63
-#, php-format
-msgid "%s Administrator"
-msgstr "Beheerder %s"
-
-#: ../../include/network.php:1646
-msgid "No Subject"
-msgstr "Geen onderwerp"
-
#: ../../include/features.php:38
msgid "General Features"
msgstr "Algemene functies"
@@ -1201,7 +773,7 @@ msgid ""
"(320px) photo thumbnails"
msgstr "Toon grote (640px) voorbeeldfoto's in berichten. Standaard worden kleine voorbeeldfoto's (320px) getoond. "
-#: ../../include/features.php:59 ../../include/widgets.php:548
+#: ../../include/features.php:59 ../../include/widgets.php:546
#: ../../mod/sources.php:88
msgid "Channel Sources"
msgstr "Kanaalbronnen"
@@ -1280,71 +852,63 @@ msgid "Filter stream activity by depth of relationships"
msgstr "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag"
#: ../../include/features.php:74
-msgid "Connection Filtering"
-msgstr "berichtenfilters"
-
-#: ../../include/features.php:74
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filter binnenkomende berichten van connecties aan de hand van trefwoorden/inhoud"
-
-#: ../../include/features.php:75
msgid "Suggest Channels"
msgstr "Kanalen voorstellen"
-#: ../../include/features.php:75
+#: ../../include/features.php:74
msgid "Show channel suggestions"
msgstr "Voor jou mogelijk interessante kanalen voorstellen"
-#: ../../include/features.php:80
+#: ../../include/features.php:79
msgid "Post/Comment Tools"
msgstr "Bericht- en reactiehulpmiddelen"
-#: ../../include/features.php:81
+#: ../../include/features.php:80
msgid "Tagging"
msgstr "Taggen"
-#: ../../include/features.php:81
+#: ../../include/features.php:80
msgid "Ability to tag existing posts"
msgstr "Mogelijkheid om bestaande berichten te taggen"
-#: ../../include/features.php:82
+#: ../../include/features.php:81
msgid "Post Categories"
msgstr "Categorieën berichten"
-#: ../../include/features.php:82
+#: ../../include/features.php:81
msgid "Add categories to your posts"
msgstr "Voeg categorieën toe aan je berichten"
-#: ../../include/features.php:83 ../../include/widgets.php:304
+#: ../../include/features.php:82 ../../include/widgets.php:304
#: ../../include/contact_widgets.php:57
msgid "Saved Folders"
msgstr "Bewaarde mappen"
-#: ../../include/features.php:83
+#: ../../include/features.php:82
msgid "Ability to file posts under folders"
msgstr "Mogelijkheid om berichten in mappen op te slaan"
-#: ../../include/features.php:84
+#: ../../include/features.php:83
msgid "Dislike Posts"
msgstr "Vind berichten niet leuk"
-#: ../../include/features.php:84
+#: ../../include/features.php:83
msgid "Ability to dislike posts/comments"
msgstr "Mogelijkheid om berichten en reacties niet leuk te vinden"
-#: ../../include/features.php:85
+#: ../../include/features.php:84
msgid "Star Posts"
msgstr "Geef berichten een ster"
-#: ../../include/features.php:85
+#: ../../include/features.php:84
msgid "Ability to mark special posts with a star indicator"
msgstr "Mogelijkheid om speciale berichten met een ster te markeren"
-#: ../../include/features.php:86
+#: ../../include/features.php:85
msgid "Tag Cloud"
msgstr "Tagwolk"
-#: ../../include/features.php:86
+#: ../../include/features.php:85
msgid "Provide a personal tag cloud on your channel page"
msgstr "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina"
@@ -1354,7 +918,7 @@ msgid "Categories"
msgstr "Categorieën"
#: ../../include/widgets.php:91 ../../include/nav.php:163
-#: ../../mod/apps.php:36
+#: ../../mod/apps.php:34
msgid "Apps"
msgstr "Apps"
@@ -1376,8 +940,8 @@ msgstr "Persoonlijke app bewerken"
#: ../../include/widgets.php:136 ../../include/widgets.php:175
#: ../../include/Contact.php:107 ../../include/conversation.php:945
-#: ../../include/identity.php:880 ../../mod/directory.php:316
-#: ../../mod/match.php:64 ../../mod/suggest.php:52
+#: ../../include/identity.php:823 ../../mod/match.php:64
+#: ../../mod/directory.php:302 ../../mod/suggest.php:52
msgid "Connect"
msgstr "Verbinden"
@@ -1414,6 +978,12 @@ msgstr "Voorbeeld: bob@example.com, http://example.com/barbara"
msgid "Notes"
msgstr "Aantekeningen"
+#: ../../include/widgets.php:192 ../../include/text.php:853
+#: ../../include/text.php:865 ../../mod/rbmark.php:28 ../../mod/rbmark.php:98
+#: ../../mod/filer.php:50 ../../mod/admin.php:1416 ../../mod/admin.php:1436
+msgid "Save"
+msgstr "Opslaan"
+
#: ../../include/widgets.php:266
msgid "Remove term"
msgstr "Verwijder zoekterm"
@@ -1427,140 +997,135 @@ msgstr "Alles"
msgid "Archives"
msgstr "Archieven"
-#: ../../include/widgets.php:429 ../../mod/connedit.php:571
+#: ../../include/widgets.php:427 ../../mod/connedit.php:572
msgid "Me"
msgstr "Ik"
-#: ../../include/widgets.php:430 ../../mod/connedit.php:572
+#: ../../include/widgets.php:428 ../../mod/connedit.php:573
msgid "Family"
msgstr "Familie"
-#: ../../include/widgets.php:431 ../../include/identity.php:394
+#: ../../include/widgets.php:429 ../../include/identity.php:394
#: ../../include/identity.php:395 ../../include/identity.php:402
-#: ../../include/profile_selectors.php:80 ../../mod/settings.php:345
-#: ../../mod/settings.php:349 ../../mod/settings.php:350
-#: ../../mod/settings.php:353 ../../mod/settings.php:364
-#: ../../mod/connedit.php:573
+#: ../../include/profile_selectors.php:80 ../../mod/settings.php:339
+#: ../../mod/settings.php:343 ../../mod/settings.php:344
+#: ../../mod/settings.php:347 ../../mod/settings.php:358
+#: ../../mod/connedit.php:574
msgid "Friends"
msgstr "Vrienden"
-#: ../../include/widgets.php:432 ../../mod/connedit.php:574
+#: ../../include/widgets.php:430 ../../mod/connedit.php:575
msgid "Acquaintances"
msgstr "Kennissen"
-#: ../../include/widgets.php:433 ../../mod/connections.php:231
-#: ../../mod/connections.php:246 ../../mod/connedit.php:575
+#: ../../include/widgets.php:431 ../../mod/connections.php:231
+#: ../../mod/connections.php:246 ../../mod/connedit.php:576
msgid "All"
msgstr "Alles"
-#: ../../include/widgets.php:452
+#: ../../include/widgets.php:450
msgid "Refresh"
msgstr "Vernieuwen"
-#: ../../include/widgets.php:487
+#: ../../include/widgets.php:485
msgid "Account settings"
msgstr "Account"
-#: ../../include/widgets.php:493
+#: ../../include/widgets.php:491
msgid "Channel settings"
msgstr "Kanaal"
-#: ../../include/widgets.php:499
+#: ../../include/widgets.php:497
msgid "Additional features"
msgstr "Extra functies"
-#: ../../include/widgets.php:505
+#: ../../include/widgets.php:503
msgid "Feature/Addon settings"
msgstr "Extra functie- en plugin-instellingen"
-#: ../../include/widgets.php:511
+#: ../../include/widgets.php:509
msgid "Display settings"
msgstr "Weergave"
-#: ../../include/widgets.php:517
+#: ../../include/widgets.php:515
msgid "Connected apps"
msgstr "Verbonden applicaties"
-#: ../../include/widgets.php:523
+#: ../../include/widgets.php:521
msgid "Export channel"
msgstr "Kanaal exporteren"
-#: ../../include/widgets.php:532 ../../mod/connedit.php:662
+#: ../../include/widgets.php:530 ../../mod/connedit.php:653
msgid "Connection Default Permissions"
msgstr "Standaard permissies voor connecties"
-#: ../../include/widgets.php:540
+#: ../../include/widgets.php:538
msgid "Premium Channel Settings"
msgstr "Instellingen premiumkanaal"
-#: ../../include/widgets.php:556 ../../include/nav.php:208
-#: ../../include/apps.php:134 ../../mod/admin.php:1079
-#: ../../mod/admin.php:1279
+#: ../../include/widgets.php:554 ../../include/nav.php:208
+#: ../../include/apps.php:134 ../../mod/admin.php:1038
+#: ../../mod/admin.php:1238
msgid "Settings"
msgstr "Instellingen"
-#: ../../include/widgets.php:569 ../../mod/message.php:31
+#: ../../include/widgets.php:567 ../../mod/message.php:31
#: ../../mod/mail.php:128
msgid "Messages"
msgstr "Berichten"
-#: ../../include/widgets.php:572
+#: ../../include/widgets.php:570
msgid "Check Mail"
msgstr "Controleer op nieuwe berichten"
-#: ../../include/widgets.php:577 ../../include/nav.php:199
+#: ../../include/widgets.php:575 ../../include/nav.php:199
msgid "New Message"
msgstr "Nieuw bericht"
-#: ../../include/widgets.php:652
+#: ../../include/widgets.php:650
msgid "Chat Rooms"
msgstr "Chatkanalen"
-#: ../../include/widgets.php:672
+#: ../../include/widgets.php:670
msgid "Bookmarked Chatrooms"
msgstr "Bladwijzers van chatkanalen"
-#: ../../include/widgets.php:692
+#: ../../include/widgets.php:690
msgid "Suggested Chatrooms"
msgstr "Voorgestelde chatkanalen"
-#: ../../include/widgets.php:819 ../../include/widgets.php:877
+#: ../../include/widgets.php:817 ../../include/widgets.php:875
msgid "photo/image"
msgstr "foto/afbeelding"
-#: ../../include/widgets.php:972 ../../include/widgets.php:974
+#: ../../include/widgets.php:970 ../../include/widgets.php:972
msgid "Rate Me"
msgstr "Beoordeel mij"
-#: ../../include/widgets.php:978
+#: ../../include/widgets.php:976
msgid "View Ratings"
msgstr "Bekijk beoordelingen"
-#: ../../include/widgets.php:989
+#: ../../include/widgets.php:987
msgid "Public Hubs"
msgstr "Openbare hubs"
-#: ../../include/event.php:22 ../../include/bb2diaspora.php:459
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
+#: ../../include/enotify.php:58
+msgid "Red Matrix Notification"
+msgstr "RedMatrix-notificatie"
-#: ../../include/event.php:30 ../../include/bb2diaspora.php:465
-msgid "Starts:"
-msgstr "Start:"
+#: ../../include/enotify.php:59
+msgid "redmatrix"
+msgstr "RedMatrix"
-#: ../../include/event.php:40 ../../include/bb2diaspora.php:473
-msgid "Finishes:"
-msgstr "Einde:"
-
-#: ../../include/event.php:50 ../../include/bb2diaspora.php:481
-#: ../../include/identity.php:931 ../../mod/directory.php:302
-#: ../../mod/events.php:661
-msgid "Location:"
-msgstr "Plaats:"
+#: ../../include/enotify.php:61
+msgid "Thank You,"
+msgstr "Bedankt,"
-#: ../../include/event.php:535
-msgid "This event has been added to your calendar."
-msgstr "Dit evenement is aan jouw agenda toegevoegd."
+#: ../../include/enotify.php:63
+#, php-format
+msgid "%s Administrator"
+msgstr "Beheerder %s"
#: ../../include/enotify.php:96
#, php-format
@@ -1741,6 +1306,72 @@ msgstr "Bezoek %s om het voorstel te accepteren of af te wijzen."
msgid "[Red:Notify]"
msgstr "[Red:Notificatie]"
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
+msgstr "Regelmatig"
+
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
+msgstr "Elk uur"
+
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
+msgstr "Twee keer per dag"
+
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
+msgstr "Dagelijks"
+
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "Wekelijks"
+
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "Maandelijks"
+
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:813
+#: ../../mod/admin.php:822 ../../mod/id.php:15 ../../mod/id.php:16
+#: ../../boot.php:1542
+msgid "Email"
+msgstr "E-mail"
+
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
+
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "MySpace"
+
#: ../../include/message.php:18
msgid "No recipient provided."
msgstr "Geen ontvanger opgegeven."
@@ -1757,28 +1388,6 @@ msgstr "Afzender kan niet bepaald worden."
msgid "Stored post could not be verified."
msgstr "Opgeslagen bericht kon niet worden geverifieerd."
-#: ../../include/diaspora.php:2148 ../../include/conversation.php:164
-#: ../../mod/like.php:394
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s vindt %3$s van %2$s leuk"
-
-#: ../../include/diaspora.php:2494
-msgid "Please choose"
-msgstr "Maak een keuze"
-
-#: ../../include/diaspora.php:2496
-msgid "Agree"
-msgstr "Eens"
-
-#: ../../include/diaspora.php:2498
-msgid "Disagree"
-msgstr "Oneens"
-
-#: ../../include/diaspora.php:2500
-msgid "Abstain"
-msgstr "onthouding"
-
#: ../../include/follow.php:28
msgid "Channel is blocked on this site."
msgstr "Kanaal is op deze hub geblokkeerd."
@@ -1795,23 +1404,19 @@ msgstr "Antwoord van het kanaal op afstand was niet volledig."
msgid "Channel was deleted and no longer exists."
msgstr "Kanaal is verwijderd en bestaat niet meer."
-#: ../../include/follow.php:135 ../../include/follow.php:206
+#: ../../include/follow.php:135 ../../include/follow.php:197
msgid "Protocol disabled."
msgstr "Protocol uitgeschakeld."
-#: ../../include/follow.php:144
-msgid "Protocol blocked for this channel."
-msgstr "Dit protocol is voor dit kanaal niet toegestaan."
-
-#: ../../include/follow.php:179
+#: ../../include/follow.php:170
msgid "Channel discovery failed."
msgstr "Kanaal ontdekken mislukt."
-#: ../../include/follow.php:195
+#: ../../include/follow.php:186
msgid "local account not found."
msgstr "lokale account niet gevonden."
-#: ../../include/follow.php:224
+#: ../../include/follow.php:215
msgid "Cannot connect to yourself."
msgstr "Kan niet met jezelf verbinden"
@@ -1852,14 +1457,14 @@ msgid "I abstain"
msgstr "Onthouding"
#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1677 ../../mod/photos.php:1015
-#: ../../mod/photos.php:1027
+#: ../../include/conversation.php:1677 ../../mod/photos.php:1003
+#: ../../mod/photos.php:1015
msgid "View all"
msgstr "Toon alles"
#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
-#: ../../include/conversation.php:1701 ../../include/identity.php:1190
-#: ../../mod/photos.php:1019
+#: ../../include/conversation.php:1701 ../../include/identity.php:1133
+#: ../../mod/photos.php:1007
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
@@ -1867,7 +1472,7 @@ msgstr[0] "vindt dit leuk"
msgstr[1] "vinden dit leuk"
#: ../../include/ItemObject.php:184 ../../include/conversation.php:1704
-#: ../../mod/photos.php:1024
+#: ../../mod/photos.php:1012
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
@@ -1902,7 +1507,7 @@ msgstr "Berichtkenmerk onjuist"
msgid "Add Tag"
msgstr "Tag toevoegen"
-#: ../../include/ItemObject.php:254 ../../mod/photos.php:959
+#: ../../include/ItemObject.php:254 ../../mod/photos.php:947
msgid "I like this (toggle)"
msgstr "Vind ik leuk"
@@ -1910,7 +1515,7 @@ msgstr "Vind ik leuk"
msgid "like"
msgstr "vind dit leuk"
-#: ../../include/ItemObject.php:255 ../../mod/photos.php:960
+#: ../../include/ItemObject.php:255 ../../mod/photos.php:948
msgid "I don't like this (toggle)"
msgstr "Vind ik niet leuk"
@@ -1981,61 +1586,61 @@ msgstr "Aan agenda toevoegen"
msgid "Mark all seen"
msgstr "Markeer alles als bekeken"
-#: ../../include/ItemObject.php:353 ../../mod/photos.php:1145
+#: ../../include/ItemObject.php:353 ../../mod/photos.php:1133
msgctxt "noun"
msgid "Likes"
msgstr "vinden dit leuk"
-#: ../../include/ItemObject.php:354 ../../mod/photos.php:1146
+#: ../../include/ItemObject.php:354 ../../mod/photos.php:1134
msgctxt "noun"
msgid "Dislikes"
msgstr "vinden dit niet leuk"
#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249
-#: ../../mod/photos.php:1151
+#: ../../mod/photos.php:1139
msgid "Close"
msgstr "Sluiten"
#: ../../include/ItemObject.php:364 ../../include/conversation.php:737
-#: ../../include/conversation.php:1209 ../../mod/editpost.php:123
-#: ../../mod/photos.php:962 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:192 ../../mod/editblock.php:149
+#: ../../include/conversation.php:1209 ../../mod/photos.php:950
+#: ../../mod/editlayout.php:153 ../../mod/editwebpage.php:192
+#: ../../mod/editpost.php:130 ../../mod/editblock.php:155
#: ../../mod/mail.php:241 ../../mod/mail.php:356
msgid "Please wait"
msgstr "Even wachten"
-#: ../../include/ItemObject.php:665 ../../mod/photos.php:978
-#: ../../mod/photos.php:1096
+#: ../../include/ItemObject.php:665 ../../mod/photos.php:966
+#: ../../mod/photos.php:1084
msgid "This is you"
msgstr "Dit ben jij"
#: ../../include/ItemObject.php:669 ../../include/conversation.php:1181
-#: ../../mod/editpost.php:107 ../../mod/editlayout.php:134
-#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:135
+#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:179
+#: ../../mod/editpost.php:114 ../../mod/editblock.php:141
msgid "Bold"
msgstr "Vet"
#: ../../include/ItemObject.php:670 ../../include/conversation.php:1182
-#: ../../mod/editpost.php:108 ../../mod/editlayout.php:135
-#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:136
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:180
+#: ../../mod/editpost.php:115 ../../mod/editblock.php:142
msgid "Italic"
msgstr "Cursief"
#: ../../include/ItemObject.php:671 ../../include/conversation.php:1183
-#: ../../mod/editpost.php:109 ../../mod/editlayout.php:136
-#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:137
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:181
+#: ../../mod/editpost.php:116 ../../mod/editblock.php:143
msgid "Underline"
msgstr "Onderstrepen"
#: ../../include/ItemObject.php:672 ../../include/conversation.php:1184
-#: ../../mod/editpost.php:110 ../../mod/editlayout.php:137
-#: ../../mod/editwebpage.php:182 ../../mod/editblock.php:138
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:182
+#: ../../mod/editpost.php:117 ../../mod/editblock.php:144
msgid "Quote"
msgstr "Citeren"
#: ../../include/ItemObject.php:673 ../../include/conversation.php:1185
-#: ../../mod/editpost.php:111 ../../mod/editlayout.php:138
-#: ../../mod/editwebpage.php:183 ../../mod/editblock.php:139
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:183
+#: ../../mod/editpost.php:118 ../../mod/editblock.php:145
msgid "Code"
msgstr "Broncode"
@@ -2052,7 +1657,7 @@ msgid "Video"
msgstr "Video"
#: ../../include/ItemObject.php:680 ../../include/conversation.php:1236
-#: ../../mod/editpost.php:151 ../../mod/mail.php:247 ../../mod/mail.php:361
+#: ../../mod/editpost.php:157 ../../mod/mail.php:247 ../../mod/mail.php:361
msgid "Encrypt text"
msgstr "Tekst versleutelen"
@@ -2064,7 +1669,7 @@ msgstr "Nieuw venster"
msgid "Open the selected location in a different window or browser tab"
msgstr "Open de geselecteerde locatie in een ander venster of tab"
-#: ../../include/Contact.php:215
+#: ../../include/Contact.php:215 ../../mod/admin.php:730
#, php-format
msgid "User '%s' deleted"
msgstr "Account '%s' verwijderd"
@@ -2073,11 +1678,357 @@ msgstr "Account '%s' verwijderd"
msgid "Attachments:"
msgstr "Bijlagen:"
-#: ../../include/bb2diaspora.php:461
-msgid "$Projectname event notification:"
-msgstr "Notificatie -gebeurtenis:"
+#: ../../include/bb2diaspora.php:453
+msgid "Redmatrix event notification:"
+msgstr "Notificatie RedMatrix-gebeurtenis:"
+
+#: ../../include/text.php:329
+msgid "prev"
+msgstr "vorige"
+
+#: ../../include/text.php:331
+msgid "first"
+msgstr "eerste"
+
+#: ../../include/text.php:360
+msgid "last"
+msgstr "laatste"
+
+#: ../../include/text.php:363
+msgid "next"
+msgstr "volgende"
-#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1550
+#: ../../include/text.php:373
+msgid "older"
+msgstr "ouder"
+
+#: ../../include/text.php:375
+msgid "newer"
+msgstr "nieuwer"
+
+#: ../../include/text.php:768
+msgid "No connections"
+msgstr "Geen connecties"
+
+#: ../../include/text.php:782
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d connectie"
+msgstr[1] "%d connecties"
+
+#: ../../include/text.php:795 ../../mod/viewconnections.php:104
+msgid "View Connections"
+msgstr "Connecties weergeven"
+
+#: ../../include/text.php:852 ../../include/text.php:864
+#: ../../include/nav.php:165 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
+msgstr "Zoeken"
+
+#: ../../include/text.php:928
+msgid "poke"
+msgstr "aanstoten"
+
+#: ../../include/text.php:928 ../../include/conversation.php:243
+msgid "poked"
+msgstr "aangestoten"
+
+#: ../../include/text.php:929
+msgid "ping"
+msgstr "ping"
+
+#: ../../include/text.php:929
+msgid "pinged"
+msgstr "gepingd"
+
+#: ../../include/text.php:930
+msgid "prod"
+msgstr "por"
+
+#: ../../include/text.php:930
+msgid "prodded"
+msgstr "gepord"
+
+#: ../../include/text.php:931
+msgid "slap"
+msgstr "slaan"
+
+#: ../../include/text.php:931
+msgid "slapped"
+msgstr "sloeg"
+
+#: ../../include/text.php:932
+msgid "finger"
+msgstr "finger"
+
+#: ../../include/text.php:932
+msgid "fingered"
+msgstr "gefingerd"
+
+#: ../../include/text.php:933
+msgid "rebuff"
+msgstr "afpoeieren"
+
+#: ../../include/text.php:933
+msgid "rebuffed"
+msgstr "afgepoeierd"
+
+#: ../../include/text.php:943
+msgid "happy"
+msgstr "gelukkig"
+
+#: ../../include/text.php:944
+msgid "sad"
+msgstr "bedroefd"
+
+#: ../../include/text.php:945
+msgid "mellow"
+msgstr "mellow"
+
+#: ../../include/text.php:946
+msgid "tired"
+msgstr "moe"
+
+#: ../../include/text.php:947
+msgid "perky"
+msgstr "parmantig"
+
+#: ../../include/text.php:948
+msgid "angry"
+msgstr "boos"
+
+#: ../../include/text.php:949
+msgid "stupified"
+msgstr "beteuterd"
+
+#: ../../include/text.php:950
+msgid "puzzled"
+msgstr "verward"
+
+#: ../../include/text.php:951
+msgid "interested"
+msgstr "geïnteresseerd"
+
+#: ../../include/text.php:952
+msgid "bitter"
+msgstr "verbitterd"
+
+#: ../../include/text.php:953
+msgid "cheerful"
+msgstr "vrolijk"
+
+#: ../../include/text.php:954
+msgid "alive"
+msgstr "levendig"
+
+#: ../../include/text.php:955
+msgid "annoyed"
+msgstr "geërgerd"
+
+#: ../../include/text.php:956
+msgid "anxious"
+msgstr "bezorgd"
+
+#: ../../include/text.php:957
+msgid "cranky"
+msgstr "humeurig"
+
+#: ../../include/text.php:958
+msgid "disturbed"
+msgstr "verontrust"
+
+#: ../../include/text.php:959
+msgid "frustrated"
+msgstr "gefrustreerd "
+
+#: ../../include/text.php:960
+msgid "depressed"
+msgstr "gedeprimeerd"
+
+#: ../../include/text.php:961
+msgid "motivated"
+msgstr "gemotiveerd"
+
+#: ../../include/text.php:962
+msgid "relaxed"
+msgstr "ontspannen"
+
+#: ../../include/text.php:963
+msgid "surprised"
+msgstr "verrast"
+
+#: ../../include/text.php:1135
+msgid "Monday"
+msgstr "maandag"
+
+#: ../../include/text.php:1135
+msgid "Tuesday"
+msgstr "dinsdag"
+
+#: ../../include/text.php:1135
+msgid "Wednesday"
+msgstr "woensdag"
+
+#: ../../include/text.php:1135
+msgid "Thursday"
+msgstr "donderdag"
+
+#: ../../include/text.php:1135
+msgid "Friday"
+msgstr "vrijdag"
+
+#: ../../include/text.php:1135
+msgid "Saturday"
+msgstr "zaterdag"
+
+#: ../../include/text.php:1135
+msgid "Sunday"
+msgstr "zondag"
+
+#: ../../include/text.php:1139
+msgid "January"
+msgstr "januari"
+
+#: ../../include/text.php:1139
+msgid "February"
+msgstr "februari"
+
+#: ../../include/text.php:1139
+msgid "March"
+msgstr "maart"
+
+#: ../../include/text.php:1139
+msgid "April"
+msgstr "april"
+
+#: ../../include/text.php:1139
+msgid "May"
+msgstr "mei"
+
+#: ../../include/text.php:1139
+msgid "June"
+msgstr "juni"
+
+#: ../../include/text.php:1139
+msgid "July"
+msgstr "juli"
+
+#: ../../include/text.php:1139
+msgid "August"
+msgstr "augustus"
+
+#: ../../include/text.php:1139
+msgid "September"
+msgstr "september"
+
+#: ../../include/text.php:1139
+msgid "October"
+msgstr "oktober"
+
+#: ../../include/text.php:1139
+msgid "November"
+msgstr "november"
+
+#: ../../include/text.php:1139
+msgid "December"
+msgstr "december"
+
+#: ../../include/text.php:1244
+msgid "unknown.???"
+msgstr "onbekend.???"
+
+#: ../../include/text.php:1245
+msgid "bytes"
+msgstr "bytes"
+
+#: ../../include/text.php:1281
+msgid "remove category"
+msgstr "categorie verwijderen"
+
+#: ../../include/text.php:1356
+msgid "remove from file"
+msgstr "uit map verwijderen"
+
+#: ../../include/text.php:1436 ../../include/text.php:1447
+#: ../../mod/connedit.php:661
+msgid "Click to open/close"
+msgstr "Klik om te openen of te sluiten"
+
+#: ../../include/text.php:1609 ../../mod/events.php:444
+msgid "Link to Source"
+msgstr "Originele locatie"
+
+#: ../../include/text.php:1630 ../../include/text.php:1701
+msgid "default"
+msgstr "standaard"
+
+#: ../../include/text.php:1638
+msgid "Page layout"
+msgstr "Pagina-lay-out"
+
+#: ../../include/text.php:1638
+msgid "You can create your own with the layouts tool"
+msgstr "Je kan jouw eigen lay-out ontwerpen onder lay-outs"
+
+#: ../../include/text.php:1679
+msgid "Page content type"
+msgstr "Opmaaktype pagina"
+
+#: ../../include/text.php:1713
+msgid "Select an alternate language"
+msgstr "Kies een andere taal"
+
+#: ../../include/text.php:1832 ../../include/conversation.php:120
+#: ../../include/diaspora.php:2081 ../../mod/like.php:346
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:43
+msgid "photo"
+msgstr "foto"
+
+#: ../../include/text.php:1835 ../../include/conversation.php:123
+#: ../../mod/like.php:348 ../../mod/tagger.php:47
+msgid "event"
+msgstr "gebeurtenis"
+
+#: ../../include/text.php:1838 ../../include/conversation.php:148
+#: ../../include/diaspora.php:2081 ../../mod/like.php:346
+#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:51
+msgid "status"
+msgstr "bericht"
+
+#: ../../include/text.php:1840 ../../include/conversation.php:150
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr "reactie"
+
+#: ../../include/text.php:1845
+msgid "activity"
+msgstr "activiteit"
+
+#: ../../include/text.php:2140
+msgid "Design Tools"
+msgstr "Ontwerp-hulpmiddelen"
+
+#: ../../include/text.php:2143 ../../mod/blocks.php:146
+msgid "Blocks"
+msgstr "Blokken"
+
+#: ../../include/text.php:2144 ../../mod/menu.php:95
+msgid "Menus"
+msgstr "Menu's"
+
+#: ../../include/text.php:2145 ../../mod/layouts.php:173
+msgid "Layouts"
+msgstr "Lay-outs"
+
+#: ../../include/text.php:2146
+msgid "Pages"
+msgstr "Pagina's"
+
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1539
msgid "Logout"
msgstr "Uitloggen"
@@ -2094,7 +2045,7 @@ msgid "Your posts and conversations"
msgstr "Jouw berichten en conversaties"
#: ../../include/nav.php:91 ../../include/conversation.php:942
-#: ../../mod/connedit.php:498
+#: ../../mod/connedit.php:494 ../../mod/connedit.php:660
msgid "View Profile"
msgstr "Profiel weergeven"
@@ -2110,7 +2061,7 @@ msgstr "Bewerk profielen"
msgid "Manage/Edit profiles"
msgstr "Beheer/wijzig profielen"
-#: ../../include/nav.php:95 ../../include/identity.php:903
+#: ../../include/nav.php:95 ../../include/identity.php:846
msgid "Edit Profile"
msgstr "Profiel bewerken"
@@ -2149,7 +2100,7 @@ msgid "Your bookmarks"
msgstr "Jouw bladwijzers"
#: ../../include/nav.php:113 ../../include/conversation.php:1645
-#: ../../include/apps.php:136 ../../mod/webpages.php:178
+#: ../../include/apps.php:136 ../../mod/webpages.php:176
msgid "Webpages"
msgstr "Webpagina's"
@@ -2157,7 +2108,7 @@ msgstr "Webpagina's"
msgid "Your webpages"
msgstr "Jouw webpagina's"
-#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1551
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1540
msgid "Login"
msgstr "Inloggen"
@@ -2182,7 +2133,7 @@ msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw hub"
msgid "Home Page"
msgstr "Homepage"
-#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1527
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1516
msgid "Register"
msgstr "Registreren"
@@ -2191,7 +2142,7 @@ msgid "Create an account"
msgstr "Maak een account aan"
#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
-#: ../../mod/help.php:72 ../../mod/layouts.php:176
+#: ../../mod/help.php:72 ../../mod/layouts.php:175
msgid "Help"
msgstr "Hulp"
@@ -2208,6 +2159,7 @@ msgid "Search site content"
msgstr "Inhoud van deze hub doorzoeken"
#: ../../include/nav.php:168 ../../include/apps.php:141
+#: ../../mod/directory.php:366
msgid "Directory"
msgstr "Kanalengids"
@@ -2284,7 +2236,7 @@ msgid "Outbox"
msgstr "Postvak UIT"
#: ../../include/nav.php:202 ../../include/apps.php:140
-#: ../../mod/events.php:486
+#: ../../mod/events.php:472
msgid "Events"
msgstr "Agenda"
@@ -2388,11 +2340,164 @@ msgstr "Bezoek het %2$s van %1$s"
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s heeft een aangepaste %2$s, %3$s veranderd."
-#: ../../include/security.php:349
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. "
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:743
+#: ../../include/bbcode.php:746 ../../include/bbcode.php:751
+#: ../../include/bbcode.php:754 ../../include/bbcode.php:757
+#: ../../include/bbcode.php:760 ../../include/bbcode.php:765
+#: ../../include/bbcode.php:768 ../../include/bbcode.php:773
+#: ../../include/bbcode.php:776 ../../include/bbcode.php:779
+#: ../../include/bbcode.php:782
+msgid "Image/photo"
+msgstr "Afbeelding/foto"
+
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:793
+msgid "Encrypted content"
+msgstr "Versleutelde inhoud"
+
+#: ../../include/bbcode.php:177
+msgid "Install design element: "
+msgstr "Installeer ontwerpelement: "
+
+#: ../../include/bbcode.php:190
+msgid "QR code"
+msgstr "QR-code"
+
+#: ../../include/bbcode.php:241
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s schreef het volgende %2$s %3$s"
+
+#: ../../include/bbcode.php:243
+msgid "post"
+msgstr "bericht"
+
+#: ../../include/bbcode.php:493
+msgid "Different viewers will see this text differently"
+msgstr "Deze tekst wordt per persoon anders weergeven."
+
+#: ../../include/bbcode.php:704
+msgid "$1 spoiler"
+msgstr "$1 spoiler"
+
+#: ../../include/bbcode.php:731
+msgid "$1 wrote:"
+msgstr "$1 schreef:"
+
+#: ../../include/items.php:399 ../../mod/like.php:270
+#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
+#: ../../mod/bulksetclose.php:11 ../../index.php:392
+msgid "Permission denied"
+msgstr "Toegang geweigerd"
+
+#: ../../include/items.php:1012 ../../include/items.php:1058
+msgid "(Unknown)"
+msgstr "(Onbekend)"
+
+#: ../../include/items.php:1226
+msgid "Visible to anybody on the internet."
+msgstr "Voor iedereen op het internet zichtbaar."
+
+#: ../../include/items.php:1228
+msgid "Visible to you only."
+msgstr "Alleen voor jou zichtbaar."
+
+#: ../../include/items.php:1230
+msgid "Visible to anybody in this network."
+msgstr "Voor iedereen in dit netwerk zichtbaar."
+
+#: ../../include/items.php:1232
+msgid "Visible to anybody authenticated."
+msgstr "Voor iedereen die geauthenticeerd is zichtbaar."
+
+#: ../../include/items.php:1234
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Voor iedereen op %s zichtbaar."
+
+#: ../../include/items.php:1236
+msgid "Visible to all connections."
+msgstr "Voor alle connecties zichtbaar."
+
+#: ../../include/items.php:1238
+msgid "Visible to approved connections."
+msgstr "Voor alle goedgekeurde connecties zichtbaar."
+
+#: ../../include/items.php:1240
+msgid "Visible to specific connections."
+msgstr "Voor specifieke connecties zichtbaar."
+
+#: ../../include/items.php:4051 ../../mod/thing.php:74
+#: ../../mod/display.php:36 ../../mod/filestorage.php:27
+#: ../../mod/viewsrc.php:20 ../../mod/admin.php:167 ../../mod/admin.php:984
+#: ../../mod/admin.php:1184
+msgid "Item not found."
+msgstr "Item niet gevonden."
+
+#: ../../include/items.php:4124 ../../include/photos.php:26
+#: ../../include/attach.php:136 ../../include/attach.php:183
+#: ../../include/attach.php:246 ../../include/attach.php:260
+#: ../../include/attach.php:304 ../../include/attach.php:318
+#: ../../include/attach.php:343 ../../include/attach.php:539
+#: ../../include/attach.php:611 ../../include/chat.php:131
+#: ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/achievements.php:30 ../../mod/manage.php:6
+#: ../../mod/settings.php:564 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/webpages.php:69 ../../mod/thing.php:241 ../../mod/thing.php:256
+#: ../../mod/thing.php:290 ../../mod/profile_photo.php:264
+#: ../../mod/profile_photo.php:277 ../../mod/block.php:22
+#: ../../mod/block.php:72 ../../mod/like.php:178 ../../mod/events.php:219
+#: ../../mod/group.php:9 ../../mod/setup.php:207 ../../mod/common.php:35
+#: ../../mod/connections.php:169 ../../mod/blocks.php:69
+#: ../../mod/blocks.php:76 ../../mod/photos.php:68 ../../mod/pdledit.php:21
+#: ../../mod/authtest.php:13 ../../mod/editlayout.php:63
+#: ../../mod/editlayout.php:87 ../../mod/chat.php:90 ../../mod/chat.php:95
+#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
+#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
+#: ../../mod/rate.php:110 ../../mod/editpost.php:13 ../../mod/invite.php:13
+#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
+#: ../../mod/menu.php:69 ../../mod/filestorage.php:18
+#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
+#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
+#: ../../mod/poke.php:128 ../../mod/profiles.php:188
+#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14 ../../mod/mitem.php:115
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/editblock.php:65 ../../mod/register.php:72 ../../mod/item.php:206
+#: ../../mod/item.php:214 ../../mod/item.php:962 ../../mod/layouts.php:69
+#: ../../mod/layouts.php:76 ../../mod/layouts.php:87 ../../mod/id.php:71
+#: ../../mod/message.php:16 ../../mod/mood.php:111 ../../mod/connedit.php:331
+#: ../../mod/mail.php:114 ../../mod/notifications.php:66
+#: ../../mod/regmod.php:17 ../../mod/new_channel.php:68
+#: ../../mod/new_channel.php:99 ../../mod/appman.php:66
+#: ../../mod/network.php:12 ../../mod/page.php:28 ../../mod/page.php:79
+#: ../../mod/bookmarks.php:46 ../../mod/channel.php:100
+#: ../../mod/channel.php:219 ../../mod/channel.php:262
+#: ../../mod/suggest.php:26 ../../mod/service_limits.php:7
+#: ../../mod/sharedwithme.php:7 ../../index.php:190 ../../index.php:393
+msgid "Permission denied."
+msgstr "Toegang geweigerd"
+
+#: ../../include/items.php:4524 ../../mod/group.php:38 ../../mod/group.php:140
+#: ../../mod/bulksetclose.php:51
+msgid "Collection not found."
+msgstr "Collectie niet gevonden."
+
+#: ../../include/items.php:4540
+msgid "Collection is empty."
+msgstr "Collectie is leeg"
+
+#: ../../include/items.php:4547
+#, php-format
+msgid "Collection: %s"
+msgstr "Collectie: %s"
+
+#: ../../include/items.php:4557
+#, php-format
+msgid "Connection: %s"
+msgstr "Connectie: %s"
+
+#: ../../include/items.php:4559
+msgid "Connection not found."
+msgstr "Connectie niet gevonden."
#: ../../include/permissions.php:26
msgid "Can view my normal stream and posts"
@@ -2483,52 +2588,52 @@ msgid ""
"Extremely advanced. Leave this alone unless you know what you are doing"
msgstr "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet."
-#: ../../include/permissions.php:893
+#: ../../include/permissions.php:809
msgid "Social Networking"
msgstr "Sociaal netwerk"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
+#: ../../include/permissions.php:811
msgid "Mostly Public"
msgstr "Vrijwel alles openbaar"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
-#: ../../include/permissions.php:895
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
+#: ../../include/permissions.php:811
msgid "Restricted"
msgstr "Beperkt zichtbaar"
-#: ../../include/permissions.php:893 ../../include/permissions.php:894
+#: ../../include/permissions.php:809 ../../include/permissions.php:810
msgid "Private"
msgstr "Verborgen kanaal"
-#: ../../include/permissions.php:894
+#: ../../include/permissions.php:810
msgid "Community Forum"
msgstr "Groepsforum"
-#: ../../include/permissions.php:895
+#: ../../include/permissions.php:811
msgid "Feed Republish"
msgstr "Feed herpubliceren"
-#: ../../include/permissions.php:896
+#: ../../include/permissions.php:812
msgid "Special Purpose"
msgstr "Speciaal doel"
-#: ../../include/permissions.php:896
+#: ../../include/permissions.php:812
msgid "Celebrity/Soapbox"
msgstr "Beroemdheid/alleen volgen"
-#: ../../include/permissions.php:896
+#: ../../include/permissions.php:812
msgid "Group Repository"
msgstr "Groepsopslag"
-#: ../../include/permissions.php:897 ../../include/profile_selectors.php:6
+#: ../../include/permissions.php:813 ../../include/profile_selectors.php:6
#: ../../include/profile_selectors.php:23
#: ../../include/profile_selectors.php:61
#: ../../include/profile_selectors.php:97
msgid "Other"
msgstr "Anders"
-#: ../../include/permissions.php:897
+#: ../../include/permissions.php:813
msgid "Custom/Expert Mode"
msgstr "Expertmodus/handmatig aanpassen"
@@ -2536,6 +2641,12 @@ msgstr "Expertmodus/handmatig aanpassen"
msgid "channel"
msgstr "kanaal"
+#: ../../include/conversation.php:164 ../../include/diaspora.php:2110
+#: ../../mod/like.php:394
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s vindt %3$s van %2$s leuk"
+
#: ../../include/conversation.php:167 ../../mod/like.php:396
#, php-format
msgid "%1$s doesn't like %2$s's %3$s"
@@ -2557,42 +2668,42 @@ msgctxt "mood"
msgid "%1$s is %2$s"
msgstr "%1$s is %2$s"
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
+#: ../../include/conversation.php:572 ../../mod/photos.php:984
msgctxt "title"
msgid "Likes"
msgstr "vinden dit leuk"
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
+#: ../../include/conversation.php:572 ../../mod/photos.php:984
msgctxt "title"
msgid "Dislikes"
msgstr "vinden dit niet leuk"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
msgctxt "title"
msgid "Agree"
msgstr "eens"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
msgctxt "title"
msgid "Disagree"
msgstr "oneens"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
+#: ../../include/conversation.php:573 ../../mod/photos.php:985
msgctxt "title"
msgid "Abstain"
-msgstr "onthouding"
+msgstr "onthoudingen"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Attending"
msgstr "aanwezig"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Not attending"
msgstr "niet aanwezig"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Might attend"
msgstr "mogelijk aanwezig"
@@ -2728,13 +2839,13 @@ msgstr "Bewaar in map: "
msgid "Where are you right now?"
msgstr "Waar bevind je je op dit moment?"
-#: ../../include/conversation.php:1147 ../../mod/editpost.php:47
+#: ../../include/conversation.php:1147 ../../mod/editpost.php:52
#: ../../mod/mail.php:175 ../../mod/mail.php:290
msgid "Expires YYYY-MM-DD HH:MM"
msgstr "Verloopt op DD-MM-YYYY om HH:MM"
-#: ../../include/conversation.php:1174 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154 ../../mod/photos.php:961 ../../mod/layouts.php:184
+#: ../../include/conversation.php:1174 ../../mod/webpages.php:180
+#: ../../mod/blocks.php:153 ../../mod/photos.php:949 ../../mod/layouts.php:183
msgid "Share"
msgstr "Delen"
@@ -2746,9 +2857,9 @@ msgstr "Linknaam pagina"
msgid "Post as"
msgstr "Bericht plaatsen als"
-#: ../../include/conversation.php:1186 ../../mod/editpost.php:112
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:184
-#: ../../mod/editblock.php:141 ../../mod/mail.php:238 ../../mod/mail.php:352
+#: ../../include/conversation.php:1186 ../../mod/editlayout.php:145
+#: ../../mod/editwebpage.php:184 ../../mod/editpost.php:119
+#: ../../mod/editblock.php:147 ../../mod/mail.php:238 ../../mod/mail.php:352
msgid "Upload photo"
msgstr "Foto uploaden"
@@ -2756,9 +2867,9 @@ msgstr "Foto uploaden"
msgid "upload photo"
msgstr "foto uploaden"
-#: ../../include/conversation.php:1188 ../../mod/editpost.php:113
-#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:185
-#: ../../mod/editblock.php:142 ../../mod/mail.php:239 ../../mod/mail.php:353
+#: ../../include/conversation.php:1188 ../../mod/editlayout.php:146
+#: ../../mod/editwebpage.php:185 ../../mod/editpost.php:120
+#: ../../mod/editblock.php:148 ../../mod/mail.php:239 ../../mod/mail.php:353
msgid "Attach file"
msgstr "Bestand toevoegen"
@@ -2766,9 +2877,9 @@ msgstr "Bestand toevoegen"
msgid "attach file"
msgstr "bestand toevoegen"
-#: ../../include/conversation.php:1190 ../../mod/editpost.php:114
-#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:186
-#: ../../mod/editblock.php:143 ../../mod/mail.php:240 ../../mod/mail.php:354
+#: ../../include/conversation.php:1190 ../../mod/editlayout.php:147
+#: ../../mod/editwebpage.php:186 ../../mod/editpost.php:121
+#: ../../mod/editblock.php:149 ../../mod/mail.php:240 ../../mod/mail.php:354
msgid "Insert web link"
msgstr "Weblink invoegen"
@@ -2792,9 +2903,9 @@ msgstr "Audiolink invoegen"
msgid "audio link"
msgstr "audiolink"
-#: ../../include/conversation.php:1196 ../../mod/editpost.php:118
-#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:190
-#: ../../mod/editblock.php:147
+#: ../../include/conversation.php:1196 ../../mod/editlayout.php:151
+#: ../../mod/editwebpage.php:190 ../../mod/editpost.php:125
+#: ../../mod/editblock.php:153
msgid "Set your location"
msgstr "Locatie instellen"
@@ -2802,13 +2913,13 @@ msgstr "Locatie instellen"
msgid "set location"
msgstr "locatie instellen"
-#: ../../include/conversation.php:1198 ../../mod/editpost.php:120
+#: ../../include/conversation.php:1198 ../../mod/editpost.php:127
msgid "Toggle voting"
msgstr "Stemmen in- of uitschakelen"
-#: ../../include/conversation.php:1201 ../../mod/editpost.php:119
-#: ../../mod/editlayout.php:146 ../../mod/editwebpage.php:191
-#: ../../mod/editblock.php:148
+#: ../../include/conversation.php:1201 ../../mod/editlayout.php:152
+#: ../../mod/editwebpage.php:191 ../../mod/editpost.php:126
+#: ../../mod/editblock.php:154
msgid "Clear browser location"
msgstr "Locatie van webbrowser wissen"
@@ -2816,20 +2927,20 @@ msgstr "Locatie van webbrowser wissen"
msgid "clear location"
msgstr "locatie wissen"
-#: ../../include/conversation.php:1204 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:207 ../../mod/editblock.php:161
+#: ../../include/conversation.php:1204 ../../mod/editwebpage.php:207
+#: ../../mod/editpost.php:141 ../../mod/editblock.php:167
msgid "Title (optional)"
msgstr "Titel (optioneel)"
-#: ../../include/conversation.php:1208 ../../mod/editpost.php:137
-#: ../../mod/editlayout.php:162 ../../mod/editwebpage.php:209
-#: ../../mod/editblock.php:164
+#: ../../include/conversation.php:1208 ../../mod/editlayout.php:168
+#: ../../mod/editwebpage.php:209 ../../mod/editpost.php:143
+#: ../../mod/editblock.php:170
msgid "Categories (optional, comma-separated list)"
msgstr "Categorieën (optioneel, door komma's gescheiden lijst)"
-#: ../../include/conversation.php:1210 ../../mod/editpost.php:124
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:193
-#: ../../mod/editblock.php:150
+#: ../../include/conversation.php:1210 ../../mod/editlayout.php:154
+#: ../../mod/editwebpage.php:193 ../../mod/editpost.php:131
+#: ../../mod/editblock.php:156
msgid "Permission settings"
msgstr "Permissies"
@@ -2837,33 +2948,33 @@ msgstr "Permissies"
msgid "permissions"
msgstr "permissies"
-#: ../../include/conversation.php:1219 ../../mod/editpost.php:132
-#: ../../mod/editlayout.php:155 ../../mod/editwebpage.php:202
-#: ../../mod/editblock.php:158
+#: ../../include/conversation.php:1219 ../../mod/editlayout.php:161
+#: ../../mod/editwebpage.php:202 ../../mod/editpost.php:138
+#: ../../mod/editblock.php:164
msgid "Public post"
msgstr "Openbaar bericht"
-#: ../../include/conversation.php:1221 ../../mod/editpost.php:138
-#: ../../mod/editlayout.php:163 ../../mod/editwebpage.php:210
-#: ../../mod/editblock.php:165
+#: ../../include/conversation.php:1221 ../../mod/editlayout.php:169
+#: ../../mod/editwebpage.php:210 ../../mod/editpost.php:144
+#: ../../mod/editblock.php:171
msgid "Example: bob@example.com, mary@example.com"
msgstr "Voorbeeld: bob@voorbeeld.nl, mary@voorbeeld.be"
-#: ../../include/conversation.php:1234 ../../mod/editpost.php:149
-#: ../../mod/editlayout.php:172 ../../mod/editwebpage.php:219
-#: ../../mod/editblock.php:175 ../../mod/mail.php:245 ../../mod/mail.php:359
+#: ../../include/conversation.php:1234 ../../mod/editlayout.php:178
+#: ../../mod/editwebpage.php:219 ../../mod/editpost.php:155
+#: ../../mod/editblock.php:181 ../../mod/mail.php:245 ../../mod/mail.php:359
msgid "Set expiration date"
msgstr "Verloopdatum instellen"
-#: ../../include/conversation.php:1238 ../../mod/events.php:651
-#: ../../mod/editpost.php:153
+#: ../../include/conversation.php:1238 ../../mod/events.php:637
+#: ../../mod/editpost.php:159
msgid "OK"
msgstr "OK"
-#: ../../include/conversation.php:1239 ../../mod/tagrm.php:11
-#: ../../mod/tagrm.php:134 ../../mod/events.php:650 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:154
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../include/conversation.php:1239 ../../mod/settings.php:583
+#: ../../mod/settings.php:609 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+#: ../../mod/events.php:636 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:160
msgid "Cancel"
msgstr "Annuleren"
@@ -2896,7 +3007,7 @@ msgid "Posts that mention or involve you"
msgstr "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent"
#: ../../include/conversation.php:1513 ../../mod/connections.php:212
-#: ../../mod/connections.php:225 ../../mod/menu.php:107
+#: ../../mod/connections.php:225 ../../mod/menu.php:102
msgid "New"
msgstr "Nieuw"
@@ -2920,7 +3031,7 @@ msgstr "Spam"
msgid "Posts flagged as SPAM"
msgstr "Berichten gemarkeerd als SPAM"
-#: ../../include/conversation.php:1579 ../../mod/admin.php:993
+#: ../../include/conversation.php:1579 ../../mod/admin.php:952
msgid "Channel"
msgstr "Kanaal"
@@ -2998,121 +3109,26 @@ msgid_plural "Abstains"
msgstr[0] "onthouding"
msgstr[1] "onthoudingen"
-#: ../../include/items.php:413 ../../mod/like.php:270
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
-#: ../../mod/bulksetclose.php:11 ../../index.php:392
-msgid "Permission denied"
-msgstr "Toegang geweigerd"
-
-#: ../../include/items.php:1038 ../../include/items.php:1084
-msgid "(Unknown)"
-msgstr "(Onbekend)"
-
-#: ../../include/items.php:1310
-msgid "Visible to anybody on the internet."
-msgstr "Voor iedereen op het internet zichtbaar."
-
-#: ../../include/items.php:1312
-msgid "Visible to you only."
-msgstr "Alleen voor jou zichtbaar."
-
-#: ../../include/items.php:1314
-msgid "Visible to anybody in this network."
-msgstr "Voor iedereen in dit netwerk zichtbaar."
-
-#: ../../include/items.php:1316
-msgid "Visible to anybody authenticated."
-msgstr "Voor iedereen die geauthenticeerd is zichtbaar."
-
-#: ../../include/items.php:1318
+#: ../../include/photos.php:94
#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Voor iedereen op %s zichtbaar."
-
-#: ../../include/items.php:1320
-msgid "Visible to all connections."
-msgstr "Voor alle connecties zichtbaar."
-
-#: ../../include/items.php:1322
-msgid "Visible to approved connections."
-msgstr "Voor alle goedgekeurde connecties zichtbaar."
-
-#: ../../include/items.php:1324
-msgid "Visible to specific connections."
-msgstr "Voor specifieke connecties zichtbaar."
-
-#: ../../include/items.php:4218 ../../mod/thing.php:74
-#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
-#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
-#: ../../mod/display.php:36
-msgid "Item not found."
-msgstr "Item niet gevonden."
-
-#: ../../include/items.php:4291 ../../include/attach.php:137
-#: ../../include/attach.php:184 ../../include/attach.php:247
-#: ../../include/attach.php:261 ../../include/attach.php:305
-#: ../../include/attach.php:319 ../../include/attach.php:350
-#: ../../include/attach.php:546 ../../include/attach.php:618
-#: ../../include/chat.php:131 ../../include/photos.php:26
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/achievements.php:30 ../../mod/manage.php:6 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/webpages.php:69 ../../mod/thing.php:241
-#: ../../mod/thing.php:256 ../../mod/thing.php:290
-#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
-#: ../../mod/events.php:232 ../../mod/group.php:9 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:978 ../../mod/network.php:12
-#: ../../mod/common.php:35 ../../mod/connections.php:169
-#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/editpost.php:13
-#: ../../mod/photos.php:69 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
-#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/mitem.php:109
-#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
-#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
-#: ../../mod/rate.php:110 ../../mod/editblock.php:65 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
-#: ../../mod/menu.php:69 ../../mod/filestorage.php:18
-#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
-#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
-#: ../../mod/poke.php:128 ../../mod/profiles.php:188
-#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14 ../../mod/setup.php:223
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/register.php:72 ../../mod/settings.php:570 ../../mod/id.php:71
-#: ../../mod/message.php:16 ../../mod/mood.php:111 ../../mod/connedit.php:336
-#: ../../mod/mail.php:114 ../../mod/notifications.php:66
-#: ../../mod/regmod.php:17 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/appman.php:66
-#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
-#: ../../mod/page.php:31 ../../mod/page.php:86 ../../mod/bookmarks.php:46
-#: ../../mod/channel.php:100 ../../mod/channel.php:219
-#: ../../mod/channel.php:262 ../../mod/suggest.php:26
-#: ../../mod/service_limits.php:7 ../../mod/sharedwithme.php:7
-#: ../../index.php:182 ../../index.php:393
-msgid "Permission denied."
-msgstr "Toegang geweigerd"
-
-#: ../../include/items.php:4693 ../../mod/group.php:38 ../../mod/group.php:140
-#: ../../mod/bulksetclose.php:51
-msgid "Collection not found."
-msgstr "Collectie niet gevonden."
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"
-#: ../../include/items.php:4709
-msgid "Collection is empty."
-msgstr "Collectie is leeg"
+#: ../../include/photos.php:101
+msgid "Image file is empty."
+msgstr "Afbeeldingsbestand is leeg"
-#: ../../include/items.php:4716
-#, php-format
-msgid "Collection: %s"
-msgstr "Collectie: %s"
+#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
+msgid "Unable to process image"
+msgstr "Afbeelding kan niet verwerkt worden"
-#: ../../include/items.php:4726 ../../mod/connedit.php:662
-#, php-format
-msgid "Connection: %s"
-msgstr "Connectie: %s"
+#: ../../include/photos.php:199
+msgid "Photo storage failed."
+msgstr "Foto kan niet worden opgeslagen"
-#: ../../include/items.php:4728
-msgid "Connection not found."
-msgstr "Connectie niet gevonden."
+#: ../../include/photos.php:363
+msgid "Upload New Photos"
+msgstr "Nieuwe foto's uploaden"
#: ../../include/zot.php:666
msgid "Invalid data packet"
@@ -3122,7 +3138,7 @@ msgstr "Datapakket ongeldig"
msgid "Unable to verify channel signature"
msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
-#: ../../include/zot.php:2133
+#: ../../include/zot.php:2108
#, php-format
msgid "Unable to verify site signature for %s"
msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
@@ -3154,7 +3170,7 @@ msgid_plural "%d invitations available"
msgstr[0] "%d uitnodiging beschikbaar"
msgstr[1] "%d uitnodigingen beschikbaar"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
+#: ../../include/contact_widgets.php:19 ../../mod/admin.php:450
msgid "Advanced"
msgstr "Geavanceerd"
@@ -3174,12 +3190,12 @@ msgstr "Verbinden/volgen"
msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Voorbeeld: Robert Morgenstein, vissen"
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379
-#: ../../mod/directory.php:384 ../../mod/connections.php:413
+#: ../../include/contact_widgets.php:26 ../../mod/connections.php:413
+#: ../../mod/directory.php:362 ../../mod/directory.php:367
msgid "Find"
msgstr "Vinden"
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
+#: ../../include/contact_widgets.php:27 ../../mod/directory.php:366
#: ../../mod/suggest.php:60
msgid "Channel Suggestions"
msgstr "Voorgestelde kanalen"
@@ -3219,67 +3235,67 @@ msgstr "Tonen"
msgid "Don't show"
msgstr "Niet tonen"
-#: ../../include/acl_selectors.php:248 ../../mod/events.php:668
-#: ../../mod/photos.php:571 ../../mod/photos.php:934 ../../mod/chat.php:209
+#: ../../include/acl_selectors.php:248 ../../mod/events.php:654
+#: ../../mod/photos.php:559 ../../mod/photos.php:922 ../../mod/chat.php:209
#: ../../mod/filestorage.php:147
msgid "Permissions"
msgstr "Permissies"
-#: ../../include/attach.php:242 ../../include/attach.php:300
+#: ../../include/attach.php:241 ../../include/attach.php:299
msgid "Item was not found."
msgstr "Item niet gevonden"
-#: ../../include/attach.php:363
+#: ../../include/attach.php:356
msgid "No source file."
msgstr "Geen bronbestand."
-#: ../../include/attach.php:381
+#: ../../include/attach.php:374
msgid "Cannot locate file to replace"
msgstr "Kan het te vervangen bestand niet vinden"
-#: ../../include/attach.php:399
+#: ../../include/attach.php:392
msgid "Cannot locate file to revise/update"
msgstr "Kan het bestand wat aangepast moet worden niet vinden"
-#: ../../include/attach.php:410
+#: ../../include/attach.php:403
#, php-format
msgid "File exceeds size limit of %d"
msgstr "Bestand is groter dan de toegelaten %d"
-#: ../../include/attach.php:422
+#: ../../include/attach.php:415
#, php-format
msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt."
-#: ../../include/attach.php:505
+#: ../../include/attach.php:498
msgid "File upload failed. Possible system limit or action terminated."
msgstr "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken."
-#: ../../include/attach.php:517
+#: ../../include/attach.php:510
msgid "Stored file could not be verified. Upload failed."
msgstr "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt."
-#: ../../include/attach.php:561 ../../include/attach.php:578
+#: ../../include/attach.php:554 ../../include/attach.php:571
msgid "Path not available."
msgstr "Pad niet beschikbaar."
-#: ../../include/attach.php:623
+#: ../../include/attach.php:616
msgid "Empty pathname"
msgstr "Padnaam leeg"
-#: ../../include/attach.php:639
+#: ../../include/attach.php:632
msgid "duplicate filename or path"
msgstr "dubbele bestandsnaam of pad"
-#: ../../include/attach.php:663
+#: ../../include/attach.php:656
msgid "Path not found."
msgstr "Pad niet gevonden"
-#: ../../include/attach.php:714
+#: ../../include/attach.php:707
msgid "mkdir failed."
msgstr "directory aanmaken (mkdir) mislukt."
-#: ../../include/attach.php:718
+#: ../../include/attach.php:711
msgid "database storage failed."
msgstr "opslag in database mislukt."
@@ -3320,206 +3336,205 @@ msgstr "Niet in staat om aangemaakte identiteit te vinden"
msgid "Default Profile"
msgstr "Standaardprofiel"
-#: ../../include/identity.php:683
+#: ../../include/identity.php:630
msgid "Requested channel is not available."
msgstr "Opgevraagd kanaal is niet beschikbaar."
-#: ../../include/identity.php:730 ../../mod/profile.php:16
+#: ../../include/identity.php:677 ../../mod/profile.php:16
#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/editblock.php:29 ../../mod/filestorage.php:54
+#: ../../mod/filestorage.php:54 ../../mod/editblock.php:29
#: ../../mod/layouts.php:29
msgid "Requested profile is not available."
msgstr "Opgevraagd profiel is niet beschikbaar"
-#: ../../include/identity.php:893 ../../mod/profiles.php:774
+#: ../../include/identity.php:836 ../../mod/profiles.php:774
msgid "Change profile photo"
msgstr "Profielfoto veranderen"
-#: ../../include/identity.php:899
+#: ../../include/identity.php:842
msgid "Profiles"
msgstr "Profielen"
-#: ../../include/identity.php:899
+#: ../../include/identity.php:842
msgid "Manage/edit profiles"
msgstr "Profielen beheren/bewerken"
-#: ../../include/identity.php:900 ../../mod/profiles.php:775
+#: ../../include/identity.php:843 ../../mod/profiles.php:775
msgid "Create New Profile"
msgstr "Nieuw profiel aanmaken"
-#: ../../include/identity.php:915 ../../mod/profiles.php:786
+#: ../../include/identity.php:858 ../../mod/profiles.php:786
msgid "Profile Image"
msgstr "Profielfoto"
-#: ../../include/identity.php:918
+#: ../../include/identity.php:861
msgid "visible to everybody"
msgstr "Voor iedereen zichtbaar"
-#: ../../include/identity.php:919 ../../mod/profiles.php:669
+#: ../../include/identity.php:862 ../../mod/profiles.php:669
#: ../../mod/profiles.php:790
msgid "Edit visibility"
msgstr "Zichtbaarheid bewerken"
-#: ../../include/identity.php:935 ../../include/identity.php:1174
+#: ../../include/identity.php:878 ../../include/identity.php:1117
msgid "Gender:"
msgstr "Geslacht:"
-#: ../../include/identity.php:936 ../../include/identity.php:1218
+#: ../../include/identity.php:879 ../../include/identity.php:1161
msgid "Status:"
msgstr "Status:"
-#: ../../include/identity.php:937 ../../include/identity.php:1229
+#: ../../include/identity.php:880 ../../include/identity.php:1172
msgid "Homepage:"
msgstr "Homepagina:"
-#: ../../include/identity.php:938
+#: ../../include/identity.php:881
msgid "Online Now"
msgstr "Nu online"
-#: ../../include/identity.php:1021 ../../include/identity.php:1099
+#: ../../include/identity.php:964 ../../include/identity.php:1042
#: ../../mod/ping.php:324
msgid "g A l F d"
msgstr "G:i, l d F"
-#: ../../include/identity.php:1022 ../../include/identity.php:1100
+#: ../../include/identity.php:965 ../../include/identity.php:1043
msgid "F d"
msgstr "d F"
-#: ../../include/identity.php:1067 ../../include/identity.php:1139
+#: ../../include/identity.php:1010 ../../include/identity.php:1082
#: ../../mod/ping.php:346
msgid "[today]"
msgstr "[vandaag]"
-#: ../../include/identity.php:1078
+#: ../../include/identity.php:1021
msgid "Birthday Reminders"
msgstr "Verjaardagsherinneringen"
-#: ../../include/identity.php:1079
+#: ../../include/identity.php:1022
msgid "Birthdays this week:"
msgstr "Verjaardagen deze week:"
-#: ../../include/identity.php:1132
+#: ../../include/identity.php:1075
msgid "[No description]"
msgstr "[Geen omschrijving]"
-#: ../../include/identity.php:1150
+#: ../../include/identity.php:1093
msgid "Event Reminders"
msgstr "Herinneringen"
-#: ../../include/identity.php:1151
+#: ../../include/identity.php:1094
msgid "Events this week:"
msgstr "Gebeurtenissen deze week:"
-#: ../../include/identity.php:1164 ../../include/identity.php:1281
+#: ../../include/identity.php:1107 ../../include/identity.php:1224
#: ../../include/apps.php:138 ../../mod/profperm.php:112
msgid "Profile"
msgstr "Profiel"
-#: ../../include/identity.php:1172 ../../mod/settings.php:1056
+#: ../../include/identity.php:1115 ../../mod/settings.php:1045
msgid "Full Name:"
msgstr "Volledige naam:"
-#: ../../include/identity.php:1179
+#: ../../include/identity.php:1122
msgid "Like this channel"
msgstr "Vind dit kanaal leuk"
-#: ../../include/identity.php:1203
+#: ../../include/identity.php:1146
msgid "j F, Y"
msgstr "F j Y"
-#: ../../include/identity.php:1204
+#: ../../include/identity.php:1147
msgid "j F"
msgstr "F j"
-#: ../../include/identity.php:1211
+#: ../../include/identity.php:1154
msgid "Birthday:"
msgstr "Geboortedatum:"
-#: ../../include/identity.php:1215 ../../mod/directory.php:297
+#: ../../include/identity.php:1158
msgid "Age:"
msgstr "Leeftijd:"
-#: ../../include/identity.php:1224
+#: ../../include/identity.php:1167
#, php-format
msgid "for %1$d %2$s"
msgstr "voor %1$d %2$s"
-#: ../../include/identity.php:1227 ../../mod/profiles.php:691
+#: ../../include/identity.php:1170 ../../mod/profiles.php:691
msgid "Sexual Preference:"
msgstr "Seksuele voorkeur:"
-#: ../../include/identity.php:1231 ../../mod/directory.php:313
-#: ../../mod/profiles.php:693
+#: ../../include/identity.php:1174 ../../mod/profiles.php:693
msgid "Hometown:"
msgstr "Oorspronkelijk uit:"
-#: ../../include/identity.php:1233
+#: ../../include/identity.php:1176
msgid "Tags:"
msgstr "Tags:"
-#: ../../include/identity.php:1235 ../../mod/profiles.php:694
+#: ../../include/identity.php:1178 ../../mod/profiles.php:694
msgid "Political Views:"
msgstr "Politieke overtuigingen:"
-#: ../../include/identity.php:1237
+#: ../../include/identity.php:1180
msgid "Religion:"
msgstr "Religie:"
-#: ../../include/identity.php:1239 ../../mod/directory.php:315
+#: ../../include/identity.php:1182
msgid "About:"
msgstr "Over:"
-#: ../../include/identity.php:1241
+#: ../../include/identity.php:1184
msgid "Hobbies/Interests:"
msgstr "Hobby's/interesses:"
-#: ../../include/identity.php:1243 ../../mod/profiles.php:697
+#: ../../include/identity.php:1186 ../../mod/profiles.php:697
msgid "Likes:"
msgstr "Houdt van:"
-#: ../../include/identity.php:1245 ../../mod/profiles.php:698
+#: ../../include/identity.php:1188 ../../mod/profiles.php:698
msgid "Dislikes:"
msgstr "Houdt niet van:"
-#: ../../include/identity.php:1247
+#: ../../include/identity.php:1190
msgid "Contact information and Social Networks:"
msgstr "Contactinformatie en sociale netwerken:"
-#: ../../include/identity.php:1249
+#: ../../include/identity.php:1192
msgid "My other channels:"
msgstr "Mijn andere kanalen"
-#: ../../include/identity.php:1251
+#: ../../include/identity.php:1194
msgid "Musical interests:"
msgstr "Muzikale interesses:"
-#: ../../include/identity.php:1253
+#: ../../include/identity.php:1196
msgid "Books, literature:"
msgstr "Boeken, literatuur:"
-#: ../../include/identity.php:1255
+#: ../../include/identity.php:1198
msgid "Television:"
msgstr "Televisie:"
-#: ../../include/identity.php:1257
+#: ../../include/identity.php:1200
msgid "Film/dance/culture/entertainment:"
msgstr "Films/dansen/cultuur/vermaak:"
-#: ../../include/identity.php:1259
+#: ../../include/identity.php:1202
msgid "Love/Romance:"
msgstr "Liefde/romantiek:"
-#: ../../include/identity.php:1261
+#: ../../include/identity.php:1204
msgid "Work/employment:"
msgstr "Werk/beroep:"
-#: ../../include/identity.php:1263
+#: ../../include/identity.php:1206
msgid "School/education:"
msgstr "School/opleiding:"
-#: ../../include/identity.php:1283
+#: ../../include/identity.php:1226
msgid "Like this thing"
msgstr "Vind dit ding leuk"
@@ -3805,7 +3820,7 @@ msgid "Profile Photo"
msgstr "Profielfoto"
#: ../../include/apps.php:247 ../../mod/settings.php:84
-#: ../../mod/settings.php:614
+#: ../../mod/settings.php:608
msgid "Update"
msgstr "Bijwerken"
@@ -3817,73 +3832,6 @@ msgstr "Installeren"
msgid "Purchase"
msgstr "Aanschaffen"
-#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
-#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
-#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
-#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
-#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
-#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
-#: ../../include/bbcode.php:807
-msgid "Image/photo"
-msgstr "Afbeelding/foto"
-
-#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
-msgid "Encrypted content"
-msgstr "Versleutelde inhoud"
-
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Installeer %s-element: "
-
-#: ../../include/bbcode.php:182
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren."
-
-#: ../../include/bbcode.php:192 ../../mod/impel.php:37
-msgid "webpage"
-msgstr "Webpagina"
-
-#: ../../include/bbcode.php:195 ../../mod/impel.php:47
-msgid "layout"
-msgstr "lay-out"
-
-#: ../../include/bbcode.php:198 ../../mod/impel.php:42
-msgid "block"
-msgstr "blok"
-
-#: ../../include/bbcode.php:201 ../../mod/impel.php:54
-msgid "menu"
-msgstr "menu"
-
-#: ../../include/bbcode.php:215
-msgid "QR code"
-msgstr "QR-code"
-
-#: ../../include/bbcode.php:266
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s schreef het volgende %2$s %3$s"
-
-#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
-msgid "post"
-msgstr "bericht"
-
-#: ../../include/bbcode.php:518
-msgid "Different viewers will see this text differently"
-msgstr "Deze tekst wordt per persoon anders weergeven."
-
-#: ../../include/bbcode.php:729
-msgid "$1 spoiler"
-msgstr "$1 spoiler"
-
-#: ../../include/bbcode.php:756
-msgid "$1 wrote:"
-msgstr "$1 schreef:"
-
#: ../../include/chat.php:23
msgid "Missing room name"
msgstr "Naam chatkanaal ontbreekt"
@@ -3904,27 +3852,6 @@ msgstr "Chatkanaal niet gevonden"
msgid "Room is full"
msgstr "Chatkanaal is vol"
-#: ../../include/photos.php:94
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"
-
-#: ../../include/photos.php:101
-msgid "Image file is empty."
-msgstr "Afbeeldingsbestand is leeg"
-
-#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
-msgid "Unable to process image"
-msgstr "Afbeelding kan niet verwerkt worden"
-
-#: ../../include/photos.php:199
-msgid "Photo storage failed."
-msgstr "Foto kan niet worden opgeslagen"
-
-#: ../../include/photos.php:363
-msgid "Upload New Photos"
-msgstr "Nieuwe foto's uploaden"
-
#: ../../mod/achievements.php:34
msgid "Some blurb about what to do when you're new here"
msgstr "Welkom op $Projectname. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook <a href=\"directory\">apps</a>, waar je vrijwel alle functies van $Projectname kunt vinden. Voor <a href=\"directory\">hulp</a> met $Projectname klik je op het vraagteken."
@@ -3968,94 +3895,599 @@ msgstr "%d nieuwe connectieverzoeken"
msgid "Delegated Channels"
msgstr "Uitbestede kanalen"
-#: ../../mod/directory.php:59 ../../mod/photos.php:441 ../../mod/search.php:13
-#: ../../mod/ratings.php:82 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:13
-msgid "Public access denied."
-msgstr "Openbare toegang geweigerd."
+#: ../../mod/settings.php:76
+msgid "Name is required"
+msgstr "Naam is vereist"
-#: ../../mod/directory.php:234
+#: ../../mod/settings.php:80
+msgid "Key and Secret are required"
+msgstr "Key en secret zijn vereist"
+
+#: ../../mod/settings.php:124
+msgid "Diaspora Policy Settings updated."
+msgstr "Beleidsinstellingen Diaspora bijgewerkt."
+
+#: ../../mod/settings.php:232
+msgid "Passwords do not match. Password unchanged."
+msgstr "Wachtwoorden komen niet overeen. Wachtwoord onveranderd."
+
+#: ../../mod/settings.php:236
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd."
+
+#: ../../mod/settings.php:250
+msgid "Password changed."
+msgstr "Wachtwoord veranderd."
+
+#: ../../mod/settings.php:252
+msgid "Password update failed. Please try again."
+msgstr "Bijwerken wachtwoord mislukt. Probeer opnieuw."
+
+#: ../../mod/settings.php:266
+msgid "Not valid email."
+msgstr "Geen geldig e-mailadres."
+
+#: ../../mod/settings.php:269
+msgid "Protected email address. Cannot change to that email."
+msgstr "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken."
+
+#: ../../mod/settings.php:278
+msgid "System failure storing new email. Please try again."
+msgstr "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer."
+
+#: ../../mod/settings.php:517
+msgid "Settings updated."
+msgstr "Instellingen bijgewerkt."
+
+#: ../../mod/settings.php:573 ../../mod/api.php:106 ../../mod/photos.php:556
+#: ../../mod/menu.php:88 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:424
+#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1544
+msgid "No"
+msgstr "Nee"
+
+#: ../../mod/settings.php:573 ../../mod/api.php:105 ../../mod/photos.php:556
+#: ../../mod/menu.php:88 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:426
+#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1544
+msgid "Yes"
+msgstr "Ja"
+
+#: ../../mod/settings.php:581 ../../mod/settings.php:607
+#: ../../mod/settings.php:643
+msgid "Add application"
+msgstr "Applicatie toevoegen"
+
+#: ../../mod/settings.php:584
+msgid "Name of application"
+msgstr "Naam van applicatie"
+
+#: ../../mod/settings.php:585 ../../mod/settings.php:611
+msgid "Consumer Key"
+msgstr "Consumer key"
+
+#: ../../mod/settings.php:585 ../../mod/settings.php:586
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20"
+
+#: ../../mod/settings.php:586 ../../mod/settings.php:612
+msgid "Consumer Secret"
+msgstr "Consumer secret"
+
+#: ../../mod/settings.php:587 ../../mod/settings.php:613
+msgid "Redirect"
+msgstr "Redirect/doorverwijzing"
+
+#: ../../mod/settings.php:587
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist"
+
+#: ../../mod/settings.php:588 ../../mod/settings.php:614
+msgid "Icon url"
+msgstr "URL van pictogram"
+
+#: ../../mod/settings.php:588
+msgid "Optional"
+msgstr "Optioneel"
+
+#: ../../mod/settings.php:599
+msgid "You can't edit this application."
+msgstr "Je kan deze applicatie niet bewerken"
+
+#: ../../mod/settings.php:642
+msgid "Connected Apps"
+msgstr "Verbonden applicaties"
+
+#: ../../mod/settings.php:646
+msgid "Client key starts with"
+msgstr "Client key begint met"
+
+#: ../../mod/settings.php:647
+msgid "No name"
+msgstr "Geen naam"
+
+#: ../../mod/settings.php:648
+msgid "Remove authorization"
+msgstr "Autorisatie verwijderen"
+
+#: ../../mod/settings.php:662
+msgid "No feature settings configured"
+msgstr "Geen extra functie- of plugin-instellingen"
+
+#: ../../mod/settings.php:678
+msgid "Feature/Addon Settings"
+msgstr "Extra functie- en plugin-instellingen"
+
+#: ../../mod/settings.php:680
+msgid "Settings for the built-in Diaspora emulator"
+msgstr "Instellingen voor de ingebouwde Diaspora-emulator"
+
+#: ../../mod/settings.php:681
+msgid "Allow any Diaspora member to comment on your public posts"
+msgstr "Sta toe dat elk Diaspora-lid op jouw openbare berichten kan reageren."
+
+#: ../../mod/settings.php:682
+msgid "Diaspora Policy Settings"
+msgstr "Beleidsinstellingen Diaspora"
+
+#: ../../mod/settings.php:683
+msgid "Prevent your hashtags from being redirected to other sites"
+msgstr "Voorkom dat jouw tags naar andere websites worden doorverwezen"
+
+#: ../../mod/settings.php:707
+msgid "Account Settings"
+msgstr "Account-instellingen"
+
+#: ../../mod/settings.php:708
+msgid "Enter New Password:"
+msgstr "Nieuw wachtwoord invoeren:"
+
+#: ../../mod/settings.php:709
+msgid "Confirm New Password:"
+msgstr "Nieuw wachtwoord bevestigen:"
+
+#: ../../mod/settings.php:709
+msgid "Leave password fields blank unless changing"
+msgstr "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen"
+
+#: ../../mod/settings.php:711 ../../mod/settings.php:1046
+msgid "Email Address:"
+msgstr "E-mailadres:"
+
+#: ../../mod/settings.php:712 ../../mod/removeaccount.php:61
+msgid "Remove Account"
+msgstr "Account verwijderen"
+
+#: ../../mod/settings.php:713
+msgid "Remove this account including all its channels"
+msgstr "Dit account en al zijn kanalen verwijderen"
+
+#: ../../mod/settings.php:729
+msgid "Off"
+msgstr "Uit"
+
+#: ../../mod/settings.php:729
+msgid "On"
+msgstr "Aan"
+
+#: ../../mod/settings.php:736
+msgid "Additional Features"
+msgstr "Extra functies"
+
+#: ../../mod/settings.php:760
+msgid "Connector Settings"
+msgstr "Instellingen externe koppelingen"
+
+#: ../../mod/settings.php:799
+msgid "No special theme for mobile devices"
+msgstr "Geen speciaal thema voor mobiele apparaten"
+
+#: ../../mod/settings.php:802
#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d beoordeling"
-msgstr[1] "%d beoordelingen"
+msgid "%s - (Experimental)"
+msgstr "%s - (experimenteel)"
-#: ../../mod/directory.php:245
-msgid "Gender: "
-msgstr "Geslacht:"
+#: ../../mod/settings.php:805 ../../mod/admin.php:396
+msgid "mobile"
+msgstr "mobiel"
-#: ../../mod/directory.php:247
-msgid "Status: "
-msgstr "Status: "
+#: ../../mod/settings.php:841
+msgid "Display Settings"
+msgstr "Weergave-instellingen"
-#: ../../mod/directory.php:249
-msgid "Homepage: "
-msgstr "Homepagina: "
+#: ../../mod/settings.php:847
+msgid "Display Theme:"
+msgstr "Gebruik thema:"
-#: ../../mod/directory.php:308 ../../mod/events.php:659
-msgid "Description:"
-msgstr "Omschrijving:"
+#: ../../mod/settings.php:848
+msgid "Mobile Theme:"
+msgstr "Mobiel thema:"
-#: ../../mod/directory.php:317
-msgid "Public Forum:"
-msgstr "Openbaar forum:"
+#: ../../mod/settings.php:849
+msgid "Enable user zoom on mobile devices"
+msgstr "Inzoomen op smartphones en tablets toestaan"
-#: ../../mod/directory.php:320
-msgid "Keywords: "
-msgstr "Trefwoorden: "
+#: ../../mod/settings.php:850
+msgid "Update browser every xx seconds"
+msgstr "Ververs de webbrowser om de zoveel seconde"
+
+#: ../../mod/settings.php:850
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimaal 10 seconde, geen maximum"
+
+#: ../../mod/settings.php:851
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Maximaal aantal conversaties die per keer geladen worden:"
+
+#: ../../mod/settings.php:851
+msgid "Maximum of 100 items"
+msgstr "Maximaal 100 conversaties"
-#: ../../mod/directory.php:323
-msgid "Don't suggest"
-msgstr "Niet voorstellen"
+#: ../../mod/settings.php:852
+msgid "Show emoticons (smilies) as images"
+msgstr "Toon emoticons (smilies) als afbeeldingen"
-#: ../../mod/directory.php:325
-msgid "Common connections:"
-msgstr "Gemeenschappelijke connecties:"
+#: ../../mod/settings.php:853
+msgid "Link post titles to source"
+msgstr "Berichtkoppen naar originele locatie linken"
-#: ../../mod/directory.php:374
-msgid "Global Directory"
-msgstr "Volledige kanalengids"
+#: ../../mod/settings.php:854
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Lay-out bewerken van systeempagina's (geavanceerd)"
-#: ../../mod/directory.php:374
-msgid "Local Directory"
-msgstr "Lokale kanalengids"
+#: ../../mod/settings.php:857
+msgid "Use blog/list mode on channel page"
+msgstr "Gebruik blog/lijst-modus op kanaalpagina"
-#: ../../mod/directory.php:380
-msgid "Finding:"
-msgstr "Gezocht naar:"
+#: ../../mod/settings.php:857 ../../mod/settings.php:858
+msgid "(comments displayed separately)"
+msgstr "(reacties worden afzonderlijk weergeven)"
-#: ../../mod/directory.php:385
-msgid "next page"
-msgstr "volgende pagina"
+#: ../../mod/settings.php:858
+msgid "Use blog/list mode on matrix page"
+msgstr "Gebruik blog/lijst-modus op matrixpagina"
-#: ../../mod/directory.php:385
-msgid "previous page"
-msgstr "vorige pagina"
+#: ../../mod/settings.php:859
+msgid "Channel page max height of content (in pixels)"
+msgstr "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)"
-#: ../../mod/directory.php:386
-msgid "Sort options"
-msgstr "Sorteeropties"
+#: ../../mod/settings.php:859 ../../mod/settings.php:860
+msgid "click to expand content exceeding this height"
+msgstr "klik om inhoud uit te klappen die deze hoogte overschrijdt"
-#: ../../mod/directory.php:387
-msgid "Alphabetic"
-msgstr "Alfabetisch"
+#: ../../mod/settings.php:860
+msgid "Matrix page max height of content (in pixels)"
+msgstr "Maximale hoogte berichtinhoud op matrixpagina (in pixels)"
-#: ../../mod/directory.php:388
-msgid "Reverse Alphabetic"
-msgstr "Omgekeerd alfabetisch"
+#: ../../mod/settings.php:894
+msgid "Nobody except yourself"
+msgstr "Niemand, behalve jezelf"
-#: ../../mod/directory.php:389
-msgid "Newest to Oldest"
-msgstr "Nieuw naar oud"
+#: ../../mod/settings.php:895
+msgid "Only those you specifically allow"
+msgstr "Alleen connecties met uitdrukkelijke toestemming"
-#: ../../mod/directory.php:390
-msgid "Oldest to Newest"
-msgstr "Oud naar nieuw"
+#: ../../mod/settings.php:896
+msgid "Approved connections"
+msgstr "Geaccepteerde connecties"
-#: ../../mod/directory.php:407
-msgid "No entries (some entries may be hidden)."
-msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)."
+#: ../../mod/settings.php:897
+msgid "Any connections"
+msgstr "Alle connecties"
+
+#: ../../mod/settings.php:898
+msgid "Anybody on this website"
+msgstr "Iedereen op deze hub"
+
+#: ../../mod/settings.php:899
+msgid "Anybody in this network"
+msgstr "Iedereen in dit netwerk"
+
+#: ../../mod/settings.php:900
+msgid "Anybody authenticated"
+msgstr "Geauthenticeerd"
+
+#: ../../mod/settings.php:901
+msgid "Anybody on the internet"
+msgstr "Iedereen op het internet"
+
+#: ../../mod/settings.php:975
+msgid "Publish your default profile in the network directory"
+msgstr "Publiceer je standaardprofiel in de kanalengids"
+
+#: ../../mod/settings.php:980
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen"
+
+#: ../../mod/settings.php:984 ../../mod/profile_photo.php:366
+msgid "or"
+msgstr "of"
+
+#: ../../mod/settings.php:989
+msgid "Your channel address is"
+msgstr "Jouw kanaaladres is"
+
+#: ../../mod/settings.php:1037
+msgid "Channel Settings"
+msgstr "Kanaal-instellingen"
+
+#: ../../mod/settings.php:1044
+msgid "Basic Settings"
+msgstr "Basis-instellingen"
+
+#: ../../mod/settings.php:1047
+msgid "Your Timezone:"
+msgstr "Jouw tijdzone:"
+
+#: ../../mod/settings.php:1048
+msgid "Default Post Location:"
+msgstr "Standaardlocatie bericht:"
+
+#: ../../mod/settings.php:1048
+msgid "Geographical location to display on your posts"
+msgstr "Geografische locatie die bij het bericht moet worden vermeld"
+
+#: ../../mod/settings.php:1049
+msgid "Use Browser Location:"
+msgstr "Locatie van webbrowser gebruiken:"
+
+#: ../../mod/settings.php:1051
+msgid "Adult Content"
+msgstr "Inhoud voor volwassenen"
+
+#: ../../mod/settings.php:1051
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassenen. (Gebruik de tag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)"
+
+#: ../../mod/settings.php:1053
+msgid "Security and Privacy Settings"
+msgstr "Veiligheids- en privacy-instellingen"
+
+#: ../../mod/settings.php:1055
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen."
+
+#: ../../mod/settings.php:1057
+msgid "Hide my online presence"
+msgstr "Verberg mijn aanwezigheid"
+
+#: ../../mod/settings.php:1057
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Voorkomt dat op je kanaalpagina te zien valt dat je momenteel op $Projectname aanwezig bent"
+
+#: ../../mod/settings.php:1059
+msgid "Simple Privacy Settings:"
+msgstr "Eenvoudige privacy-instellingen:"
+
+#: ../../mod/settings.php:1060
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>"
+
+#: ../../mod/settings.php:1061
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>"
+
+#: ../../mod/settings.php:1062
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Privé <em>(standaard privé en nooit openbaar)</em>"
+
+#: ../../mod/settings.php:1063
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>"
+
+#: ../../mod/settings.php:1065
+msgid "Allow others to tag your posts"
+msgstr "Anderen toestaan om je berichten te taggen"
+
+#: ../../mod/settings.php:1065
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren"
+
+#: ../../mod/settings.php:1067
+msgid "Advanced Privacy Settings"
+msgstr "Geavanceerde privacy-instellingen"
+
+#: ../../mod/settings.php:1069
+msgid "Expire other channel content after this many days"
+msgstr "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:"
+
+#: ../../mod/settings.php:1069
+msgid "0 or blank prevents expiration"
+msgstr "0 of leeg voorkomt het verlopen"
+
+#: ../../mod/settings.php:1070
+msgid "Maximum Friend Requests/Day:"
+msgstr "Maximum aantal connectieverzoeken per dag:"
+
+#: ../../mod/settings.php:1070
+msgid "May reduce spam activity"
+msgstr "Kan eventuele spam verminderen"
+
+#: ../../mod/settings.php:1071
+msgid "Default Post Permissions"
+msgstr "Standaard permissies voor nieuwe berichten"
+
+#: ../../mod/settings.php:1072 ../../mod/mitem.php:152 ../../mod/mitem.php:221
+msgid "(click to open/close)"
+msgstr "(klik om te openen/sluiten)"
+
+#: ../../mod/settings.php:1076
+msgid "Channel permissions category:"
+msgstr "Kanaaltype en -permissies:"
+
+#: ../../mod/settings.php:1082
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Maximum aantal privé-berichten per dag van onbekende personen:"
+
+#: ../../mod/settings.php:1082
+msgid "Useful to reduce spamming"
+msgstr "Kan eventuele spam verminderen"
+
+#: ../../mod/settings.php:1085
+msgid "Notification Settings"
+msgstr "Notificatie-instellingen"
+
+#: ../../mod/settings.php:1086
+msgid "By default post a status message when:"
+msgstr "Plaats automatisch een statusbericht wanneer:"
+
+#: ../../mod/settings.php:1087
+msgid "accepting a friend request"
+msgstr "Een connectieverzoek wordt geaccepteerd"
+
+#: ../../mod/settings.php:1088
+msgid "joining a forum/community"
+msgstr "Je lid wordt van een forum/groep"
+
+#: ../../mod/settings.php:1089
+msgid "making an <em>interesting</em> profile change"
+msgstr "Er sprake is van een <em>interessante</em> profielwijziging"
+
+#: ../../mod/settings.php:1090
+msgid "Send a notification email when:"
+msgstr "Verzend een notificatie per e-mail wanneer:"
+
+#: ../../mod/settings.php:1091
+msgid "You receive a connection request"
+msgstr "Je een connectieverzoek ontvangt"
+
+#: ../../mod/settings.php:1092
+msgid "Your connections are confirmed"
+msgstr "Jouw connecties zijn bevestigd"
+
+#: ../../mod/settings.php:1093
+msgid "Someone writes on your profile wall"
+msgstr "Iemand iets op jouw kanaal heeft geschreven"
+
+#: ../../mod/settings.php:1094
+msgid "Someone writes a followup comment"
+msgstr "Iemand een reactie schrijft"
+
+#: ../../mod/settings.php:1095
+msgid "You receive a private message"
+msgstr "Je een privé-bericht ontvangt"
+
+#: ../../mod/settings.php:1096
+msgid "You receive a friend suggestion"
+msgstr "Je een kanaalvoorstel ontvangt"
+
+#: ../../mod/settings.php:1097
+msgid "You are tagged in a post"
+msgstr "Je expliciet in een bericht bent genoemd"
+
+#: ../../mod/settings.php:1098
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Je bent in een bericht aangestoten/gepord/etc."
+
+#: ../../mod/settings.php:1101
+msgid "Show visual notifications including:"
+msgstr "Toon de volgende zichtbare notificaties:"
+
+#: ../../mod/settings.php:1103
+msgid "Unseen matrix activity"
+msgstr "Niet bekeken matrix-activiteit"
+
+#: ../../mod/settings.php:1104
+msgid "Unseen channel activity"
+msgstr "Niet bekeken kanaal-activiteit"
+
+#: ../../mod/settings.php:1105
+msgid "Unseen private messages"
+msgstr "Niet bekeken privéberichten"
+
+#: ../../mod/settings.php:1105 ../../mod/settings.php:1110
+#: ../../mod/settings.php:1111 ../../mod/settings.php:1112
+msgid "Recommended"
+msgstr "Aanbevolen"
+
+#: ../../mod/settings.php:1106
+msgid "Upcoming events"
+msgstr "Aankomende gebeurtenissen"
+
+#: ../../mod/settings.php:1107
+msgid "Events today"
+msgstr "Gebeurtissen van vandaag"
+
+#: ../../mod/settings.php:1108
+msgid "Upcoming birthdays"
+msgstr "Aankomende verjaardagen"
+
+#: ../../mod/settings.php:1108
+msgid "Not available in all themes"
+msgstr "Niet in alle thema's beschikbaar"
+
+#: ../../mod/settings.php:1109
+msgid "System (personal) notifications"
+msgstr "(Persoonlijke) systeemnotificaties"
+
+#: ../../mod/settings.php:1110
+msgid "System info messages"
+msgstr "Systeemmededelingen"
+
+#: ../../mod/settings.php:1111
+msgid "System critical alerts"
+msgstr "Kritische systeemwaarschuwingen"
+
+#: ../../mod/settings.php:1112
+msgid "New connections"
+msgstr "Nieuwe connecties"
+
+#: ../../mod/settings.php:1113
+msgid "System Registrations"
+msgstr "Nieuwe accountregistraties op deze hub"
+
+#: ../../mod/settings.php:1114
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr "Toon tevens nieuwe kanaalberichten, privéberichten en connecties onder Notificaties"
+
+#: ../../mod/settings.php:1116
+msgid "Notify me of events this many days in advance"
+msgstr "Herinner mij zoveel dagen van te voren aan gebeurtenissen"
+
+#: ../../mod/settings.php:1116
+msgid "Must be greater than 0"
+msgstr "Moet hoger dan 0 zijn"
+
+#: ../../mod/settings.php:1118
+msgid "Advanced Account/Page Type Settings"
+msgstr "Instellingen geavanceerd account/paginatype"
+
+#: ../../mod/settings.php:1119
+msgid "Change the behaviour of this account for special situations"
+msgstr "Verander het gedrag van dit account voor speciale situaties"
+
+#: ../../mod/settings.php:1122
+msgid ""
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!"
+
+#: ../../mod/settings.php:1123
+msgid "Miscellaneous Settings"
+msgstr "Diverse instellingen"
+
+#: ../../mod/settings.php:1125
+msgid "Personal menu to display in your channel pages"
+msgstr "Persoonlijk menu om op je kanaalpagina's weer te geven"
+
+#: ../../mod/settings.php:1126 ../../mod/removeme.php:61
+msgid "Remove Channel"
+msgstr "Kanaal verwijderen"
+
+#: ../../mod/settings.php:1127
+msgid "Remove this channel."
+msgstr "Verwijder dit kanaal."
#: ../../mod/xchan.php:6
msgid "Xchan Lookup"
@@ -4065,7 +4497,7 @@ msgstr "Xchan opzoeken"
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Zoek een xchan (of webbie) die begint met:"
-#: ../../mod/xchan.php:37 ../../mod/mitem.php:114 ../../mod/menu.php:156
+#: ../../mod/xchan.php:37 ../../mod/menu.php:149 ../../mod/mitem.php:120
msgid "Not found."
msgstr "Niet gevonden."
@@ -4087,7 +4519,7 @@ msgid ""
" and/or create new posts for you?"
msgstr "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?"
-#: ../../mod/webpages.php:191
+#: ../../mod/webpages.php:189
msgid "Page Title"
msgstr "Paginatitel"
@@ -4107,7 +4539,7 @@ msgstr "Verwijder item-tag"
msgid "Select a tag to remove: "
msgstr "Kies een tag om te verwijderen"
-#: ../../mod/tagrm.php:133 ../../mod/photos.php:887
+#: ../../mod/tagrm.php:133 ../../mod/photos.php:875
msgid "Remove"
msgstr "Verwijderen"
@@ -4215,11 +4647,20 @@ msgstr "Ding aan je profiel toevoegen"
msgid "Item not available."
msgstr "Item is niet aanwezig."
-#: ../../mod/probe.php:24 ../../mod/probe.php:30
+#: ../../mod/probe.php:23 ../../mod/probe.php:29
#, php-format
msgid "Fetching URL returns error: %1$s"
msgstr "Ophalen URL gaf een foutmelding terug: %1$s"
+#: ../../mod/home.php:53
+msgid "Red Matrix - &quot;The Network&quot;"
+msgstr "RedMatrix - &quot;The Network&quot;"
+
+#: ../../mod/home.php:124
+#, php-format
+msgid "Welcome to %s"
+msgstr "Welkom op %s"
+
#: ../../mod/profile_photo.php:108
msgid "Image uploaded but image cropping failed."
msgstr "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. "
@@ -4259,10 +4700,6 @@ msgstr "Kies een profiel:"
msgid "Upload Profile Photo"
msgstr "Profielfoto uploaden"
-#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
-msgid "or"
-msgstr "of"
-
#: ../../mod/profile_photo.php:366
msgid "skip this step"
msgstr "sla deze stap over"
@@ -4296,16 +4733,16 @@ msgstr "Uploaden afbeelding mislukt"
msgid "Image size reduction [%s] failed."
msgstr "Verkleinen [%s] van afbeelding mislukt."
-#: ../../mod/block.php:27 ../../mod/page.php:36
+#: ../../mod/block.php:27 ../../mod/page.php:33
msgid "Invalid item."
msgstr "Ongeldig item."
-#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:52
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:45
msgid "Channel not found."
msgstr "Kanaal niet gevonden."
-#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:79
-#: ../../mod/page.php:89 ../../index.php:241
+#: ../../mod/block.php:75 ../../mod/help.php:79 ../../mod/display.php:106
+#: ../../mod/page.php:82 ../../index.php:241
msgid "Page not found."
msgstr "Pagina niet gevonden."
@@ -4319,9 +4756,9 @@ msgstr "Deze actie kan alleen door $Projectname-leden worden uitgevoerd."
#: ../../mod/like.php:21
msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
-"href=\"register\">register as a new $Projectname member</a> to continue."
-msgstr "Je dient <a href=\"rmagic\">in te loggen met je $Projectname-account</a> of <a href=\"register\">een nieuw $Projectname-account te registreren</a> om verder te kunnen gaan."
+"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
+"href=\"register\">register as a new RedMatrix member</a> to continue."
+msgstr "Je dient <a href=\"rmagic\">in te loggen met je RedMatrix-account</a> of <a href=\"register\">een nieuw RedMatrix-account te registreren</a> om verder te kunnen gaan."
#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
msgid "Invalid request."
@@ -4377,113 +4814,101 @@ msgstr "Actie voltooid"
msgid "Thank you."
msgstr "Bedankt"
-#: ../../mod/events.php:21
-msgid "Calendar entries imported."
-msgstr "Agenda-items geïmporteerd."
-
-#: ../../mod/events.php:23
-msgid "No calendar entries found."
-msgstr "Geen agenda-items gevonden."
-
-#: ../../mod/events.php:101
+#: ../../mod/events.php:87
msgid "Event can not end before it has started."
msgstr "Gebeurtenis kan niet eindigen voordat het is begonnen"
-#: ../../mod/events.php:103 ../../mod/events.php:112 ../../mod/events.php:130
+#: ../../mod/events.php:89 ../../mod/events.php:98 ../../mod/events.php:116
msgid "Unable to generate preview."
msgstr "Niet in staat om voorvertoning te genereren"
-#: ../../mod/events.php:110
+#: ../../mod/events.php:96
msgid "Event title and start time are required."
msgstr "Titel en begintijd van gebeurtenis zijn vereist."
-#: ../../mod/events.php:128
+#: ../../mod/events.php:114
msgid "Event not found."
msgstr "Gebeurtenis niet gevonden"
-#: ../../mod/events.php:409
+#: ../../mod/events.php:396
msgid "l, F j"
msgstr "l j F"
-#: ../../mod/events.php:431
+#: ../../mod/events.php:418
msgid "Edit event"
msgstr "Gebeurtenis bewerken"
-#: ../../mod/events.php:432
+#: ../../mod/events.php:419
msgid "Delete event"
msgstr "Gebeurtenis verwijderen"
-#: ../../mod/events.php:466
-msgid "calendar"
-msgstr "agenda"
-
-#: ../../mod/events.php:487
+#: ../../mod/events.php:473
msgid "Create New Event"
msgstr "Nieuwe gebeurtenis aanmaken"
-#: ../../mod/events.php:488 ../../mod/photos.php:839
+#: ../../mod/events.php:474 ../../mod/photos.php:827
msgid "Previous"
msgstr "Vorige"
-#: ../../mod/events.php:489 ../../mod/photos.php:848 ../../mod/setup.php:281
+#: ../../mod/events.php:475 ../../mod/setup.php:265 ../../mod/photos.php:836
msgid "Next"
msgstr "Volgende"
-#: ../../mod/events.php:490
+#: ../../mod/events.php:476
msgid "Export"
msgstr "Exporteren"
-#: ../../mod/events.php:493
-msgid "Import"
-msgstr "Importeren"
-
-#: ../../mod/events.php:518
+#: ../../mod/events.php:504
msgid "Event removed"
msgstr "Gebeurtenis verwijderd"
-#: ../../mod/events.php:521
+#: ../../mod/events.php:507
msgid "Failed to remove event"
msgstr "Verwijderen gebeurtenis mislukt"
-#: ../../mod/events.php:641
+#: ../../mod/events.php:627
msgid "Event details"
msgstr "Details van gebeurtenis"
-#: ../../mod/events.php:642
+#: ../../mod/events.php:628
msgid "Starting date and Title are required."
msgstr "Begintijd en titel zijn vereist."
-#: ../../mod/events.php:644
+#: ../../mod/events.php:630
msgid "Categories (comma-separated list)"
msgstr "Categorieën (door komma's gescheiden lijst)"
-#: ../../mod/events.php:646
+#: ../../mod/events.php:632
msgid "Event Starts:"
msgstr "Begin gebeurtenis:"
-#: ../../mod/events.php:653
+#: ../../mod/events.php:639
msgid "Finish date/time is not known or not relevant"
msgstr "Einddatum/-tijd is niet bekend of niet relevant"
-#: ../../mod/events.php:655
+#: ../../mod/events.php:641
msgid "Event Finishes:"
msgstr "Einde gebeurtenis:"
-#: ../../mod/events.php:657 ../../mod/events.php:658
+#: ../../mod/events.php:643 ../../mod/events.php:644
msgid "Adjust for viewer timezone"
msgstr "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt"
-#: ../../mod/events.php:657
+#: ../../mod/events.php:643
msgid ""
"Important for events that happen in a particular place. Not practical for "
"global holidays."
msgstr "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen."
-#: ../../mod/events.php:663
+#: ../../mod/events.php:645
+msgid "Description:"
+msgstr "Omschrijving:"
+
+#: ../../mod/events.php:649
msgid "Title:"
msgstr "Titel:"
-#: ../../mod/events.php:665
+#: ../../mod/events.php:651
msgid "Share this event"
msgstr "Deel deze gebeurtenis"
@@ -4498,12 +4923,12 @@ msgstr "Openbare hubs"
#: ../../mod/pubsites.php:19
msgid ""
-"The listed sites allow public registration for the $Projectname network. All"
-" sites in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some sites may require subscription or"
-" provide tiered service plans. The provider links <strong>may</strong> "
-"provide additional details."
-msgstr "Op de hier weergegeven hubs kan iedereen zich voor het $Projectname-netwerk aanmelden. Alle hubs in het $Projectname-netwerk zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen betaalde abonnementen voor uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven."
+"The listed sites allow public registration into the Red Matrix. All sites in"
+" the matrix are interlinked so membership on any of them conveys membership "
+"in the matrix as a whole. Some sites may require subscription or provide "
+"tiered service plans. The provider links <strong>may</strong> provide "
+"additional details."
+msgstr "Op de hier weergegeven hubs kan iedereen zich voor de RedMatrix aanmelden. Alle hubs in de Matrix zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen betaalde abonnementen voor uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven."
#: ../../mod/pubsites.php:25
msgid "Rate this hub"
@@ -4537,13 +4962,13 @@ msgstr "Beoordeel"
msgid "View ratings"
msgstr "Bekijk beoordelingen"
-#: ../../mod/rpost.php:131 ../../mod/editpost.php:158
+#: ../../mod/rpost.php:131 ../../mod/editpost.php:42
msgid "Edit post"
msgstr "Bericht bewerken"
#: ../../mod/dav.php:121
-msgid "$Projectname channel"
-msgstr "$Projectname-kanaal"
+msgid "RedMatrix channel"
+msgstr "RedMatrix-kanaal"
#: ../../mod/group.php:20
msgid "Collection created."
@@ -4606,15 +5031,15 @@ msgstr "Ingeschakelde plug-ins/add-ons/apps:"
msgid "No installed plugins/addons/apps"
msgstr "Geen ingeschakelde plug-ins/add-ons/apps"
-#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:64
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../mod/siteinfo.php:155
+msgid "Red"
+msgstr "Red"
#: ../../mod/siteinfo.php:156
msgid ""
-"This is a hub of $Projectname - a global cooperative network of "
-"decentralized privacy enhanced websites."
-msgstr "Dit is een $Projectname-hub - $Projectname is een wereldwijd coöperatief netwerk van gedecentraliseerde websites (hubs) met verbeterde privacy."
+"This is a hub of redmatrix - a global cooperative network of decentralized "
+"privacy enhanced websites."
+msgstr "Dit is een hub van de RedMatrix - een wereldwijd coöperatief netwerk van gedecentraliseerde websites met verbeterde privacy."
#: ../../mod/siteinfo.php:158
msgid "Tag: "
@@ -4631,84 +5056,415 @@ msgstr "Draaiend op weblocatie"
#: ../../mod/siteinfo.php:164
msgid ""
"Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more"
-" about $Projectname."
-msgstr "Bezoek <a href=\"https://redmatrix.me\">redmatrix.me</a> om meer over $Projectname te leren."
+" about the Red Matrix."
+msgstr "Bezoek <a href=\"https://redmatrix.me\">RedMatrix.me</a> om meer over de RedMatrix te leren."
#: ../../mod/siteinfo.php:165
msgid "Bug reports and issues: please visit"
msgstr "Bugrapporten en andere kwesties: bezoek"
-#: ../../mod/siteinfo.php:167
-msgid "$projectname issues"
-msgstr "$projectname-issues"
-
#: ../../mod/siteinfo.php:168
msgid ""
"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
"com"
-msgstr "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - punt - com"
+msgstr "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - dot com"
#: ../../mod/siteinfo.php:170
msgid "Site Administrators"
msgstr "Hubbeheerders: "
-#: ../../mod/item.php:174
-msgid "Unable to locate original post."
-msgstr "Niet in staat om de originele locatie van het bericht te vinden. "
+#: ../../mod/help.php:49 ../../mod/help.php:55 ../../mod/help.php:61
+msgid "Help:"
+msgstr "Hulp:"
-#: ../../mod/item.php:440
-msgid "Empty post discarded."
-msgstr "Leeg bericht geannuleerd"
+#: ../../mod/help.php:76 ../../index.php:238
+msgid "Not Found"
+msgstr "Niet gevonden"
-#: ../../mod/item.php:480
-msgid "Executable content type not permitted to this channel."
-msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."
+#: ../../mod/setup.php:166
+msgid "Red Matrix Server - Setup"
+msgstr "RedMatrix Server - Setup"
-#: ../../mod/item.php:901
-msgid "System error. Post not saved."
-msgstr "Systeemfout. Bericht niet opgeslagen."
+#: ../../mod/setup.php:172
+msgid "Could not connect to database."
+msgstr "Could not connect to database."
-#: ../../mod/item.php:1119
-msgid "Unable to obtain post information from database."
-msgstr "Niet in staat om informatie over dit bericht uit de database te verkrijgen."
+#: ../../mod/setup.php:176
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Could not connect to specified hub URL. Possible SSL certificate or DNS issue."
+
+#: ../../mod/setup.php:183
+msgid "Could not create table."
+msgstr "Could not create table."
+
+#: ../../mod/setup.php:189
+msgid "Your site database has been installed."
+msgstr "Your hub database has been installed."
+
+#: ../../mod/setup.php:194
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "You may need to import the file \"install/schema_xxx.sql\" manually using a database client."
+
+#: ../../mod/setup.php:195 ../../mod/setup.php:264 ../../mod/setup.php:662
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Please see the file \"install/INSTALL.txt\"."
+
+#: ../../mod/setup.php:261
+msgid "System check"
+msgstr "System check"
+
+#: ../../mod/setup.php:266
+msgid "Check again"
+msgstr "Check again"
+
+#: ../../mod/setup.php:289
+msgid "Database connection"
+msgstr "Database connection"
+
+#: ../../mod/setup.php:290
+msgid ""
+"In order to install Red Matrix we need to know how to connect to your "
+"database."
+msgstr "In order to install RedMatrix we need to know how to connect to your database."
+
+#: ../../mod/setup.php:291
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Please contact your hosting provider or site administrator if you have questions about these settings."
+
+#: ../../mod/setup.php:292
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "The database you specify below should already exist. If it does not, please create it before continuing."
+
+#: ../../mod/setup.php:296
+msgid "Database Server Name"
+msgstr "Database Server Name"
+
+#: ../../mod/setup.php:296
+msgid "Default is localhost"
+msgstr "Default is localhost"
+
+#: ../../mod/setup.php:297
+msgid "Database Port"
+msgstr "Database Port"
+
+#: ../../mod/setup.php:297
+msgid "Communication port number - use 0 for default"
+msgstr "Communication port number - use 0 for default"
+
+#: ../../mod/setup.php:298
+msgid "Database Login Name"
+msgstr "Database Login Name"
+
+#: ../../mod/setup.php:299
+msgid "Database Login Password"
+msgstr "Database Login Password"
+
+#: ../../mod/setup.php:300
+msgid "Database Name"
+msgstr "Database Name"
+
+#: ../../mod/setup.php:301
+msgid "Database Type"
+msgstr "Database Type"
+
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid "Site administrator email address"
+msgstr "Hub administrator email address"
+
+#: ../../mod/setup.php:303 ../../mod/setup.php:347
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Your account email address must match this in order to use the web admin panel."
+
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Website URL"
+msgstr "Hub URL"
+
+#: ../../mod/setup.php:304 ../../mod/setup.php:349
+msgid "Please use SSL (https) URL if available."
+msgstr "Please use SSL (https) URL if available."
+
+#: ../../mod/setup.php:307 ../../mod/setup.php:352
+msgid "Please select a default timezone for your website"
+msgstr "Please select a default timezone for your hub"
+
+#: ../../mod/setup.php:335
+msgid "Site settings"
+msgstr "Hub settings"
+
+#: ../../mod/setup.php:395
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Could not find a command line version of PHP in the web server PATH."
+
+#: ../../mod/setup.php:396
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
+msgstr "If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."
+
+#: ../../mod/setup.php:400
+msgid "PHP executable path"
+msgstr "PHP executable path"
+
+#: ../../mod/setup.php:400
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Enter full path to php executable. You can leave this blank to continue the installation."
+
+#: ../../mod/setup.php:405
+msgid "Command line PHP"
+msgstr "Command line PHP"
+
+#: ../../mod/setup.php:414
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "The command line version of PHP on your system does not have \"register_argc_argv\" enabled."
+
+#: ../../mod/setup.php:415
+msgid "This is required for message delivery to work."
+msgstr "This is required for message delivery to work."
+
+#: ../../mod/setup.php:417
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
+
+#: ../../mod/setup.php:438
+msgid ""
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"
+
+#: ../../mod/setup.php:439
+msgid ""
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."
+
+#: ../../mod/setup.php:441
+msgid "Generate encryption keys"
+msgstr "Generate encryption keys"
+
+#: ../../mod/setup.php:448
+msgid "libCurl PHP module"
+msgstr "libCurl PHP module"
+
+#: ../../mod/setup.php:449
+msgid "GD graphics PHP module"
+msgstr "GD graphics PHP module"
-#: ../../mod/item.php:1126
+#: ../../mod/setup.php:450
+msgid "OpenSSL PHP module"
+msgstr "OpenSSL PHP module"
+
+#: ../../mod/setup.php:451
+msgid "mysqli or postgres PHP module"
+msgstr "mysqli or postgres PHP module"
+
+#: ../../mod/setup.php:452
+msgid "mb_string PHP module"
+msgstr "mb_string PHP module"
+
+#: ../../mod/setup.php:453
+msgid "mcrypt PHP module"
+msgstr "mcrypt PHP module"
+
+#: ../../mod/setup.php:458 ../../mod/setup.php:460
+msgid "Apache mod_rewrite module"
+msgstr "Apache mod_rewrite module"
+
+#: ../../mod/setup.php:458
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Error: Apache webserver mod-rewrite module is required but not installed."
+
+#: ../../mod/setup.php:464 ../../mod/setup.php:467
+msgid "proc_open"
+msgstr "proc_open"
+
+#: ../../mod/setup.php:464
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Error: proc_open is required but is either not installed or has been disabled in php.ini"
+
+#: ../../mod/setup.php:472
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Error: libCURL PHP module required but not installed."
+
+#: ../../mod/setup.php:476
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Error: GD graphics PHP module with JPEG support required but not installed."
+
+#: ../../mod/setup.php:480
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Error: openssl PHP module required but not installed."
+
+#: ../../mod/setup.php:484
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Error: mysqli or postgres PHP module required but neither are installed."
+
+#: ../../mod/setup.php:488
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Error: mb_string PHP module required but not installed."
+
+#: ../../mod/setup.php:492
+msgid "Error: mcrypt PHP module required but not installed."
+msgstr "Error: mcrypt PHP module required but not installed."
+
+#: ../../mod/setup.php:508
+msgid ""
+"The web installer needs to be able to create a file called \".htconfig.php\""
+" in the top folder of your web server and it is unable to do so."
+msgstr "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."
+
+#: ../../mod/setup.php:509
+msgid ""
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
+msgstr "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."
+
+#: ../../mod/setup.php:510
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."
+
+#: ../../mod/setup.php:511
+msgid ""
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."
+
+#: ../../mod/setup.php:514
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php is writable"
+
+#: ../../mod/setup.php:524
+msgid ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."
+
+#: ../../mod/setup.php:525
#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt."
+msgid ""
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the Red top level folder."
+msgstr "In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."
-#: ../../mod/item.php:1133
+#: ../../mod/setup.php:526 ../../mod/setup.php:544
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."
+
+#: ../../mod/setup.php:527
#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt."
+msgid ""
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
+msgstr "Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."
-#: ../../mod/network.php:91
-msgid "No such group"
-msgstr "Collectie niet gevonden"
+#: ../../mod/setup.php:530
+#, php-format
+msgid "%s is writable"
+msgstr "%s is writable"
-#: ../../mod/network.php:129
-msgid "No such channel"
-msgstr "Niet zo'n kanaal"
+#: ../../mod/setup.php:543
+msgid ""
+"Red uses the store directory to save uploaded files. The web server needs to"
+" have write access to the store directory under the Red top level folder"
+msgstr "Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"
-#: ../../mod/network.php:143
-msgid "Search Results For:"
-msgstr "Zoekresultaten voor:"
+#: ../../mod/setup.php:547
+msgid "store is writable"
+msgstr "store is writable"
-#: ../../mod/network.php:198
-msgid "Collection is empty"
-msgstr "Collectie is leeg"
+#: ../../mod/setup.php:577
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "SSL certificate cannot be validated. Fix certificate or disable https access to this hub."
-#: ../../mod/network.php:207
-msgid "Collection: "
-msgstr "Collectie: "
+#: ../../mod/setup.php:578
+msgid ""
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
+msgstr "If you have https access to your hub or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"
-#: ../../mod/network.php:226
-msgid "Connection: "
-msgstr "Connectie: "
+#: ../../mod/setup.php:579
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "This restriction is incorporated because public posts from you may for example contain references to images on your own hub."
-#: ../../mod/network.php:233
-msgid "Invalid connection."
-msgstr "Ongeldige connectie."
+#: ../../mod/setup.php:580
+msgid ""
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
+msgstr "If your certificate is not recognized, members of other hubs (who may themselves have valid certificates) will get a warning message on their own hub complaining about security issues."
+
+#: ../../mod/setup.php:581
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement."
+
+#: ../../mod/setup.php:582
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Providers are available that issue free certificates which are browser-valid."
+
+#: ../../mod/setup.php:584
+msgid "SSL certificate validation"
+msgstr "SSL certificate validation"
+
+#: ../../mod/setup.php:590
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "Url rewrite in .htaccess is not working. Check your server configuration.Test: "
+
+#: ../../mod/setup.php:592
+msgid "Url rewrite is working"
+msgstr "Url rewrite is working"
+
+#: ../../mod/setup.php:602
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
+msgstr "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."
+
+#: ../../mod/setup.php:625
+msgid "Errors encountered creating database tables."
+msgstr "Errors encountered creating database tables."
+
+#: ../../mod/setup.php:660
+msgid "<h1>What next</h1>"
+msgstr "<h1>Wat nu</h1>"
+
+#: ../../mod/setup.php:661
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
#: ../../mod/common.php:10
msgid "No channel."
@@ -4716,7 +5472,7 @@ msgstr "Geen kanaal."
#: ../../mod/common.php:39
msgid "Common connections"
-msgstr "Gemeenschappelijke connecties"
+msgstr "Veel voorkomende connecties"
#: ../../mod/common.php:44
msgid "No connections in common."
@@ -4734,11 +5490,11 @@ msgstr "Kon geen toegang krijgen tot de connectie-gegevens."
msgid "Could not locate selected profile."
msgstr "Kon het gekozen profiel niet vinden."
-#: ../../mod/connections.php:94 ../../mod/connedit.php:219
+#: ../../mod/connections.php:94 ../../mod/connedit.php:214
msgid "Connection updated."
msgstr "Connectie bijgewerkt."
-#: ../../mod/connections.php:96 ../../mod/connedit.php:221
+#: ../../mod/connections.php:96 ../../mod/connedit.php:216
msgid "Failed to update connection record."
msgstr "Bijwerken van connectie-gegevens mislukt."
@@ -4819,196 +5575,168 @@ msgstr "Doorzoek jouw connecties"
msgid "Finding: "
msgstr "Zoeken naar: "
-#: ../../mod/blocks.php:95 ../../mod/blocks.php:148
+#: ../../mod/blocks.php:95 ../../mod/blocks.php:147
msgid "Block Name"
msgstr "Bloknaam"
-#: ../../mod/blocks.php:149
+#: ../../mod/blocks.php:148
msgid "Block Title"
msgstr "Bloktitel"
-#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76
-#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78
-#: ../../mod/editblock.php:94
-msgid "Item not found"
-msgstr "Item niet gevonden"
-
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "Item is niet te bewerken"
-
-#: ../../mod/editpost.php:48
-msgid "Delete item?"
-msgstr "Item verwijderen?"
-
-#: ../../mod/editpost.php:115 ../../mod/editlayout.php:142
-#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:144
-msgid "Insert YouTube video"
-msgstr "YouTube-video invoegen"
-
-#: ../../mod/editpost.php:116 ../../mod/editlayout.php:143
-#: ../../mod/editwebpage.php:188 ../../mod/editblock.php:145
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Vorbis-video [.ogg] invoegen"
-
-#: ../../mod/editpost.php:117 ../../mod/editlayout.php:144
-#: ../../mod/editwebpage.php:189 ../../mod/editblock.php:146
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Vorbis-audio [.ogg] invoegen"
+#: ../../mod/tagger.php:96
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s heeft het %3$s van %2$s getagd met %4$s"
#: ../../mod/cloud.php:120
-msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
-msgstr "$Projectname - gasttoegang: Accountnaam: {jouw e-mailadres}, wachtwoord: +++"
+msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
+msgstr "RedMatrix - gasttoegang: Toegangsnaam: {jouw e-mailadres}, wachtwoord: +++"
-#: ../../mod/photos.php:78
+#: ../../mod/photos.php:77
msgid "Page owner information could not be retrieved."
msgstr "Informatie over de pagina-eigenaar werd niet ontvangen."
-#: ../../mod/photos.php:98
+#: ../../mod/photos.php:97
msgid "Album not found."
msgstr "Album niet gevonden."
-#: ../../mod/photos.php:120 ../../mod/photos.php:655
+#: ../../mod/photos.php:119 ../../mod/photos.php:643
msgid "Delete Album"
msgstr "Verwijder album"
-#: ../../mod/photos.php:160 ../../mod/photos.php:942
+#: ../../mod/photos.php:159 ../../mod/photos.php:930
msgid "Delete Photo"
msgstr "Verwijder foto"
-#: ../../mod/photos.php:452
+#: ../../mod/photos.php:429 ../../mod/search.php:13 ../../mod/display.php:13
+#: ../../mod/ratings.php:82 ../../mod/directory.php:47
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr "Openbare toegang geweigerd."
+
+#: ../../mod/photos.php:440
msgid "No photos selected"
msgstr "Geen foto's geselecteerd"
-#: ../../mod/photos.php:496
+#: ../../mod/photos.php:484
msgid "Access to this item is restricted."
msgstr "Toegang tot dit item is beperkt."
-#: ../../mod/photos.php:535
+#: ../../mod/photos.php:523
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt."
-#: ../../mod/photos.php:538
+#: ../../mod/photos.php:526
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr "%1$.2f MB aan foto-opslag gebruikt."
-#: ../../mod/photos.php:562
+#: ../../mod/photos.php:550
msgid "Upload Photos"
msgstr "Foto's uploaden"
-#: ../../mod/photos.php:566 ../../mod/photos.php:648 ../../mod/photos.php:927
+#: ../../mod/photos.php:554 ../../mod/photos.php:636 ../../mod/photos.php:915
msgid "Enter a new album name"
msgstr "Vul een nieuwe albumnaam in"
-#: ../../mod/photos.php:567 ../../mod/photos.php:649 ../../mod/photos.php:928
+#: ../../mod/photos.php:555 ../../mod/photos.php:637 ../../mod/photos.php:916
msgid "or select an existing one (doubleclick)"
msgstr "of kies een bestaand album (dubbelklikken)"
-#: ../../mod/photos.php:568
+#: ../../mod/photos.php:556
msgid "Create a status post for this upload"
msgstr "Plaats een bericht voor deze upload."
-#: ../../mod/photos.php:596
+#: ../../mod/photos.php:584
msgid "Album name could not be decoded"
msgstr "Albumnaam kon niet gedecodeerd worden"
-#: ../../mod/photos.php:637 ../../mod/photos.php:1169
-#: ../../mod/photos.php:1185
+#: ../../mod/photos.php:625 ../../mod/photos.php:1157
+#: ../../mod/photos.php:1173
msgid "Contact Photos"
msgstr "Connectiefoto's"
-#: ../../mod/photos.php:661
+#: ../../mod/photos.php:649
msgid "Show Newest First"
msgstr "Nieuwste eerst weergeven"
-#: ../../mod/photos.php:663
+#: ../../mod/photos.php:651
msgid "Show Oldest First"
msgstr "Oudste eerst weergeven"
-#: ../../mod/photos.php:687 ../../mod/photos.php:1217
+#: ../../mod/photos.php:675 ../../mod/photos.php:1205
msgid "View Photo"
msgstr "Foto weergeven"
-#: ../../mod/photos.php:716
+#: ../../mod/photos.php:704
msgid "Edit Album"
msgstr "Album bewerken"
-#: ../../mod/photos.php:761
+#: ../../mod/photos.php:749
msgid "Permission denied. Access to this item may be restricted."
msgstr "Toegang geweigerd. Toegang tot dit item kan zijn beperkt."
-#: ../../mod/photos.php:763
+#: ../../mod/photos.php:751
msgid "Photo not available"
msgstr "Foto niet aanwezig"
-#: ../../mod/photos.php:821
+#: ../../mod/photos.php:809
msgid "Use as profile photo"
msgstr "Als profielfoto gebruiken"
-#: ../../mod/photos.php:828
+#: ../../mod/photos.php:816
msgid "Private Photo"
msgstr "Privéfoto"
-#: ../../mod/photos.php:843
+#: ../../mod/photos.php:831
msgid "View Full Size"
msgstr "Volledige grootte weergeven"
-#: ../../mod/photos.php:921
+#: ../../mod/photos.php:909
msgid "Edit photo"
msgstr "Foto bewerken"
-#: ../../mod/photos.php:923
+#: ../../mod/photos.php:911
msgid "Rotate CW (right)"
msgstr "Draai met de klok mee (naar rechts)"
-#: ../../mod/photos.php:924
+#: ../../mod/photos.php:912
msgid "Rotate CCW (left)"
msgstr "Draai tegen de klok in (naar links)"
-#: ../../mod/photos.php:931
+#: ../../mod/photos.php:919
msgid "Caption"
msgstr "Bijschrift"
-#: ../../mod/photos.php:933
+#: ../../mod/photos.php:921
msgid "Add a Tag"
msgstr "Tag toevoegen"
-#: ../../mod/photos.php:937
+#: ../../mod/photos.php:925
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl"
-#: ../../mod/photos.php:940
+#: ../../mod/photos.php:928
msgid "Flag as adult in album view"
msgstr "Markeer als voor volwassenen in albumweergave"
-#: ../../mod/photos.php:1132
+#: ../../mod/photos.php:1120
msgid "In This Photo:"
msgstr "Op deze foto:"
-#: ../../mod/photos.php:1137
+#: ../../mod/photos.php:1125
msgid "Map"
msgstr "Kaart"
-#: ../../mod/photos.php:1223
+#: ../../mod/photos.php:1211
msgid "View Album"
msgstr "Album weergeven"
-#: ../../mod/photos.php:1246
+#: ../../mod/photos.php:1234
msgid "Recent Photos"
msgstr "Recente foto's"
-#: ../../mod/search.php:206
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "Items getagd met %s"
-
-#: ../../mod/search.php:208
-#, php-format
-msgid "Search results for: %s"
-msgstr "Zoekresultaten voor %s"
-
#: ../../mod/match.php:22
msgid "Profile Match"
msgstr "Profielovereenkomst"
@@ -5098,76 +5826,76 @@ msgstr "- kies map -"
msgid "Your service plan only allows %d channels."
msgstr "Jouw abonnement staat maar %d kanalen toe."
-#: ../../mod/import.php:60
+#: ../../mod/import.php:51
msgid "Nothing to import."
msgstr "Niets gevonden om te importeren"
-#: ../../mod/import.php:84
+#: ../../mod/import.php:75
msgid "Unable to download data from old server"
msgstr "Niet in staat om gegevens van de oude hub te downloaden"
-#: ../../mod/import.php:90
+#: ../../mod/import.php:81
msgid "Imported file is empty."
msgstr "Geïmporteerde bestand is leeg"
-#: ../../mod/import.php:110
-msgid "The data provided is not compatible with this project."
-msgstr "De geïmporteerde gegevens zijn niet compatibel met dit project."
-
-#: ../../mod/import.php:115
-#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Waarschuwing: database-versies lopen %1$d updates achter."
-
-#: ../../mod/import.php:135
+#: ../../mod/import.php:106
msgid ""
"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."
-#: ../../mod/import.php:176
+#: ../../mod/import.php:127
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt."
+
+#: ../../mod/import.php:147
msgid "Channel clone failed. Import failed."
msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt."
-#: ../../mod/import.php:186
+#: ../../mod/import.php:157
msgid "Cloned channel not found. Import failed."
msgstr "Gekloond kanaal niet gevonden. Importeren mislukt."
-#: ../../mod/import.php:542
+#: ../../mod/import.php:475
+msgid "Import completed."
+msgstr "Import voltooid."
+
+#: ../../mod/import.php:487
msgid "You must be logged in to use this feature."
msgstr "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken."
-#: ../../mod/import.php:547
+#: ../../mod/import.php:492
msgid "Import Channel"
msgstr "Kanaal importeren"
-#: ../../mod/import.php:548
+#: ../../mod/import.php:493
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 "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken."
+"or provide an export file. Only identity and connections/relationships will "
+"be imported. Importation of content is not yet available."
+msgstr "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken. Alleen de identiteit en de connecties zullen geïmporteerd worden. Het importeren van inhoud is nog niet beschikbaar."
-#: ../../mod/import.php:549
+#: ../../mod/import.php:494
msgid "File to Upload"
msgstr "Bestand om te uploaden"
-#: ../../mod/import.php:550
+#: ../../mod/import.php:495
msgid "Or provide the old server/hub details"
msgstr "Of vul de gegevens van de oude hub in"
-#: ../../mod/import.php:551
+#: ../../mod/import.php:496
msgid "Your old identity address (xyz@example.com)"
msgstr "Jouw oude kanaaladres (xyz@example.com)"
-#: ../../mod/import.php:552
+#: ../../mod/import.php:497
msgid "Your old login email address"
msgstr "Het e-mailadres van je oude account"
-#: ../../mod/import.php:553
+#: ../../mod/import.php:498
msgid "Your old login password"
msgstr "Wachtwoord van jouw oude account"
-#: ../../mod/import.php:554
+#: ../../mod/import.php:499
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"
@@ -5175,39 +5903,52 @@ msgid ""
"primary location for files, photos, and media."
msgstr "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen."
-#: ../../mod/import.php:555
+#: ../../mod/import.php:500
msgid "Make this hub my primary location"
msgstr "Stel deze hub als mijn primaire locatie in"
-#: ../../mod/import.php:556
-msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van hoeveelheid geheugen hub)"
+#: ../../mod/import.php:501
+msgid "Import existing posts if possible"
+msgstr "Importeer bestaande berichten (wanneer mogelijk)"
-#: ../../mod/import.php:557
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid."
+#: ../../mod/editlayout.php:76 ../../mod/editwebpage.php:77
+#: ../../mod/editpost.php:20 ../../mod/editblock.php:78
+#: ../../mod/editblock.php:94
+msgid "Item not found"
+msgstr "Item niet gevonden"
+
+#: ../../mod/editlayout.php:106
+msgid "Edit Layout"
+msgstr "Lay-out bewerken"
-#: ../../mod/editlayout.php:111
+#: ../../mod/editlayout.php:117
msgid "Delete layout?"
msgstr "Lay-out verwijderen?"
-#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
+#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:187
+#: ../../mod/editpost.php:122 ../../mod/editblock.php:150
+msgid "Insert YouTube video"
+msgstr "YouTube-video invoegen"
+
+#: ../../mod/editlayout.php:149 ../../mod/editwebpage.php:188
+#: ../../mod/editpost.php:123 ../../mod/editblock.php:151
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Vorbis-video [.ogg] invoegen"
+
+#: ../../mod/editlayout.php:150 ../../mod/editwebpage.php:189
+#: ../../mod/editpost.php:124 ../../mod/editblock.php:152
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Vorbis-audio [.ogg] invoegen"
+
+#: ../../mod/editlayout.php:164 ../../mod/layouts.php:124
msgid "Layout Description (Optional)"
msgstr "Lay-out-omschrijving (optioneel)"
-#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
-#: ../../mod/layouts.php:179
+#: ../../mod/editlayout.php:166 ../../mod/layouts.php:121
+#: ../../mod/layouts.php:178
msgid "Layout Name"
msgstr "Naam lay-out"
-#: ../../mod/editlayout.php:177
-msgid "Edit Layout"
-msgstr "Lay-out bewerken"
-
#: ../../mod/chat.php:19 ../../mod/channel.php:25
msgid "You must be logged in to see this page."
msgstr "Je moet zijn ingelogd om deze pagina te kunnen bekijken."
@@ -5249,126 +5990,6 @@ msgstr "Naam chatkanaal"
msgid "%1$s's Chatrooms"
msgstr "Chatkanalen van %1$s"
-#: ../../mod/mitem.php:24 ../../mod/menu.php:134
-msgid "Menu not found."
-msgstr "Menu niet gevonden."
-
-#: ../../mod/mitem.php:48
-msgid "Unable to create element."
-msgstr "Niet in staat om onderdeel aan te maken."
-
-#: ../../mod/mitem.php:71
-msgid "Unable to update menu element."
-msgstr "Menu-onderdeel kan niet worden geüpdatet."
-
-#: ../../mod/mitem.php:86
-msgid "Unable to add menu element."
-msgstr "Menu-onderdeel kan niet worden toegevoegd."
-
-#: ../../mod/mitem.php:152 ../../mod/mitem.php:223
-msgid "Menu Item Permissions"
-msgstr "Permissies menu-item"
-
-#: ../../mod/mitem.php:153 ../../mod/mitem.php:224 ../../mod/settings.php:1083
-msgid "(click to open/close)"
-msgstr "(klik om te openen/sluiten)"
-
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:171
-msgid "Link Name"
-msgstr "Linknaam"
-
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:228
-msgid "Link or Submenu Target"
-msgstr "Linkdoel of submenu-doel"
-
-#: ../../mod/mitem.php:156
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr "Geef de URL van de link of kies een menunaam om een submenu aan te maken"
-
-#: ../../mod/mitem.php:157 ../../mod/mitem.php:229
-msgid "Use magic-auth if available"
-msgstr "Gebruik magic-auth wanneer beschikbaar"
-
-#: ../../mod/mitem.php:158 ../../mod/mitem.php:230
-msgid "Open link in new window"
-msgstr "Open link in nieuw venster"
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
-msgid "Order in list"
-msgstr "Volgorde in lijst"
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "Hogere nummers komen onderaan de lijst terecht"
-
-#: ../../mod/mitem.php:160
-msgid "Submit and finish"
-msgstr "Opslaan en afsluiten"
-
-#: ../../mod/mitem.php:161
-msgid "Submit and continue"
-msgstr "Opslaan en doorgaan"
-
-#: ../../mod/mitem.php:169
-msgid "Menu:"
-msgstr "Menu:"
-
-#: ../../mod/mitem.php:172
-msgid "Link Target"
-msgstr "Linkdoel"
-
-#: ../../mod/mitem.php:175
-msgid "Edit menu"
-msgstr "Menu bewerken"
-
-#: ../../mod/mitem.php:178
-msgid "Edit element"
-msgstr "Onderdeel bewerken"
-
-#: ../../mod/mitem.php:179
-msgid "Drop element"
-msgstr "Onderdeel verwijderen"
-
-#: ../../mod/mitem.php:180
-msgid "New element"
-msgstr "Nieuw element"
-
-#: ../../mod/mitem.php:181
-msgid "Edit this menu container"
-msgstr "Deze menu-container bewerken"
-
-#: ../../mod/mitem.php:182
-msgid "Add menu element"
-msgstr "Menu-element toevoegen"
-
-#: ../../mod/mitem.php:183
-msgid "Delete this menu item"
-msgstr "Dit menu-item verwijderen"
-
-#: ../../mod/mitem.php:184
-msgid "Edit this menu item"
-msgstr "Dit menu-item bewerken"
-
-#: ../../mod/mitem.php:201
-msgid "Menu item not found."
-msgstr "Menu-item niet gevonden."
-
-#: ../../mod/mitem.php:212
-msgid "Menu item deleted."
-msgstr "Menu-item verwijderd."
-
-#: ../../mod/mitem.php:214
-msgid "Menu item could not be deleted."
-msgstr "Menu-item kon niet worden verwijderd."
-
-#: ../../mod/mitem.php:221
-msgid "Edit Menu Element"
-msgstr "Menu-element bewerken"
-
-#: ../../mod/mitem.php:227
-msgid "Link text"
-msgstr "Linktekst"
-
#: ../../mod/editwebpage.php:152
msgid "Delete webpage?"
msgstr "Webpagina verwijderen?"
@@ -5393,7 +6014,7 @@ msgstr "Geen geldige account gevonden."
msgid "Password reset request issued. Check your email."
msgstr "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail."
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:103
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
#, php-format
msgid "Site Member (%s)"
msgstr "Lid van hub (%s)"
@@ -5409,52 +6030,52 @@ msgid ""
"Password reset failed."
msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."
-#: ../../mod/lostpass.php:86 ../../boot.php:1559
+#: ../../mod/lostpass.php:85 ../../boot.php:1548
msgid "Password Reset"
msgstr "Wachtwoord vergeten?"
-#: ../../mod/lostpass.php:87
+#: ../../mod/lostpass.php:86
msgid "Your password has been reset as requested."
msgstr "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht."
-#: ../../mod/lostpass.php:88
+#: ../../mod/lostpass.php:87
msgid "Your new password is"
msgstr "Jouw nieuwe wachtwoord is"
-#: ../../mod/lostpass.php:89
+#: ../../mod/lostpass.php:88
msgid "Save or copy your new password - and then"
msgstr "Kopieer of sla je nieuwe wachtwoord op - en"
-#: ../../mod/lostpass.php:90
+#: ../../mod/lostpass.php:89
msgid "click here to login"
msgstr "klik dan hier om in te loggen"
-#: ../../mod/lostpass.php:91
+#: ../../mod/lostpass.php:90
msgid ""
"Your password may be changed from the <em>Settings</em> page after "
"successful login."
msgstr "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd."
-#: ../../mod/lostpass.php:108
+#: ../../mod/lostpass.php:107
#, php-format
msgid "Your password has changed at %s"
msgstr "Jouw wachtwoord op %s is veranderd"
-#: ../../mod/lostpass.php:123
+#: ../../mod/lostpass.php:122
msgid "Forgot your Password?"
msgstr "Wachtwoord vergeten?"
-#: ../../mod/lostpass.php:124
+#: ../../mod/lostpass.php:123
msgid ""
"Enter your email address and submit to have your password reset. Then check "
"your email for further instructions."
msgstr "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies."
-#: ../../mod/lostpass.php:125
+#: ../../mod/lostpass.php:124
msgid "Email Address"
msgstr "E-mailadres"
-#: ../../mod/lostpass.php:126
+#: ../../mod/lostpass.php:125
msgid "Reset"
msgstr "Opnieuw instellen"
@@ -5467,21 +6088,21 @@ msgstr "Website:"
msgid "Remote Channel [%s] (not yet known on this site)"
msgstr "Kanaal op afstand [%s] (nog niet op deze hub bekend)"
-#: ../../mod/rate.php:161
+#: ../../mod/rate.php:161 ../../mod/connedit.php:663
msgid "Rating (this information is public)"
msgstr "Beoordeling (deze informatie is openbaar)"
-#: ../../mod/rate.php:162
+#: ../../mod/rate.php:162 ../../mod/connedit.php:664
msgid "Optionally explain your rating (this information is public)"
msgstr "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)"
-#: ../../mod/editblock.php:117
-msgid "Delete block?"
-msgstr "Blok verwijderen"
+#: ../../mod/editpost.php:31
+msgid "Item is not editable"
+msgstr "Item is niet te bewerken"
-#: ../../mod/editblock.php:179
-msgid "Edit Block"
-msgstr "Blok bewerken"
+#: ../../mod/editpost.php:53
+msgid "Delete item?"
+msgstr "Item verwijderen?"
#: ../../mod/invite.php:25
msgid "Total invitation limit exceeded."
@@ -5529,21 +6150,20 @@ msgid "Your message:"
msgstr "Jouw bericht:"
#: ../../mod/invite.php:132
-msgid "Please join my community on $Projectname."
-msgstr "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op $Projectname te vergezellen. Lees meer over $Projectname op https://redmatrix.me."
+msgid "Please join my community on RedMatrix."
+msgstr "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op de RedMatrix te vergezellen. Lees meer over de RedMatrix op https://redmatrix.me."
#: ../../mod/invite.php:134
msgid "You will need to supply this invitation code: "
msgstr "Je moet deze uitnodigingscode opgeven:"
#: ../../mod/invite.php:135
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registreer je op een willekeurige $Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):"
+msgid "1. Register at any RedMatrix location (they are all inter-connected)"
+msgstr "1. Registreer je op een willekeurige RedMatrix-hub (ze zijn allemaal onderling met elkaar verbonden):"
#: ../../mod/invite.php:137
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn $Projectname-kanaaladres in het zoekveld invullen:"
+msgid "2. Enter my RedMatrix network address into the site searchbar."
+msgstr "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn kanaaladres in het zoekveld invullen:"
#: ../../mod/invite.php:138
msgid "or visit "
@@ -5652,86 +6272,94 @@ msgstr "Niet in staat om menu aan te passen"
msgid "Unable to create menu."
msgstr "Niet in staat om menu aan te maken."
-#: ../../mod/menu.php:89 ../../mod/menu.php:101
+#: ../../mod/menu.php:86 ../../mod/menu.php:98
msgid "Menu Name"
msgstr "Menunaam"
-#: ../../mod/menu.php:89
+#: ../../mod/menu.php:86
msgid "Unique name (not visible on webpage) - required"
msgstr "Unieke naam vereist (niet zichtbaar op webpagina)"
-#: ../../mod/menu.php:90 ../../mod/menu.php:102
+#: ../../mod/menu.php:87 ../../mod/menu.php:99
msgid "Menu Title"
msgstr "Menutitel"
-#: ../../mod/menu.php:90
+#: ../../mod/menu.php:87
msgid "Visible on webpage - leave empty for no title"
msgstr "Zichtbaar op webpagina (leeg laten voor geen titel)"
-#: ../../mod/menu.php:91
+#: ../../mod/menu.php:88
msgid "Allow Bookmarks"
msgstr "Bladwijzers toestaan"
-#: ../../mod/menu.php:91 ../../mod/menu.php:147
+#: ../../mod/menu.php:88 ../../mod/menu.php:140
msgid "Menu may be used to store saved bookmarks"
msgstr "Menu kan gebruikt worden om bladwijzers in op te slaan"
-#: ../../mod/menu.php:92 ../../mod/menu.php:149
+#: ../../mod/menu.php:89
msgid "Submit and proceed"
msgstr "Opslaan en doorgaan"
-#: ../../mod/menu.php:104
+#: ../../mod/menu.php:101
msgid "Drop"
msgstr "Verwijderen"
-#: ../../mod/menu.php:108
+#: ../../mod/menu.php:103
msgid "Bookmarks allowed"
msgstr "Bladwijzers toegestaan"
-#: ../../mod/menu.php:110
+#: ../../mod/menu.php:105
msgid "Delete this menu"
msgstr "Menu verwijderen"
-#: ../../mod/menu.php:111 ../../mod/menu.php:144
+#: ../../mod/menu.php:106 ../../mod/menu.php:137
msgid "Edit menu contents"
msgstr "Bewerk de inhoud van het menu"
-#: ../../mod/menu.php:112
+#: ../../mod/menu.php:107
msgid "Edit this menu"
msgstr "Dit menu bewerken"
-#: ../../mod/menu.php:126
+#: ../../mod/menu.php:121
msgid "Menu could not be deleted."
msgstr "Menu kon niet verwijderd worden."
-#: ../../mod/menu.php:139
+#: ../../mod/menu.php:129 ../../mod/mitem.php:24
+msgid "Menu not found."
+msgstr "Menu niet gevonden."
+
+#: ../../mod/menu.php:134
msgid "Edit Menu"
msgstr "Menu bewerken"
-#: ../../mod/menu.php:143
+#: ../../mod/menu.php:136
msgid "Add or remove entries to this menu"
msgstr "Items aan dit menu toevoegen of verwijder"
-#: ../../mod/menu.php:145
+#: ../../mod/menu.php:138
msgid "Menu name"
msgstr "Naam van menu"
-#: ../../mod/menu.php:145
+#: ../../mod/menu.php:138
msgid "Must be unique, only seen by you"
msgstr "Moet uniek zijn en is alleen zichtbaar voor jou."
-#: ../../mod/menu.php:146
+#: ../../mod/menu.php:139
msgid "Menu title"
msgstr "Titel van menu"
-#: ../../mod/menu.php:146
+#: ../../mod/menu.php:139
msgid "Menu title as seen by others"
msgstr "Titel van menu zoals anderen dat zien."
-#: ../../mod/menu.php:147
+#: ../../mod/menu.php:140
msgid "Allow bookmarks"
msgstr "Bladwijzers toestaan"
+#: ../../mod/menu.php:142
+msgid "Modify"
+msgstr "Wijzigen"
+
#: ../../mod/filestorage.php:82
msgid "Permission Denied."
msgstr "Toegang geweigerd"
@@ -5833,16 +6461,23 @@ msgstr "Klik op een connectie om deze toe te voegen of te verwijderen"
msgid "Visible To"
msgstr "Zichtbaar voor"
-#: ../../mod/impel.php:191
+#: ../../mod/impel.php:33
+msgid "webpage"
+msgstr "Webpagina"
+
+#: ../../mod/impel.php:38
+msgid "block"
+msgstr "blok"
+
+#: ../../mod/impel.php:43
+msgid "layout"
+msgstr "lay-out"
+
+#: ../../mod/impel.php:117
#, php-format
msgid "%s element installed"
msgstr "%s onderdeel geïnstalleerd"
-#: ../../mod/impel.php:194
-#, php-format
-msgid "%s element installation failed"
-msgstr "Installatie %s-element mislukt"
-
#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
#: ../../mod/profiles.php:231 ../../mod/profiles.php:600
msgid "Profile not found."
@@ -5910,13 +6545,13 @@ msgstr "Seksuele voorkeur"
#: ../../mod/profiles.php:439
msgid "Homepage"
-msgstr "Homepagina"
+msgstr "Homepage"
#: ../../mod/profiles.php:443
msgid "Interests"
msgstr "Interesses"
-#: ../../mod/profiles.php:447 ../../mod/admin.php:994
+#: ../../mod/profiles.php:447 ../../mod/admin.php:953
msgid "Address"
msgstr "Kanaaladres"
@@ -6018,7 +6653,7 @@ msgstr "Sinds [datum]:"
#: ../../mod/profiles.php:692
msgid "Homepage URL:"
-msgstr "URL homepagina:"
+msgstr "Adres homepage:"
#: ../../mod/profiles.php:695
msgid "Religious Views:"
@@ -6084,7 +6719,7 @@ msgstr "School/onderwijs"
msgid "This is your default profile."
msgstr "Dit is jouw standaardprofiel"
-#: ../../mod/profiles.php:728
+#: ../../mod/profiles.php:728 ../../mod/directory.php:218
msgid "Age: "
msgstr "Leeftijd:"
@@ -6106,11 +6741,11 @@ msgstr "Geen beoordelingen"
#: ../../mod/ratings.php:99
msgid "Ratings"
-msgstr "Beoordelingen"
+msgstr "Waarderingen"
#: ../../mod/ratings.php:100
msgid "Rating: "
-msgstr "Beoordeling:"
+msgstr "Waardering: "
#: ../../mod/ratings.php:101
msgid "Website: "
@@ -6124,433 +6759,184 @@ msgstr "Omschrijving: "
msgid "Source of Item"
msgstr "Bron van item"
-#: ../../mod/setup.php:187
-msgid "$Projectname Server - Setup"
-msgstr "$Projectname Server - Setup"
-
-#: ../../mod/setup.php:191
-msgid "Could not connect to database."
-msgstr "Could not connect to database."
-
-#: ../../mod/setup.php:195
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "Could not connect to specified hub URL. Possible SSL certificate or DNS issue."
-
-#: ../../mod/setup.php:202
-msgid "Could not create table."
-msgstr "Could not create table."
-
-#: ../../mod/setup.php:207
-msgid "Your site database has been installed."
-msgstr "Your hub database has been installed."
-
-#: ../../mod/setup.php:211
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "You may need to import the file \"install/schema_xxx.sql\" manually using a database client."
-
-#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Please see the file \"install/INSTALL.txt\"."
-
-#: ../../mod/setup.php:277
-msgid "System check"
-msgstr "System check"
-
-#: ../../mod/setup.php:282
-msgid "Check again"
-msgstr "Check again"
-
-#: ../../mod/setup.php:304
-msgid "Database connection"
-msgstr "Database connection"
-
-#: ../../mod/setup.php:305
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "In order to install $Projectname we need to know how to connect to your database."
-
-#: ../../mod/setup.php:306
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Please contact your hosting provider or site administrator if you have questions about these settings."
-
-#: ../../mod/setup.php:307
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "The database you specify below should already exist. If it does not, please create it before continuing."
-
-#: ../../mod/setup.php:311
-msgid "Database Server Name"
-msgstr "Database Server Name"
-
-#: ../../mod/setup.php:311
-msgid "Default is localhost"
-msgstr "Default is localhost"
-
-#: ../../mod/setup.php:312
-msgid "Database Port"
-msgstr "Database Port"
-
-#: ../../mod/setup.php:312
-msgid "Communication port number - use 0 for default"
-msgstr "Communication port number - use 0 for default"
-
-#: ../../mod/setup.php:313
-msgid "Database Login Name"
-msgstr "Database Login Name"
-
-#: ../../mod/setup.php:314
-msgid "Database Login Password"
-msgstr "Database Login Password"
-
-#: ../../mod/setup.php:315
-msgid "Database Name"
-msgstr "Database Name"
-
-#: ../../mod/setup.php:316
-msgid "Database Type"
-msgstr "Database Type"
-
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid "Site administrator email address"
-msgstr "Hub administrator email address"
-
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Your account email address must match this in order to use the web admin panel."
-
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Website URL"
-msgstr "Hub URL"
-
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
-msgid "Please use SSL (https) URL if available."
-msgstr "Please use SSL (https) URL if available."
-
-#: ../../mod/setup.php:321 ../../mod/setup.php:363
-msgid "Please select a default timezone for your website"
-msgstr "Please select a default timezone for your hub"
-
-#: ../../mod/setup.php:348
-msgid "Site settings"
-msgstr "Hub settings"
-
-#: ../../mod/setup.php:413
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Could not find a command line version of PHP in the web server PATH."
-
-#: ../../mod/setup.php:414
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
-msgstr "If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."
-
-#: ../../mod/setup.php:418
-msgid "PHP executable path"
-msgstr "PHP executable path"
-
-#: ../../mod/setup.php:418
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Enter full path to php executable. You can leave this blank to continue the installation."
-
-#: ../../mod/setup.php:423
-msgid "Command line PHP"
-msgstr "Command line PHP"
-
-#: ../../mod/setup.php:432
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "The command line version of PHP on your system does not have \"register_argc_argv\" enabled."
-
-#: ../../mod/setup.php:433
-msgid "This is required for message delivery to work."
-msgstr "This is required for message delivery to work."
-
-#: ../../mod/setup.php:436
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
-
-#: ../../mod/setup.php:454
-#, php-format
-msgid ""
-"Your max allowed total upload size is set to %s. Maximum size of one file to"
-" upload is set to %s. You are allowed to upload up to %d files at once."
-msgstr "Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."
-
-#: ../../mod/setup.php:459
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "You can adjust these settings in the servers php.ini."
-
-#: ../../mod/setup.php:461
-msgid "PHP upload limits"
-msgstr "PHP upload limits"
-
-#: ../../mod/setup.php:484
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"
-
-#: ../../mod/setup.php:485
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."
+#: ../../mod/mitem.php:51
+msgid "Unable to create element."
+msgstr "Niet in staat om onderdeel aan te maken."
-#: ../../mod/setup.php:488
-msgid "Generate encryption keys"
-msgstr "Generate encryption keys"
+#: ../../mod/mitem.php:74
+msgid "Unable to update menu element."
+msgstr "Menu-onderdeel kan niet worden geüpdatet."
-#: ../../mod/setup.php:500
-msgid "libCurl PHP module"
-msgstr "libCurl PHP module"
+#: ../../mod/mitem.php:89
+msgid "Unable to add menu element."
+msgstr "Menu-onderdeel kan niet worden toegevoegd."
-#: ../../mod/setup.php:501
-msgid "GD graphics PHP module"
-msgstr "GD graphics PHP module"
+#: ../../mod/mitem.php:151 ../../mod/mitem.php:220
+msgid "Menu Item Permissions"
+msgstr "Permissies menu-item"
-#: ../../mod/setup.php:502
-msgid "OpenSSL PHP module"
-msgstr "OpenSSL PHP module"
+#: ../../mod/mitem.php:154 ../../mod/mitem.php:168
+msgid "Link Name"
+msgstr "Linknaam"
-#: ../../mod/setup.php:503
-msgid "mysqli or postgres PHP module"
-msgstr "mysqli or postgres PHP module"
+#: ../../mod/mitem.php:155 ../../mod/mitem.php:169
+msgid "Link Target"
+msgstr "Linkdoel"
-#: ../../mod/setup.php:504
-msgid "mb_string PHP module"
-msgstr "mb_string PHP module"
+#: ../../mod/mitem.php:156 ../../mod/mitem.php:226
+msgid "Use RedMatrix magic-auth if available"
+msgstr "Gebruik RedMatrix' magic-auth wanneer beschikbaar"
-#: ../../mod/setup.php:505
-msgid "mcrypt PHP module"
-msgstr "mcrypt PHP module"
+#: ../../mod/mitem.php:157 ../../mod/mitem.php:227
+msgid "Open link in new window"
+msgstr "Open link in nieuw venster"
-#: ../../mod/setup.php:506
-msgid "xml PHP module"
-msgstr "xml PHP module"
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
+msgid "Order in list"
+msgstr "Volgorde in lijst"
-#: ../../mod/setup.php:510 ../../mod/setup.php:512
-msgid "Apache mod_rewrite module"
-msgstr "Apache mod_rewrite module"
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Hogere nummers komen onderaan de lijst terecht"
-#: ../../mod/setup.php:510
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Error: Apache webserver mod-rewrite module is required but not installed."
+#: ../../mod/mitem.php:159
+msgid "Submit and finish"
+msgstr "Opslaan en afsluiten"
-#: ../../mod/setup.php:516 ../../mod/setup.php:519
-msgid "proc_open"
-msgstr "proc_open"
+#: ../../mod/mitem.php:160
+msgid "Submit and continue"
+msgstr "Opslaan en doorgaan"
-#: ../../mod/setup.php:516
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Error: proc_open is required but is either not installed or has been disabled in php.ini"
+#: ../../mod/mitem.php:166
+msgid "Menu:"
+msgstr "Menu:"
-#: ../../mod/setup.php:524
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Error: libCURL PHP module required but not installed."
+#: ../../mod/mitem.php:172
+msgid "Edit menu"
+msgstr "Menu bewerken"
-#: ../../mod/setup.php:528
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Error: GD graphics PHP module with JPEG support required but not installed."
+#: ../../mod/mitem.php:175
+msgid "Edit element"
+msgstr "Onderdeel bewerken"
-#: ../../mod/setup.php:532
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Error: openssl PHP module required but not installed."
+#: ../../mod/mitem.php:176
+msgid "Drop element"
+msgstr "Onderdeel verwijderen"
-#: ../../mod/setup.php:536
-msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Error: mysqli or postgres PHP module required but neither are installed."
+#: ../../mod/mitem.php:177
+msgid "New element"
+msgstr "Nieuw element"
-#: ../../mod/setup.php:540
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Error: mb_string PHP module required but not installed."
+#: ../../mod/mitem.php:178
+msgid "Edit this menu container"
+msgstr "Deze menu-container bewerken"
-#: ../../mod/setup.php:544
-msgid "Error: mcrypt PHP module required but not installed."
-msgstr "Error: mcrypt PHP module required but not installed."
+#: ../../mod/mitem.php:179
+msgid "Add menu element"
+msgstr "Menu-element toevoegen"
-#: ../../mod/setup.php:548
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Error: xml PHP module required for DAV but not installed."
+#: ../../mod/mitem.php:180
+msgid "Delete this menu item"
+msgstr "Dit menu-item verwijderen"
-#: ../../mod/setup.php:566
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\""
-" in the top folder of your web server and it is unable to do so."
-msgstr "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."
+#: ../../mod/mitem.php:181
+msgid "Edit this menu item"
+msgstr "Dit menu-item bewerken"
-#: ../../mod/setup.php:567
-msgid ""
-"This is most often a permission setting, as the web server may not be able "
-"to write files in your folder - even if you can."
-msgstr "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."
+#: ../../mod/mitem.php:198
+msgid "Menu item not found."
+msgstr "Menu-item niet gevonden."
-#: ../../mod/setup.php:568
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."
+#: ../../mod/mitem.php:209
+msgid "Menu item deleted."
+msgstr "Menu-item verwijderd."
-#: ../../mod/setup.php:569
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."
+#: ../../mod/mitem.php:211
+msgid "Menu item could not be deleted."
+msgstr "Menu-item kon niet worden verwijderd."
-#: ../../mod/setup.php:572
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php is writable"
+#: ../../mod/mitem.php:218
+msgid "Edit Menu Element"
+msgstr "Menu-element bewerken"
-#: ../../mod/setup.php:586
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."
+#: ../../mod/mitem.php:224
+msgid "Link text"
+msgstr "Linktekst"
-#: ../../mod/setup.php:587
-#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the Red top level folder."
-msgstr "In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."
+#: ../../mod/mitem.php:225
+msgid "URL of link"
+msgstr "URL of link"
-#: ../../mod/setup.php:588 ../../mod/setup.php:609
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "OpenID-protocolfout. Geen ID terugontvangen."
-#: ../../mod/setup.php:589
+#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
#, php-format
-msgid ""
-"Note: as a security measure, you should give the web server write access to "
-"%s only--not the template files (.tpl) that it contains."
-msgstr "Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Welkom %s. Authenticatie op afstand geslaagd."
-#: ../../mod/setup.php:592
+#: ../../mod/directory.php:224
#, php-format
-msgid "%s is writable"
-msgstr "%s is writable"
-
-#: ../../mod/setup.php:608
-msgid ""
-"Red uses the store directory to save uploaded files. The web server needs to"
-" have write access to the store directory under the Red top level folder"
-msgstr "Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"
-
-#: ../../mod/setup.php:612
-msgid "store is writable"
-msgstr "store is writable"
-
-#: ../../mod/setup.php:645
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "SSL certificate cannot be validated. Fix certificate or disable https access to this hub."
-
-#: ../../mod/setup.php:646
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
-msgstr "If you have https access to your hub or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"
-
-#: ../../mod/setup.php:647
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "This restriction is incorporated because public posts from you may for example contain references to images on your own hub."
-
-#: ../../mod/setup.php:648
-msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
-msgstr "If your certificate is not recognized, members of other hubs (who may themselves have valid certificates) will get a warning message on their own hub complaining about security issues."
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d beoordeling"
+msgstr[1] "%d beoordelingen"
-#: ../../mod/setup.php:649
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement."
+#: ../../mod/directory.php:236
+msgid "Gender: "
+msgstr "Geslacht:"
-#: ../../mod/setup.php:650
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Providers are available that issue free certificates which are browser-valid."
+#: ../../mod/directory.php:238
+msgid "Status: "
+msgstr "Status: "
-#: ../../mod/setup.php:652
-msgid "SSL certificate validation"
-msgstr "SSL certificate validation"
+#: ../../mod/directory.php:240
+msgid "Homepage: "
+msgstr "Homepage: "
-#: ../../mod/setup.php:658
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "Url rewrite in .htaccess is not working. Check your server configuration.Test: "
+#: ../../mod/directory.php:243
+msgid "Hometown: "
+msgstr "Oorspronkelijk uit: "
-#: ../../mod/setup.php:661
-msgid "Url rewrite is working"
-msgstr "Url rewrite is working"
+#: ../../mod/directory.php:245
+msgid "About: "
+msgstr "Over: "
-#: ../../mod/setup.php:670
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
-msgstr "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."
+#: ../../mod/directory.php:303
+msgid "Public Forum:"
+msgstr "Openbaar forum:"
-#: ../../mod/setup.php:694
-msgid "Errors encountered creating database tables."
-msgstr "Errors encountered creating database tables."
+#: ../../mod/directory.php:306
+msgid "Keywords: "
+msgstr "Trefwoorden: "
-#: ../../mod/setup.php:728
-msgid "<h1>What next</h1>"
-msgstr "<h1>Wat nu</h1>"
+#: ../../mod/directory.php:311
+#, php-format
+msgid "Common connections: %s"
+msgstr "Gemeenschappelijke connecties: %s"
-#: ../../mod/setup.php:729
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
+#: ../../mod/directory.php:363
+msgid "Finding:"
+msgstr "Gezocht naar:"
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "OpenID-protocolfout. Geen ID terugontvangen."
+#: ../../mod/directory.php:368
+msgid "next page"
+msgstr "volgende pagina"
-#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
-#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Welkom %s. Authenticatie op afstand geslaagd."
+#: ../../mod/directory.php:368
+msgid "previous page"
+msgstr "vorige pagina"
-#: ../../mod/tagger.php:96
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s heeft het %3$s van %2$s getagd met %4$s"
+#: ../../mod/directory.php:385
+msgid "No entries (some entries may be hidden)."
+msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)."
-#: ../../mod/uexport.php:45 ../../mod/uexport.php:46
+#: ../../mod/uexport.php:33 ../../mod/uexport.php:34
msgid "Export Channel"
msgstr "Kanaal exporteren"
-#: ../../mod/uexport.php:47
+#: ../../mod/uexport.php:35
msgid ""
"Export your basic channel information to a small file. This acts as a "
"backup of your connections, permissions, profile and basic data, which can "
@@ -6558,11 +6944,11 @@ msgid ""
"content."
msgstr "Exporteer de basisinformatie van jouw kanaal naar een klein bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal."
-#: ../../mod/uexport.php:48
+#: ../../mod/uexport.php:36
msgid "Export Content"
msgstr "Inhoud exporteren"
-#: ../../mod/uexport.php:49
+#: ../../mod/uexport.php:37
msgid ""
"Export your channel information and all the content to a JSON backup. This "
"backs up all of your connections, permissions, profile data and all of your "
@@ -6588,7 +6974,7 @@ msgstr "ongeldig doelkenmerk"
msgid "Theme settings updated."
msgstr "Thema-instellingen bijgewerkt."
-#: ../../mod/admin.php:93 ../../mod/admin.php:452
+#: ../../mod/admin.php:93 ../../mod/admin.php:445
msgid "Site"
msgstr "Hub-instellingen"
@@ -6596,15 +6982,15 @@ msgstr "Hub-instellingen"
msgid "Accounts"
msgstr "Accounts"
-#: ../../mod/admin.php:95 ../../mod/admin.php:985
+#: ../../mod/admin.php:95 ../../mod/admin.php:945
msgid "Channels"
msgstr "Kanalen"
-#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
+#: ../../mod/admin.php:96 ../../mod/admin.php:1036 ../../mod/admin.php:1076
msgid "Plugins"
msgstr "Plug-ins"
-#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
+#: ../../mod/admin.php:97 ../../mod/admin.php:1236 ../../mod/admin.php:1270
msgid "Themes"
msgstr "Thema's"
@@ -6620,7 +7006,7 @@ msgstr "Profielconfiguratie"
msgid "DB updates"
msgstr "Database-updates"
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
+#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1355
msgid "Logs"
msgstr "Logboeken"
@@ -6664,10 +7050,10 @@ msgstr "# klonen"
msgid "Message queues"
msgstr "Berichtenwachtrij"
-#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
-#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
-#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
-#: ../../mod/admin.php:1395
+#: ../../mod/admin.php:240 ../../mod/admin.php:444 ../../mod/admin.php:539
+#: ../../mod/admin.php:808 ../../mod/admin.php:944 ../../mod/admin.php:1035
+#: ../../mod/admin.php:1075 ../../mod/admin.php:1235 ../../mod/admin.php:1269
+#: ../../mod/admin.php:1354
msgid "Administration"
msgstr "Beheer"
@@ -6679,7 +7065,7 @@ msgstr "Samenvatting"
msgid "Registered accounts"
msgstr "Geregistreerde accounts"
-#: ../../mod/admin.php:245 ../../mod/admin.php:552
+#: ../../mod/admin.php:245 ../../mod/admin.php:543
msgid "Pending registrations"
msgstr "Accounts die op goedkeuring wachten"
@@ -6687,7 +7073,7 @@ msgstr "Accounts die op goedkeuring wachten"
msgid "Registered channels"
msgstr "Geregistreerde kanalen"
-#: ../../mod/admin.php:247 ../../mod/admin.php:553
+#: ../../mod/admin.php:247 ../../mod/admin.php:544
msgid "Active plugins"
msgstr "Ingeschakelde plug-ins"
@@ -6695,680 +7081,629 @@ msgstr "Ingeschakelde plug-ins"
msgid "Version"
msgstr "Versie"
-#: ../../mod/admin.php:363
+#: ../../mod/admin.php:359
msgid "Site settings updated."
msgstr "Hub-instellingen bijgewerkt."
-#: ../../mod/admin.php:400 ../../mod/settings.php:813
-msgid "mobile"
-msgstr "mobiel"
-
-#: ../../mod/admin.php:402
+#: ../../mod/admin.php:398
msgid "experimental"
msgstr "experimenteel"
-#: ../../mod/admin.php:404
+#: ../../mod/admin.php:400
msgid "unsupported"
msgstr "Niet ondersteund"
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:425
msgid "Yes - with approval"
msgstr "Ja - met goedkeuring"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:431
msgid "My site is not a public server"
msgstr "Mijn $Projectname-hub is niet openbaar"
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:432
msgid "My site has paid access only"
msgstr "Mijn $Projectname-hub kent alleen betaalde toegang"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:433
msgid "My site has free access only"
msgstr "Mijn $Projectname-hub kent alleen gratis toegang"
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:434
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Mijn $Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie"
-#: ../../mod/admin.php:454 ../../mod/register.php:207
+#: ../../mod/admin.php:447 ../../mod/register.php:207
msgid "Registration"
msgstr "Registratie"
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:448
msgid "File upload"
msgstr "Bestand uploaden"
-#: ../../mod/admin.php:456
+#: ../../mod/admin.php:449
msgid "Policies"
msgstr "Beleid"
-#: ../../mod/admin.php:461
+#: ../../mod/admin.php:454
msgid "Site name"
msgstr "Naam van deze $Projectname-hub"
-#: ../../mod/admin.php:462
+#: ../../mod/admin.php:455
msgid "Banner/Logo"
msgstr "Banner/logo"
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:456
msgid "Administrator Information"
msgstr "Informatie over de beheerder van deze hub"
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:456
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden."
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:457
msgid "System language"
msgstr "Standaardtaal"
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:458
msgid "System theme"
msgstr "Standaardthema"
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:458
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Standaardthema voor $Projectname-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:459
msgid "Mobile system theme"
msgstr "Standaardthema voor mobiel"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:459
msgid "Theme for mobile devices"
msgstr "Thema voor mobiele apparaten"
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:461
msgid "Enable Diaspora Protocol"
msgstr "Diaspora-protocol inschakelen"
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:461
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr "Communiceer met Diaspora en Friendica (experimenteel)"
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:462
msgid "Allow Feeds as Connections"
msgstr "Sta feeds toe als connecties"
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:462
msgid "(Heavy system resource usage)"
msgstr "(sterk negatieve invloed op systeembronnen hub)"
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:463
msgid "Maximum image size"
msgstr "Maximale grootte van afbeeldingen"
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:463
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend."
-#: ../../mod/admin.php:471
+#: ../../mod/admin.php:464
msgid "Does this site allow new member registration?"
msgstr "Staat deze hub nieuwe accounts toe?"
-#: ../../mod/admin.php:472
+#: ../../mod/admin.php:465
msgid "Which best describes the types of account offered by this hub?"
msgstr "Wat voor soort accounts biedt deze $Projectname-hub aan? Kies wat het meest in de buurt komt."
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:466
msgid "Register text"
msgstr "Tekst tijdens registratie"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:466
msgid "Will be displayed prominently on the registration page."
msgstr "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond."
-#: ../../mod/admin.php:474
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)"
-
-#: ../../mod/admin.php:474
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken."
-
-#: ../../mod/admin.php:475
-msgid "Preserve site homepage URL"
-msgstr "Behoudt de URL van de hub (/)"
-
-#: ../../mod/admin.php:475
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)"
-
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:467
msgid "Accounts abandoned after x days"
msgstr "Accounts als verlaten beschouwen na zoveel aantal dagen:"
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:467
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet."
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:468
msgid "Allowed friend domains"
msgstr "Toegestane domeinen"
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:468
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze $Projectname-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten."
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:469
msgid "Allowed email domains"
msgstr "Toegestane e-maildomeinen"
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:469
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten."
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:470
msgid "Not allowed email domains"
msgstr "Niet toegestane e-maildomeinen"
-#: ../../mod/admin.php:479
+#: ../../mod/admin.php:470
msgid ""
"Comma separated list of domains which are not allowed in email addresses for"
" registrations to this site. Wildcards are accepted. Empty to allow any "
"domains, unless allowed domains have been defined."
msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. "
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:471
msgid "Block public"
msgstr "Openbare toegang blokkeren"
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:471
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor ingelogde leden."
-#: ../../mod/admin.php:481
+#: ../../mod/admin.php:472
msgid "Verify Email Addresses"
msgstr "E-mailadres verifieren"
-#: ../../mod/admin.php:481
+#: ../../mod/admin.php:472
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen)."
-#: ../../mod/admin.php:482
+#: ../../mod/admin.php:473
msgid "Force publish"
msgstr "Dwing kanaalvermelding af"
-#: ../../mod/admin.php:482
+#: ../../mod/admin.php:473
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld."
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:474
msgid "Disable discovery tab"
msgstr "Ontdekkingstab"
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:474
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr "Verwijder de tab in de matrix-weergave waarin zich een selectie aan openbare berichten bevindt, die automatisch voor deze hub zijn uitgekozen."
-#: ../../mod/admin.php:484
-msgid "login on Homepage"
-msgstr "Inlogformulier op de homepagina"
+#: ../../mod/admin.php:475
+msgid "No login on Homepage"
+msgstr "Geen inlogformulier op de homepage"
-#: ../../mod/admin.php:484
+#: ../../mod/admin.php:475
msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. "
+"Check to hide the login form from your sites homepage when visitors arrive "
+"who are not logged in (e.g. when you put the content of the homepage in via "
+"the site channel)."
+msgstr "Vink dit aan om het inlogformulier op de homepage van deze hub, die niet-ingelogde bezoekers te zien krijgen, te verbergen. (bijvoorbeeld wanneer je een kanaal op deze $Projectname-hub als homepage gebruikt)"
-#: ../../mod/admin.php:486
+#: ../../mod/admin.php:477
msgid "Proxy user"
msgstr "Gebruikersnaam proxy"
-#: ../../mod/admin.php:487
+#: ../../mod/admin.php:478
msgid "Proxy URL"
msgstr "URL proxy"
-#: ../../mod/admin.php:488
+#: ../../mod/admin.php:479
msgid "Network timeout"
msgstr "Netwerktimeout"
-#: ../../mod/admin.php:488
+#: ../../mod/admin.php:479
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)"
-#: ../../mod/admin.php:489
+#: ../../mod/admin.php:480
msgid "Delivery interval"
msgstr "Afleveringsinterval"
-#: ../../mod/admin.php:489
+#: ../../mod/admin.php:480
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers."
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:481
msgid "Poll interval"
msgstr "Poll-interval"
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:481
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken."
-#: ../../mod/admin.php:491
+#: ../../mod/admin.php:482
msgid "Maximum Load Average"
msgstr "Maximaal gemiddelde systeembelasting"
-#: ../../mod/admin.php:491
+#: ../../mod/admin.php:482
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50."
-#: ../../mod/admin.php:492
+#: ../../mod/admin.php:483
msgid "Expiration period in days for imported (matrix/network) content"
msgstr "Aantal dagen waarna geïmporteerde inhoud uit iemands matrix/netwerk-pagina wordt verwijderd."
-#: ../../mod/admin.php:492
+#: ../../mod/admin.php:483
msgid "0 for no expiration of imported content"
msgstr "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud."
-#: ../../mod/admin.php:540
+#: ../../mod/admin.php:531
msgid "No server found"
msgstr "Geen hub gevonden"
-#: ../../mod/admin.php:547 ../../mod/admin.php:831
+#: ../../mod/admin.php:538 ../../mod/admin.php:822
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:538
msgid "for channel"
msgstr "voor kanaal"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:538
msgid "on server"
msgstr "op hub"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:538
msgid "Status"
msgstr "Status"
-#: ../../mod/admin.php:549
+#: ../../mod/admin.php:540
msgid "Server"
msgstr "Hubbeheer"
-#: ../../mod/admin.php:566
+#: ../../mod/admin.php:557
msgid "Update has been marked successful"
msgstr "Update is als succesvol gemarkeerd"
-#: ../../mod/admin.php:576
+#: ../../mod/admin.php:567
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Uitvoeren van %s is mislukt. Controleer systeemlogboek."
-#: ../../mod/admin.php:579
+#: ../../mod/admin.php:570
#, php-format
msgid "Update %s was successfully applied."
msgstr "Update %s was geslaagd."
-#: ../../mod/admin.php:583
+#: ../../mod/admin.php:574
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is."
-#: ../../mod/admin.php:586
+#: ../../mod/admin.php:577
#, php-format
msgid "Update function %s could not be found."
msgstr "Update-functie %s kon niet gevonden worden."
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:593
msgid "No failed updates."
msgstr "Geen mislukte updates."
-#: ../../mod/admin.php:606
+#: ../../mod/admin.php:597
msgid "Failed Updates"
msgstr "Mislukte updates"
-#: ../../mod/admin.php:608
+#: ../../mod/admin.php:599
msgid "Mark success (if update was manually applied)"
msgstr "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)"
-#: ../../mod/admin.php:609
+#: ../../mod/admin.php:600
msgid "Attempt to execute this update step automatically"
msgstr "Poging om deze stap van de update automatisch uit te voeren."
-#: ../../mod/admin.php:641
+#: ../../mod/admin.php:632
msgid "Queue Statistics"
msgstr "Wachtrij-statistieken"
-#: ../../mod/admin.php:642
+#: ../../mod/admin.php:633
msgid "Total Entries"
msgstr "Aantal vermeldingen"
-#: ../../mod/admin.php:643
+#: ../../mod/admin.php:634
msgid "Priority"
msgstr "Prioriteit"
-#: ../../mod/admin.php:644
+#: ../../mod/admin.php:635
msgid "Destination URL"
msgstr "Doel-URL"
-#: ../../mod/admin.php:645
+#: ../../mod/admin.php:636
msgid "Mark hub permanently offline"
msgstr "Hub als permanent offline markeren"
-#: ../../mod/admin.php:646
+#: ../../mod/admin.php:637
msgid "Empty queue for this hub"
msgstr "Berichtenwachtrij voor deze hub legen"
-#: ../../mod/admin.php:647
+#: ../../mod/admin.php:638
msgid "Last known contact"
msgstr "Voor het laatst contact"
-#: ../../mod/admin.php:683
+#: ../../mod/admin.php:674
#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
+msgid "%s user blocked/unblocked"
+msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s account geblokkeerd/gedeblokkeerd"
msgstr[1] "%s accounts geblokkeerd/gedeblokkeerd"
-#: ../../mod/admin.php:691
+#: ../../mod/admin.php:682
#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
+msgid "%s user deleted"
+msgid_plural "%s users deleted"
msgstr[0] "%s account verwijderd"
msgstr[1] "%s accounts verwijderd"
-#: ../../mod/admin.php:727
+#: ../../mod/admin.php:718
msgid "Account not found"
msgstr "Account niet gevonden"
-#: ../../mod/admin.php:739
+#: ../../mod/admin.php:738
#, php-format
-msgid "Account '%s' deleted"
-msgstr "Account '%s' verwijderd"
-
-#: ../../mod/admin.php:747
-#, php-format
-msgid "Account '%s' blocked"
-msgstr "Account '%s' geblokkeerd"
+msgid "User '%s' blocked"
+msgstr "Lid '%s' geblokkeerd"
-#: ../../mod/admin.php:755
+#: ../../mod/admin.php:746
#, php-format
-msgid "Account '%s' unblocked"
+msgid "User '%s' unblocked"
msgstr "Account '%s' gedeblokkeerd"
-#: ../../mod/admin.php:818 ../../mod/admin.php:830
+#: ../../mod/admin.php:809 ../../mod/admin.php:821
msgid "Users"
msgstr "Accounts"
-#: ../../mod/admin.php:820 ../../mod/admin.php:987
+#: ../../mod/admin.php:811 ../../mod/admin.php:947
msgid "select all"
msgstr "alles selecteren"
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:812
msgid "User registrations waiting for confirm"
msgstr "Accounts die op goedkeuring wachten"
-#: ../../mod/admin.php:822
+#: ../../mod/admin.php:813
msgid "Request date"
msgstr "Tijd/datum verzoek"
-#: ../../mod/admin.php:823
+#: ../../mod/admin.php:814
msgid "No registrations."
msgstr "Geen verzoeken."
-#: ../../mod/admin.php:824 ../../mod/connedit.php:687
+#: ../../mod/admin.php:815
msgid "Approve"
msgstr "Goedkeuren"
-#: ../../mod/admin.php:825
+#: ../../mod/admin.php:816
msgid "Deny"
msgstr "Afkeuren"
-#: ../../mod/admin.php:827 ../../mod/connedit.php:519
+#: ../../mod/admin.php:818 ../../mod/connedit.php:517
+#: ../../mod/connedit.php:720
msgid "Block"
msgstr "Blokkeren"
-#: ../../mod/admin.php:828 ../../mod/connedit.php:519
+#: ../../mod/admin.php:819 ../../mod/connedit.php:517
+#: ../../mod/connedit.php:720
msgid "Unblock"
msgstr "Deblokkeren"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Register date"
msgstr "Geregistreerd"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Last login"
msgstr "Laatste keer ingelogd"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Expires"
msgstr "Verloopt"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:822
msgid "Service Class"
msgstr "Abonnementen"
-#: ../../mod/admin.php:833
+#: ../../mod/admin.php:824
msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
-" on this site will be permanently deleted!\\n\\nAre you sure?"
+"Selected users will be deleted!\\n\\nEverything these users had posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?"
-#: ../../mod/admin.php:834
+#: ../../mod/admin.php:825
msgid ""
-"The account {0} will be deleted!\\n\\nEverything this account has posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
+"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
+"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../mod/admin.php:870
+#: ../../mod/admin.php:859
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s kanaal gecensureerd/ongecensureerd"
msgstr[1] "%s kanalen gecensureerd/ongecensureerd"
-#: ../../mod/admin.php:879
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "Code toegestaan/niet toegestaan voor %s kanaal"
-msgstr[1] "Scripts toegestaan/niet toegestaan voor %s kanalen "
-
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:866
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s kanaal verwijderd"
msgstr[1] "%s kanalen verwijderd"
-#: ../../mod/admin.php:906
+#: ../../mod/admin.php:886
msgid "Channel not found"
msgstr "Kanaal niet gevonden"
-#: ../../mod/admin.php:917
+#: ../../mod/admin.php:897
#, php-format
msgid "Channel '%s' deleted"
msgstr "Kanaal '%s' verwijderd"
-#: ../../mod/admin.php:929
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Kanaal '%s' gecensureerd"
-
-#: ../../mod/admin.php:929
+#: ../../mod/admin.php:908
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Kanaal '%s' ongecensureerd"
-#: ../../mod/admin.php:940
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Scripts toegestaan voor kanaal '%s'"
-
-#: ../../mod/admin.php:940
+#: ../../mod/admin.php:908
#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Scripts niet toegestaan voor kanaal '%s'"
+msgid "Channel '%s' censored"
+msgstr "Kanaal '%s' gecensureerd"
-#: ../../mod/admin.php:989
+#: ../../mod/admin.php:949
msgid "Censor"
msgstr "Censureren"
-#: ../../mod/admin.php:990
+#: ../../mod/admin.php:950
msgid "Uncensor"
msgstr "Niet censureren"
-#: ../../mod/admin.php:991
-msgid "Allow Code"
-msgstr "Scripts toestaan"
-
-#: ../../mod/admin.php:992
-msgid "Disallow Code"
-msgstr "Scripts niet toestaan"
-
-#: ../../mod/admin.php:994
+#: ../../mod/admin.php:953
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:996
+#: ../../mod/admin.php:955
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../mod/admin.php:997
+#: ../../mod/admin.php:956
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../mod/admin.php:1037
+#: ../../mod/admin.php:996
#, php-format
msgid "Plugin %s disabled."
msgstr "Plug-in %s uitgeschakeld."
-#: ../../mod/admin.php:1041
+#: ../../mod/admin.php:1000
#, php-format
msgid "Plugin %s enabled."
msgstr "Plug-in %s ingeschakeld"
-#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
+#: ../../mod/admin.php:1010 ../../mod/admin.php:1208
msgid "Disable"
msgstr "Uitschakelen"
-#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
+#: ../../mod/admin.php:1013 ../../mod/admin.php:1210
msgid "Enable"
msgstr "Inschakelen"
-#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
+#: ../../mod/admin.php:1037 ../../mod/admin.php:1237
msgid "Toggle"
msgstr "Omschakelen"
-#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
+#: ../../mod/admin.php:1045 ../../mod/admin.php:1247
msgid "Author: "
msgstr "Auteur: "
-#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
+#: ../../mod/admin.php:1046 ../../mod/admin.php:1248
msgid "Maintainer: "
msgstr "Beheerder: "
-#: ../../mod/admin.php:1214
+#: ../../mod/admin.php:1173
msgid "No themes found."
msgstr "Geen thema's gevonden"
-#: ../../mod/admin.php:1270
+#: ../../mod/admin.php:1229
msgid "Screenshot"
msgstr "Schermafdruk"
-#: ../../mod/admin.php:1316
+#: ../../mod/admin.php:1275
msgid "[Experimental]"
msgstr "[Experimenteel]"
-#: ../../mod/admin.php:1317
+#: ../../mod/admin.php:1276
msgid "[Unsupported]"
msgstr "[Niet ondersteund]"
-#: ../../mod/admin.php:1341
+#: ../../mod/admin.php:1300
msgid "Log settings updated."
msgstr "Logboek-instellingen bijgewerkt."
-#: ../../mod/admin.php:1398
+#: ../../mod/admin.php:1357
msgid "Clear"
msgstr "Leegmaken"
-#: ../../mod/admin.php:1404
+#: ../../mod/admin.php:1363
msgid "Debugging"
msgstr "Debuggen"
-#: ../../mod/admin.php:1405
+#: ../../mod/admin.php:1364
msgid "Log file"
msgstr "Logbestand"
-#: ../../mod/admin.php:1405
+#: ../../mod/admin.php:1364
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je $Projectname-installatie."
-#: ../../mod/admin.php:1406
+#: ../../mod/admin.php:1365
msgid "Log level"
msgstr "Logniveau"
-#: ../../mod/admin.php:1452
+#: ../../mod/admin.php:1411
msgid "New Profile Field"
msgstr "Nieuw profielveld"
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../mod/admin.php:1412 ../../mod/admin.php:1432
msgid "Field nickname"
msgstr "Bijnaam voor veld"
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../mod/admin.php:1412 ../../mod/admin.php:1432
msgid "System name of field"
msgstr "Systeemnaam voor veld"
-#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
+#: ../../mod/admin.php:1413 ../../mod/admin.php:1433
msgid "Input type"
msgstr "Invoertype"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
msgid "Field Name"
msgstr "Veldnaam"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../mod/admin.php:1414 ../../mod/admin.php:1434
msgid "Label on profile pages"
msgstr "Tekstlabel voor op profielpagina's"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../mod/admin.php:1415 ../../mod/admin.php:1435
msgid "Help text"
msgstr "Helptekst"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../mod/admin.php:1415 ../../mod/admin.php:1435
msgid "Additional info (optional)"
msgstr "Extra informatie (optioneel)"
-#: ../../mod/admin.php:1466
+#: ../../mod/admin.php:1425
msgid "Field definition not found"
msgstr "Velddefinitie niet gevonden"
-#: ../../mod/admin.php:1472
+#: ../../mod/admin.php:1431
msgid "Edit Profile Field"
msgstr "Profielveld bewerken"
@@ -7380,6 +7715,14 @@ msgstr "Niet in staat om je hub te vinden"
msgid "Post successful."
msgstr "Verzenden bericht geslaagd."
+#: ../../mod/editblock.php:112
+msgid "Edit Block"
+msgstr "Blok bewerken"
+
+#: ../../mod/editblock.php:123
+msgid "Delete block?"
+msgstr "Blok verwijderen"
+
#: ../../mod/register.php:44
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr "Maximum toegestane dagelijkse registraties op deze $Projectname-hub bereikt. Probeer het morgen (UTC) nogmaals."
@@ -7495,25 +7838,39 @@ msgid ""
"removed from the network"
msgstr "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het $Projectname-netwerk verwijderd"
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:720
-msgid "Remove Account"
-msgstr "Account verwijderen"
+#: ../../mod/item.php:174
+msgid "Unable to locate original post."
+msgstr "Niet in staat om de originele locatie van het bericht te vinden. "
-#: ../../mod/help.php:49 ../../mod/help.php:55 ../../mod/help.php:61
-msgid "Help:"
-msgstr "Hulp:"
+#: ../../mod/item.php:437
+msgid "Empty post discarded."
+msgstr "Leeg bericht geannuleerd"
-#: ../../mod/help.php:76 ../../index.php:238
-msgid "Not Found"
-msgstr "Niet gevonden"
+#: ../../mod/item.php:479
+msgid "Executable content type not permitted to this channel."
+msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."
+
+#: ../../mod/item.php:885
+msgid "System error. Post not saved."
+msgstr "Systeemfout. Bericht niet opgeslagen."
-#: ../../mod/help.php:100
-msgid "$Projectname Documentation"
-msgstr "$Projectname-documentatie"
+#: ../../mod/item.php:1103
+msgid "Unable to obtain post information from database."
+msgstr "Niet in staat om informatie over dit bericht uit de database te verkrijgen."
+
+#: ../../mod/item.php:1110
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt."
+
+#: ../../mod/item.php:1117
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt."
#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-#: ../../mod/update_home.php:21 ../../mod/update_public.php:21
+#: ../../mod/update_home.php:21
msgid "[Embedded content - reload page to view]"
msgstr "[Ingesloten inhoud - ververs pagina om te bekijken] "
@@ -7525,583 +7882,17 @@ msgstr "Privacy-informatie op afstand niet beschikbaar."
msgid "Visible to:"
msgstr "Zichtbaar voor:"
-#: ../../mod/settings.php:76
-msgid "Name is required"
-msgstr "Naam is vereist"
-
-#: ../../mod/settings.php:80
-msgid "Key and Secret are required"
-msgstr "Key en secret zijn vereist"
-
-#: ../../mod/settings.php:130
-msgid "Diaspora Policy Settings updated."
-msgstr "Beleidsinstellingen Diaspora bijgewerkt."
-
-#: ../../mod/settings.php:238
-msgid "Passwords do not match. Password unchanged."
-msgstr "Wachtwoorden komen niet overeen. Wachtwoord onveranderd."
-
-#: ../../mod/settings.php:242
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd."
-
-#: ../../mod/settings.php:256
-msgid "Password changed."
-msgstr "Wachtwoord veranderd."
-
-#: ../../mod/settings.php:258
-msgid "Password update failed. Please try again."
-msgstr "Bijwerken wachtwoord mislukt. Probeer opnieuw."
-
-#: ../../mod/settings.php:272
-msgid "Not valid email."
-msgstr "Geen geldig e-mailadres."
-
-#: ../../mod/settings.php:275
-msgid "Protected email address. Cannot change to that email."
-msgstr "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken."
-
-#: ../../mod/settings.php:284
-msgid "System failure storing new email. Please try again."
-msgstr "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer."
-
-#: ../../mod/settings.php:523
-msgid "Settings updated."
-msgstr "Instellingen bijgewerkt."
-
-#: ../../mod/settings.php:587 ../../mod/settings.php:613
-#: ../../mod/settings.php:649
-msgid "Add application"
-msgstr "Applicatie toevoegen"
-
-#: ../../mod/settings.php:590
-msgid "Name of application"
-msgstr "Naam van applicatie"
-
-#: ../../mod/settings.php:591 ../../mod/settings.php:617
-msgid "Consumer Key"
-msgstr "Consumer key"
-
-#: ../../mod/settings.php:591 ../../mod/settings.php:592
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20"
-
-#: ../../mod/settings.php:592 ../../mod/settings.php:618
-msgid "Consumer Secret"
-msgstr "Consumer secret"
-
-#: ../../mod/settings.php:593 ../../mod/settings.php:619
-msgid "Redirect"
-msgstr "Redirect/doorverwijzing"
-
-#: ../../mod/settings.php:593
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist"
-
-#: ../../mod/settings.php:594 ../../mod/settings.php:620
-msgid "Icon url"
-msgstr "URL van pictogram"
-
-#: ../../mod/settings.php:594
-msgid "Optional"
-msgstr "Optioneel"
-
-#: ../../mod/settings.php:605
-msgid "You can't edit this application."
-msgstr "Je kan deze applicatie niet bewerken"
-
-#: ../../mod/settings.php:648
-msgid "Connected Apps"
-msgstr "Verbonden applicaties"
-
-#: ../../mod/settings.php:652
-msgid "Client key starts with"
-msgstr "Client key begint met"
-
-#: ../../mod/settings.php:653
-msgid "No name"
-msgstr "Geen naam"
-
-#: ../../mod/settings.php:654
-msgid "Remove authorization"
-msgstr "Autorisatie verwijderen"
-
-#: ../../mod/settings.php:668
-msgid "No feature settings configured"
-msgstr "Geen extra functie- of plugin-instellingen"
-
-#: ../../mod/settings.php:685
-msgid "Feature/Addon Settings"
-msgstr "Extra functie- en plugin-instellingen"
-
-#: ../../mod/settings.php:687
-msgid "Settings for the built-in Diaspora emulator"
-msgstr "Instellingen voor de ingebouwde Diaspora-emulator"
-
-#: ../../mod/settings.php:688
-msgid "Allow any Diaspora member to comment on your public posts"
-msgstr "Sta toe dat elk Diaspora-lid op jouw openbare berichten kan reageren."
-
-#: ../../mod/settings.php:689
-msgid "Enable the Diaspora protocol for this channel"
-msgstr "Diaspora-protocol voor dit kanaal inschakelen"
-
-#: ../../mod/settings.php:690
-msgid "Diaspora Policy Settings"
-msgstr "Beleidsinstellingen Diaspora"
-
-#: ../../mod/settings.php:691
-msgid "Prevent your hashtags from being redirected to other sites"
-msgstr "Voorkom dat jouw tags naar andere websites worden doorverwezen"
-
-#: ../../mod/settings.php:715
-msgid "Account Settings"
-msgstr "Account-instellingen"
-
-#: ../../mod/settings.php:716
-msgid "Enter New Password:"
-msgstr "Nieuw wachtwoord invoeren:"
-
-#: ../../mod/settings.php:717
-msgid "Confirm New Password:"
-msgstr "Nieuw wachtwoord bevestigen:"
-
-#: ../../mod/settings.php:717
-msgid "Leave password fields blank unless changing"
-msgstr "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen"
-
-#: ../../mod/settings.php:719 ../../mod/settings.php:1057
-msgid "Email Address:"
-msgstr "E-mailadres:"
-
-#: ../../mod/settings.php:721
-msgid "Remove this account including all its channels"
-msgstr "Dit account en al zijn kanalen verwijderen"
-
-#: ../../mod/settings.php:737
-msgid "Off"
-msgstr "Uit"
-
-#: ../../mod/settings.php:737
-msgid "On"
-msgstr "Aan"
-
-#: ../../mod/settings.php:744
-msgid "Additional Features"
-msgstr "Extra functies"
-
-#: ../../mod/settings.php:768
-msgid "Connector Settings"
-msgstr "Instellingen externe koppelingen"
-
-#: ../../mod/settings.php:807
-msgid "No special theme for mobile devices"
-msgstr "Geen speciaal thema voor mobiele apparaten"
-
-#: ../../mod/settings.php:810
-#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (experimenteel)"
-
-#: ../../mod/settings.php:849
-msgid "Display Settings"
-msgstr "Weergave-instellingen"
-
-#: ../../mod/settings.php:850
-msgid "Theme Settings"
-msgstr "Thema-instellingen"
-
-#: ../../mod/settings.php:851
-msgid "Custom Theme Settings"
-msgstr "Handmatige thema-instellingen"
-
-#: ../../mod/settings.php:852
-msgid "Content Settings"
-msgstr "Inhoudsinstellingen"
-
-#: ../../mod/settings.php:858
-msgid "Display Theme:"
-msgstr "Gebruik thema:"
-
-#: ../../mod/settings.php:859
-msgid "Mobile Theme:"
-msgstr "Mobiel thema:"
-
-#: ../../mod/settings.php:860
-msgid "Enable user zoom on mobile devices"
-msgstr "Inzoomen op smartphones en tablets toestaan"
-
-#: ../../mod/settings.php:861
-msgid "Update browser every xx seconds"
-msgstr "Ververs de webbrowser om de zoveel seconde"
-
-#: ../../mod/settings.php:861
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimaal 10 seconde, geen maximum"
-
-#: ../../mod/settings.php:862
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Maximaal aantal conversaties die per keer geladen worden:"
-
-#: ../../mod/settings.php:862
-msgid "Maximum of 100 items"
-msgstr "Maximaal 100 conversaties"
-
-#: ../../mod/settings.php:863
-msgid "Show emoticons (smilies) as images"
-msgstr "Toon emoticons (smilies) als afbeeldingen"
-
-#: ../../mod/settings.php:864
-msgid "Link post titles to source"
-msgstr "Berichtkoppen naar originele locatie linken"
-
-#: ../../mod/settings.php:865
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Lay-out bewerken van systeempagina's (geavanceerd)"
-
-#: ../../mod/settings.php:868
-msgid "Use blog/list mode on channel page"
-msgstr "Gebruik blog/lijst-modus op kanaalpagina"
-
-#: ../../mod/settings.php:868 ../../mod/settings.php:869
-msgid "(comments displayed separately)"
-msgstr "(reacties worden afzonderlijk weergeven)"
-
-#: ../../mod/settings.php:869
-msgid "Use blog/list mode on matrix page"
-msgstr "Gebruik blog/lijst-modus op matrixpagina"
-
-#: ../../mod/settings.php:870
-msgid "Channel page max height of content (in pixels)"
-msgstr "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)"
-
-#: ../../mod/settings.php:870 ../../mod/settings.php:871
-msgid "click to expand content exceeding this height"
-msgstr "klik om inhoud uit te klappen die deze hoogte overschrijdt"
-
-#: ../../mod/settings.php:871
-msgid "Matrix page max height of content (in pixels)"
-msgstr "Maximale hoogte berichtinhoud op matrixpagina (in pixels)"
-
-#: ../../mod/settings.php:905
-msgid "Nobody except yourself"
-msgstr "Niemand, behalve jezelf"
-
-#: ../../mod/settings.php:906
-msgid "Only those you specifically allow"
-msgstr "Alleen connecties met uitdrukkelijke toestemming"
-
-#: ../../mod/settings.php:907
-msgid "Approved connections"
-msgstr "Geaccepteerde connecties"
-
-#: ../../mod/settings.php:908
-msgid "Any connections"
-msgstr "Alle connecties"
-
-#: ../../mod/settings.php:909
-msgid "Anybody on this website"
-msgstr "Iedereen op deze hub"
-
-#: ../../mod/settings.php:910
-msgid "Anybody in this network"
-msgstr "Iedereen in dit netwerk"
-
-#: ../../mod/settings.php:911
-msgid "Anybody authenticated"
-msgstr "Geauthenticeerd"
-
-#: ../../mod/settings.php:912
-msgid "Anybody on the internet"
-msgstr "Iedereen op het internet"
-
-#: ../../mod/settings.php:986
-msgid "Publish your default profile in the network directory"
-msgstr "Publiceer je standaardprofiel in de kanalengids"
-
-#: ../../mod/settings.php:991
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen"
-
-#: ../../mod/settings.php:1000
-msgid "Your channel address is"
-msgstr "Jouw kanaaladres is"
-
-#: ../../mod/settings.php:1048
-msgid "Channel Settings"
-msgstr "Kanaal-instellingen"
-
-#: ../../mod/settings.php:1055
-msgid "Basic Settings"
-msgstr "Basis-instellingen"
-
-#: ../../mod/settings.php:1058
-msgid "Your Timezone:"
-msgstr "Jouw tijdzone:"
-
-#: ../../mod/settings.php:1059
-msgid "Default Post Location:"
-msgstr "Standaardlocatie bericht:"
-
-#: ../../mod/settings.php:1059
-msgid "Geographical location to display on your posts"
-msgstr "Geografische locatie die bij het bericht moet worden vermeld"
-
-#: ../../mod/settings.php:1060
-msgid "Use Browser Location:"
-msgstr "Locatie van webbrowser gebruiken:"
-
-#: ../../mod/settings.php:1062
-msgid "Adult Content"
-msgstr "Inhoud voor volwassenen"
-
-#: ../../mod/settings.php:1062
-msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassenen. (Gebruik de tag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)"
-
-#: ../../mod/settings.php:1064
-msgid "Security and Privacy Settings"
-msgstr "Veiligheids- en privacy-instellingen"
-
-#: ../../mod/settings.php:1066
-msgid "Your permissions are already configured. Click to view/adjust"
-msgstr "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen."
-
-#: ../../mod/settings.php:1068
-msgid "Hide my online presence"
-msgstr "Verberg mijn aanwezigheid"
-
-#: ../../mod/settings.php:1068
-msgid "Prevents displaying in your profile that you are online"
-msgstr "Voorkomt dat op je kanaalpagina te zien valt dat je momenteel op $Projectname aanwezig bent"
-
-#: ../../mod/settings.php:1070
-msgid "Simple Privacy Settings:"
-msgstr "Eenvoudige privacy-instellingen:"
-
-#: ../../mod/settings.php:1071
-msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>"
-
-#: ../../mod/settings.php:1072
-msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>"
-
-#: ../../mod/settings.php:1073
-msgid "Private - <em>default private, never open or public</em>"
-msgstr "Privé <em>(standaard privé en nooit openbaar)</em>"
-
-#: ../../mod/settings.php:1074
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>"
-
-#: ../../mod/settings.php:1076
-msgid "Allow others to tag your posts"
-msgstr "Anderen toestaan om je berichten te taggen"
-
-#: ../../mod/settings.php:1076
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren"
-
-#: ../../mod/settings.php:1078
-msgid "Advanced Privacy Settings"
-msgstr "Geavanceerde privacy-instellingen"
-
-#: ../../mod/settings.php:1080
-msgid "Expire other channel content after this many days"
-msgstr "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:"
-
-#: ../../mod/settings.php:1080
-msgid "0 or blank prevents expiration"
-msgstr "0 of leeg voorkomt het verlopen"
-
-#: ../../mod/settings.php:1081
-msgid "Maximum Friend Requests/Day:"
-msgstr "Maximum aantal connectieverzoeken per dag:"
-
-#: ../../mod/settings.php:1081
-msgid "May reduce spam activity"
-msgstr "Kan eventuele spam verminderen"
-
-#: ../../mod/settings.php:1082
-msgid "Default Post Permissions"
-msgstr "Standaard permissies voor nieuwe berichten"
-
-#: ../../mod/settings.php:1087
-msgid "Channel permissions category:"
-msgstr "Kanaaltype en -permissies:"
-
-#: ../../mod/settings.php:1093
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Maximum aantal privé-berichten per dag van onbekende personen:"
-
-#: ../../mod/settings.php:1093
-msgid "Useful to reduce spamming"
-msgstr "Kan eventuele spam verminderen"
-
-#: ../../mod/settings.php:1096
-msgid "Notification Settings"
-msgstr "Notificatie-instellingen"
-
-#: ../../mod/settings.php:1097
-msgid "By default post a status message when:"
-msgstr "Plaats automatisch een statusbericht wanneer:"
-
-#: ../../mod/settings.php:1098
-msgid "accepting a friend request"
-msgstr "Een connectieverzoek wordt geaccepteerd"
-
-#: ../../mod/settings.php:1099
-msgid "joining a forum/community"
-msgstr "Je lid wordt van een forum/groep"
-
-#: ../../mod/settings.php:1100
-msgid "making an <em>interesting</em> profile change"
-msgstr "Er sprake is van een <em>interessante</em> profielwijziging"
-
-#: ../../mod/settings.php:1101
-msgid "Send a notification email when:"
-msgstr "Verzend een notificatie per e-mail wanneer:"
-
-#: ../../mod/settings.php:1102
-msgid "You receive a connection request"
-msgstr "Je een connectieverzoek ontvangt"
-
-#: ../../mod/settings.php:1103
-msgid "Your connections are confirmed"
-msgstr "Jouw connecties zijn bevestigd"
-
-#: ../../mod/settings.php:1104
-msgid "Someone writes on your profile wall"
-msgstr "Iemand iets op jouw kanaal heeft geschreven"
-
-#: ../../mod/settings.php:1105
-msgid "Someone writes a followup comment"
-msgstr "Iemand een reactie schrijft"
-
-#: ../../mod/settings.php:1106
-msgid "You receive a private message"
-msgstr "Je een privé-bericht ontvangt"
-
-#: ../../mod/settings.php:1107
-msgid "You receive a friend suggestion"
-msgstr "Je een kanaalvoorstel ontvangt"
-
-#: ../../mod/settings.php:1108
-msgid "You are tagged in a post"
-msgstr "Je expliciet in een bericht bent genoemd"
-
-#: ../../mod/settings.php:1109
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Je bent in een bericht aangestoten/gepord/etc."
-
-#: ../../mod/settings.php:1112
-msgid "Show visual notifications including:"
-msgstr "Toon de volgende zichtbare notificaties:"
-
-#: ../../mod/settings.php:1114
-msgid "Unseen matrix activity"
-msgstr "Niet bekeken matrix-activiteit"
-
-#: ../../mod/settings.php:1115
-msgid "Unseen channel activity"
-msgstr "Niet bekeken kanaal-activiteit"
-
-#: ../../mod/settings.php:1116
-msgid "Unseen private messages"
-msgstr "Niet bekeken privéberichten"
-
-#: ../../mod/settings.php:1116 ../../mod/settings.php:1121
-#: ../../mod/settings.php:1122 ../../mod/settings.php:1123
-msgid "Recommended"
-msgstr "Aanbevolen"
-
-#: ../../mod/settings.php:1117
-msgid "Upcoming events"
-msgstr "Aankomende gebeurtenissen"
-
-#: ../../mod/settings.php:1118
-msgid "Events today"
-msgstr "Gebeurtissen van vandaag"
-
-#: ../../mod/settings.php:1119
-msgid "Upcoming birthdays"
-msgstr "Aankomende verjaardagen"
-
-#: ../../mod/settings.php:1119
-msgid "Not available in all themes"
-msgstr "Niet in alle thema's beschikbaar"
-
-#: ../../mod/settings.php:1120
-msgid "System (personal) notifications"
-msgstr "(Persoonlijke) systeemnotificaties"
-
-#: ../../mod/settings.php:1121
-msgid "System info messages"
-msgstr "Systeemmededelingen"
-
-#: ../../mod/settings.php:1122
-msgid "System critical alerts"
-msgstr "Kritische systeemwaarschuwingen"
-
-#: ../../mod/settings.php:1123
-msgid "New connections"
-msgstr "Nieuwe connecties"
-
-#: ../../mod/settings.php:1124
-msgid "System Registrations"
-msgstr "Nieuwe accountregistraties op deze hub"
-
-#: ../../mod/settings.php:1125
-msgid ""
-"Also show new wall posts, private messages and connections under Notices"
-msgstr "Toon tevens nieuwe kanaalberichten, privéberichten en connecties onder Notificaties"
-
-#: ../../mod/settings.php:1127
-msgid "Notify me of events this many days in advance"
-msgstr "Herinner mij zoveel dagen van te voren aan gebeurtenissen"
-
-#: ../../mod/settings.php:1127
-msgid "Must be greater than 0"
-msgstr "Moet hoger dan 0 zijn"
-
-#: ../../mod/settings.php:1129
-msgid "Advanced Account/Page Type Settings"
-msgstr "Instellingen geavanceerd account/paginatype"
-
-#: ../../mod/settings.php:1130
-msgid "Change the behaviour of this account for special situations"
-msgstr "Verander het gedrag van dit account voor speciale situaties"
-
-#: ../../mod/settings.php:1133
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!"
-
-#: ../../mod/settings.php:1134
-msgid "Miscellaneous Settings"
-msgstr "Diverse instellingen"
-
-#: ../../mod/settings.php:1136
-msgid "Personal menu to display in your channel pages"
-msgstr "Persoonlijk menu om op je kanaalpagina's weer te geven"
+#: ../../mod/layouts.php:175
+msgid "Comanche page description language help"
+msgstr "Hulp met de paginabeschrijvingstaal Comanche"
-#: ../../mod/settings.php:1137 ../../mod/removeme.php:61
-msgid "Remove Channel"
-msgstr "Kanaal verwijderen"
+#: ../../mod/layouts.php:179
+msgid "Layout Description"
+msgstr "Lay-out-omschrijving"
-#: ../../mod/settings.php:1138
-msgid "Remove this channel."
-msgstr "Verwijder dit kanaal."
+#: ../../mod/layouts.php:184
+msgid "Download PDL file"
+msgstr "Download PDL-bestand"
#: ../../mod/id.php:11
msgid "First Name"
@@ -8193,7 +7984,7 @@ msgstr "Totaal aantal stemmen"
#: ../../mod/vote.php:98
msgid "Average Rating"
-msgstr "Gemiddelde beoordeling"
+msgstr "Gemiddelde waardering"
#: ../../mod/removeme.php:29
msgid ""
@@ -8219,239 +8010,315 @@ msgid ""
"removed from the network"
msgstr "Standaard wordt alleen het kanaal dat zich op deze hub bevindt uit het $Projectname-netwerk verwijderd"
-#: ../../mod/connedit.php:267
+#: ../../mod/connedit.php:262
msgid "is now connected to"
msgstr "is nu verbonden met"
-#: ../../mod/connedit.php:380
+#: ../../mod/connedit.php:375
msgid "Could not access address book record."
msgstr "Kon geen toegang krijgen tot de record van de connectie."
-#: ../../mod/connedit.php:394
+#: ../../mod/connedit.php:389
msgid "Refresh failed - channel is currently unavailable."
msgstr "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar"
-#: ../../mod/connedit.php:406 ../../mod/connedit.php:418
-#: ../../mod/connedit.php:430 ../../mod/connedit.php:442
-#: ../../mod/connedit.php:458
+#: ../../mod/connedit.php:396
+msgid "Channel has been unblocked"
+msgstr "Kanaal is gedeblokkeerd"
+
+#: ../../mod/connedit.php:397
+msgid "Channel has been blocked"
+msgstr "Kanaal is geblokkeerd"
+
+#: ../../mod/connedit.php:401 ../../mod/connedit.php:413
+#: ../../mod/connedit.php:425 ../../mod/connedit.php:437
+#: ../../mod/connedit.php:453
msgid "Unable to set address book parameters."
msgstr "Niet in staat om de parameters van connecties in te stellen."
-#: ../../mod/connedit.php:482
+#: ../../mod/connedit.php:408
+msgid "Channel has been unignored"
+msgstr "Kanaal wordt niet meer genegeerd"
+
+#: ../../mod/connedit.php:409
+msgid "Channel has been ignored"
+msgstr "Kanaal wordt genegeerd"
+
+#: ../../mod/connedit.php:420
+msgid "Channel has been unarchived"
+msgstr "Kanaal is niet meer gearchiveerd"
+
+#: ../../mod/connedit.php:421
+msgid "Channel has been archived"
+msgstr "Kanaal is gearchiveerd"
+
+#: ../../mod/connedit.php:432
+msgid "Channel has been unhidden"
+msgstr "Kanaal is niet meer verborgen"
+
+#: ../../mod/connedit.php:433
+msgid "Channel has been hidden"
+msgstr "Kanaal is verborgen"
+
+#: ../../mod/connedit.php:448
+msgid "Channel has been approved"
+msgstr "Connectie/kanaal is geaccepteerd"
+
+#: ../../mod/connedit.php:449
+msgid "Channel has been unapproved"
+msgstr "Connectie/kanaal is afgewezen"
+
+#: ../../mod/connedit.php:477
msgid "Connection has been removed."
msgstr "Connectie is verwijderd"
-#: ../../mod/connedit.php:501
+#: ../../mod/connedit.php:497
#, php-format
msgid "View %s's profile"
msgstr "Profiel van %s weergeven"
-#: ../../mod/connedit.php:505
+#: ../../mod/connedit.php:501
msgid "Refresh Permissions"
msgstr "Permissies vernieuwen"
-#: ../../mod/connedit.php:508
+#: ../../mod/connedit.php:504
msgid "Fetch updated permissions"
msgstr "Aangepaste permissies ophalen"
-#: ../../mod/connedit.php:512
+#: ../../mod/connedit.php:508
msgid "Recent Activity"
msgstr "Recente activiteit"
-#: ../../mod/connedit.php:515
+#: ../../mod/connedit.php:511
msgid "View recent posts and comments"
msgstr "Recente berichten en reacties weergeven"
-#: ../../mod/connedit.php:522
+#: ../../mod/connedit.php:520
msgid "Block (or Unblock) all communications with this connection"
msgstr "Blokkeer (of deblokkeer) alle communicatie met deze connectie"
-#: ../../mod/connedit.php:523
-msgid "This connection is blocked!"
-msgstr "Deze connectie is geblokkeerd!"
-
-#: ../../mod/connedit.php:527
+#: ../../mod/connedit.php:524 ../../mod/connedit.php:721
msgid "Unignore"
msgstr "Niet meer negeren"
-#: ../../mod/connedit.php:527 ../../mod/notifications.php:51
+#: ../../mod/connedit.php:524 ../../mod/connedit.php:721
+#: ../../mod/notifications.php:51
msgid "Ignore"
msgstr "Negeren"
-#: ../../mod/connedit.php:530
+#: ../../mod/connedit.php:527
msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie"
-#: ../../mod/connedit.php:531
-msgid "This connection is ignored!"
-msgstr "Deze connectie wordt genegeerd!"
-
-#: ../../mod/connedit.php:535
+#: ../../mod/connedit.php:530
msgid "Unarchive"
msgstr "Niet meer archiveren"
-#: ../../mod/connedit.php:535
+#: ../../mod/connedit.php:530
msgid "Archive"
msgstr "Archiveren"
-#: ../../mod/connedit.php:538
+#: ../../mod/connedit.php:533
msgid ""
"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud"
-#: ../../mod/connedit.php:539
-msgid "This connection is archived!"
-msgstr "Deze connectie is gearchiveerd!"
-
-#: ../../mod/connedit.php:543
+#: ../../mod/connedit.php:536
msgid "Unhide"
msgstr "Niet meer verbergen"
-#: ../../mod/connedit.php:543
+#: ../../mod/connedit.php:536
msgid "Hide"
msgstr "Verbergen"
-#: ../../mod/connedit.php:546
+#: ../../mod/connedit.php:539
msgid "Hide or Unhide this connection from your other connections"
msgstr "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties"
-#: ../../mod/connedit.php:547
-msgid "This connection is hidden!"
-msgstr "Deze connectie is verborgen!"
-
-#: ../../mod/connedit.php:554
+#: ../../mod/connedit.php:546
msgid "Delete this connection"
msgstr "Deze connectie verwijderen"
-#: ../../mod/connedit.php:635
+#: ../../mod/connedit.php:637 ../../mod/connedit.php:675
msgid "Approve this connection"
msgstr "Deze connectie accepteren"
-#: ../../mod/connedit.php:635
+#: ../../mod/connedit.php:637
msgid "Accept connection to allow communication"
msgstr "Keur deze connectie goed om communicatie toe te staan"
-#: ../../mod/connedit.php:640
-msgid "Set Affinity"
-msgstr "Verwantschapsfilter instellen"
-
-#: ../../mod/connedit.php:643
-msgid "Set Profile"
-msgstr "Profiel instellen"
-
-#: ../../mod/connedit.php:646
-msgid "Set Affinity & Profile"
-msgstr "Verwantschapsfilter en profiel instellen"
+#: ../../mod/connedit.php:653
+#, php-format
+msgid "Connections: settings for %s"
+msgstr "Connecties: instellingen voor %s"
-#: ../../mod/connedit.php:663
+#: ../../mod/connedit.php:654
msgid "Apply these permissions automatically"
msgstr "Deze permissies automatisch toepassen"
-#: ../../mod/connedit.php:665
-msgid "This connection's address is"
-msgstr "Het adres van deze connectie is"
+#: ../../mod/connedit.php:658
+msgid "Apply the permissions indicated on this page to all new connections."
+msgstr "Permissies die op deze pagina staan vermeldt op alle nieuwe connecties toepassen."
-#: ../../mod/connedit.php:668
-msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "Permissies die op deze pagina staan vermeld worden op alle nieuwe connecties toegepast."
-
-#: ../../mod/connedit.php:670
+#: ../../mod/connedit.php:662
msgid "Slide to adjust your degree of friendship"
msgstr "Schuif om te bepalen hoe goed je iemand kent en/of mag"
-#: ../../mod/connedit.php:672
-msgid "Slide to adjust your rating"
-msgstr "Gebruik de schuif om je beoordeling te geven"
+#: ../../mod/connedit.php:671
+msgid ""
+"Default permissions for your channel type have (just) been applied. They "
+"have not yet been submitted. Please review the permissions on this page and "
+"make any desired changes at this time. This new connection may <em>not</em> "
+"be able to communicate with you until you submit this page, which will "
+"install and apply the selected permissions."
+msgstr "Voor jouw kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog niet opgeslagen. Controleer de permissies op deze pagina en verander ze eventueel. Deze nieuwe connectie kan mogelijk nog <em>niet</em> met jou communiceren totdat je deze pagina opslaat, wat ervoor zorgt dat de gekozen permissies actief worden."
+
+#: ../../mod/connedit.php:674
+msgid "inherited"
+msgstr "geërfd"
-#: ../../mod/connedit.php:673 ../../mod/connedit.php:678
-msgid "Optionally explain your rating"
-msgstr "Verklaar jouw beoordeling (niet verplicht)"
+#: ../../mod/connedit.php:677
+msgid "Connection has no individual permissions!"
+msgstr "Connectie heeft geen individuele permissies!"
-#: ../../mod/connedit.php:675
-msgid "Custom Filter"
-msgstr "Berichtenfilter"
+#: ../../mod/connedit.php:678
+msgid ""
+"This may be appropriate based on your <a href=\"settings\">privacy "
+"settings</a>, though you may wish to review the \"Advanced Permissions\"."
+msgstr "Dit is mogelijk voldoende, wanneer er naar jouw <a href=\"settings\">privacy-instellingen</a> wordt gekeken. Hoewel je wellicht de geavanceerde rechten wil nagaan."
-#: ../../mod/connedit.php:676
-msgid "Only import posts with this text"
-msgstr "Importeer alleen berichten met deze tekst"
+#: ../../mod/connedit.php:680
+msgid "Profile Visibility"
+msgstr "Zichtbaarheid profiel"
-#: ../../mod/connedit.php:676 ../../mod/connedit.php:677
+#: ../../mod/connedit.php:681
+#, php-format
msgid ""
-"words one per line or #tags or /patterns/, leave blank to import all posts"
-msgstr "woorden (één per regel), #tags of /patterns/, laat leeg om alle berichten te importeren"
-
-#: ../../mod/connedit.php:677
-msgid "Do not import posts with this text"
-msgstr "Importeer geen berichten met deze tekst"
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken."
-#: ../../mod/connedit.php:679
-msgid "This information is public!"
-msgstr "Deze informatie is openbaar!"
+#: ../../mod/connedit.php:682
+msgid "Contact Information / Notes"
+msgstr "Informatie/aantekeningen over connectie"
-#: ../../mod/connedit.php:684
-msgid "Connection Pending Approval"
-msgstr "Connectie moet nog goedgekeurd worden"
+#: ../../mod/connedit.php:683
+msgid "Edit contact notes"
+msgstr "Bewerk aantekeningen over contact"
#: ../../mod/connedit.php:685
-msgid "Connection Request"
-msgstr "Connectieverzoek"
+msgid "Their Settings"
+msgstr "Hun instellingen"
#: ../../mod/connedit.php:686
-#, php-format
-msgid ""
-"(%s) would like to connect with you. Please approve this connection to allow"
-" communication."
-msgstr "(%s) wil met jou verbinden. Keur dit connectieverzoek goed om onderling te kunnen communiceren."
+msgid "My Settings"
+msgstr "Mijn instellingen"
#: ../../mod/connedit.php:688
-msgid "Approve Later"
-msgstr "Later goedkeuren"
+msgid ""
+"Default permissions for this channel type have (just) been applied. They "
+"have <em>not</em> been saved and there are currently no stored default "
+"permissions. Please review/edit the applied settings and click [Submit] to "
+"finalize."
+msgstr "Voor dit kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog <em>niet</em> opgeslagen en er zijn momenteel geen standaard permissies aanwezig. Controleer/verander de permissies op deze pagina en klik op [Opslaan] om deze te activeren."
+
+#: ../../mod/connedit.php:689
+msgid "Clear/Disable Automatic Permissions"
+msgstr "Verwijderen/uitschakelen automatische permissies"
+
+#: ../../mod/connedit.php:690
+msgid "Forum Members"
+msgstr "Forumleden"
#: ../../mod/connedit.php:691
-msgid "inherited"
-msgstr "geërfd"
+msgid "Soapbox"
+msgstr "Zeepkist"
+
+#: ../../mod/connedit.php:692
+msgid "Full Sharing (typical social network permissions)"
+msgstr "Voluit delen (vergelijkbaar met die van sociale netwerken)"
#: ../../mod/connedit.php:693
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken."
+msgid "Cautious Sharing "
+msgstr "Voorzichtig delen"
+
+#: ../../mod/connedit.php:694
+msgid "Follow Only"
+msgstr "Alleen volgen"
#: ../../mod/connedit.php:695
-msgid "Their Settings"
-msgstr "Hun instellingen"
+msgid "Individual Permissions"
+msgstr "Individuele permissies"
#: ../../mod/connedit.php:696
-msgid "My Settings"
-msgstr "Mijn instellingen"
+msgid ""
+"Some permissions may be inherited from your channel <a "
+"href=\"settings\">privacy settings</a>, which have higher priority than "
+"individual settings. Changing those inherited settings on this page will "
+"have no effect."
+msgstr "Sommige permissies kunnen worden overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal. Wanneer je deze geërfde instellingen op deze pagina veranderd heeft dat geen effect."
+
+#: ../../mod/connedit.php:697
+msgid "Advanced Permissions"
+msgstr "Geavanceerde permissies"
#: ../../mod/connedit.php:698
-msgid "Individual Permissions"
-msgstr "Individuele permissies"
+msgid "Simple Permissions (select one and submit)"
+msgstr "Eenvoudige permissies (selecteer er één en opslaan)"
-#: ../../mod/connedit.php:699
-msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele instellingen. Je kan je deze overgeërfde permissies hier <strong>niet</strong> veranderen."
+#: ../../mod/connedit.php:702
+#, php-format
+msgid "Visit %s's profile - %s"
+msgstr "Profiel van %s bezoeken - %s"
-#: ../../mod/connedit.php:700
-msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele permissies. Je kan de permissies hier veranderen, maar die hebben geen effect, tenzij de overgeërfde permissies worden veranderd. "
+#: ../../mod/connedit.php:703
+msgid "Block/Unblock contact"
+msgstr "Connectie blokkeren/deblokkeren"
-#: ../../mod/connedit.php:701
+#: ../../mod/connedit.php:704
+msgid "Ignore contact"
+msgstr "Connectie negeren"
+
+#: ../../mod/connedit.php:705
+msgid "Repair URL settings"
+msgstr "URL-instellingen repareren"
+
+#: ../../mod/connedit.php:706
+msgid "View conversations"
+msgstr "Conversaties weergeven"
+
+#: ../../mod/connedit.php:708
+msgid "Delete contact"
+msgstr "Connectie verwijderen"
+
+#: ../../mod/connedit.php:712
msgid "Last update:"
msgstr "Laatste wijziging:"
+#: ../../mod/connedit.php:714
+msgid "Update public posts"
+msgstr "Openbare berichten updaten"
+
+#: ../../mod/connedit.php:716
+msgid "Update now"
+msgstr "Nu updaten"
+
+#: ../../mod/connedit.php:722
+msgid "Currently blocked"
+msgstr "Momenteel geblokkeerd"
+
+#: ../../mod/connedit.php:723
+msgid "Currently ignored"
+msgstr "Momenteel genegeerd"
+
+#: ../../mod/connedit.php:724
+msgid "Currently archived"
+msgstr "Momenteel gearchiveerd"
+
+#: ../../mod/connedit.php:725
+msgid "Currently pending"
+msgstr "Moeten nog geaccepteerd of afgewezen worden"
+
#: ../../mod/rmagic.php:40
msgid ""
"We encountered a problem while logging in with the OpenID you provided. "
@@ -8670,26 +8537,37 @@ msgstr "voegde jouw kanaal toe"
msgid "posted an event"
msgstr "plaatste een gebeurtenis"
-#: ../../mod/layouts.php:176
-msgid "Comanche page description language help"
-msgstr "Hulp met de paginabeschrijvingstaal Comanche"
+#: ../../mod/network.php:91
+msgid "No such group"
+msgstr "Collectie niet gevonden"
-#: ../../mod/layouts.php:180
-msgid "Layout Description"
-msgstr "Lay-out-omschrijving"
+#: ../../mod/network.php:129
+msgid "No such channel"
+msgstr "Niet zo'n kanaal"
-#: ../../mod/layouts.php:185
-msgid "Download PDL file"
-msgstr "Download PDL-bestand"
+#: ../../mod/network.php:143
+msgid "Search Results For:"
+msgstr "Zoekresultaten voor:"
-#: ../../mod/home.php:73
-#, php-format
-msgid "Welcome to %s"
-msgstr "Welkom op %s"
+#: ../../mod/network.php:198
+msgid "Collection is empty"
+msgstr "Collectie is leeg"
+
+#: ../../mod/network.php:207
+msgid "Collection: "
+msgstr "Collectie: "
-#: ../../mod/page.php:126
-msgid "Lorem Ipsum"
-msgstr "Lorem Ipsum"
+#: ../../mod/network.php:226
+msgid "Connection: "
+msgstr "Connectie: "
+
+#: ../../mod/network.php:233
+msgid "Invalid connection."
+msgstr "Ongeldige connectie."
+
+#: ../../mod/page.php:119
+msgid "Ipsum Lorem"
+msgstr "Lorem ipsum"
#: ../../mod/bookmarks.php:38
msgid "Bookmark added"
@@ -8707,21 +8585,6 @@ msgstr "Bladwijzers van mijn connecties"
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Onvoldoende permissies. Doorgestuurd naar profielpagina."
-#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd."
-
-#: ../../mod/pconfig.php:49
-msgid "Configuration Editor"
-msgstr "Configuratiebewerker"
-
-#: ../../mod/pconfig.php:50
-msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. "
-
#: ../../mod/suggest.php:35
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
@@ -8730,7 +8593,7 @@ msgstr "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probe
#: ../../mod/poll.php:64
msgid "Poll"
-msgstr "Peiling"
+msgstr "Poll"
#: ../../mod/poll.php:69
msgid "View Results"
@@ -8770,7 +8633,7 @@ msgid "Monospace"
msgstr "Monospace"
#: ../../view/theme/apw/php/config.php:259
-#: ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:100
msgid "Theme settings"
msgstr "Thema-instellingen"
@@ -8779,13 +8642,13 @@ msgid "Set scheme"
msgstr "Schema van thema instellen"
#: ../../view/theme/apw/php/config.php:261
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:122
msgid "Set font-size for posts and comments"
msgstr "Lettergrootte voor berichten en reacties instellen"
#: ../../view/theme/apw/php/config.php:262
msgid "Set font face"
-msgstr "Lettertype instellen"
+msgstr "Lettertypefamilie instellen"
#: ../../view/theme/apw/php/config.php:263
msgid "Set iconset"
@@ -8877,7 +8740,7 @@ msgstr "Kleur van de navigatiebalk"
#: ../../view/theme/apw/php/config.php:285
msgid "Item float"
-msgstr "Positie van item (float)"
+msgstr "Item float"
#: ../../view/theme/apw/php/config.php:286
msgid "Left offset of the section element"
@@ -8893,185 +8756,185 @@ msgstr "Breedte van sectie"
#: ../../view/theme/apw/php/config.php:289
msgid "Left offset of the aside"
-msgstr "Linker offset van de zijbalk (aside)"
+msgstr "Rechter offset van aside (zijbalk)"
#: ../../view/theme/apw/php/config.php:290
msgid "Right offset of the aside element"
-msgstr "Rechter offset van de zijbalk (aside)"
+msgstr "Rechter offset van het aside-element"
#: ../../view/theme/redbasic/php/config.php:82
msgid "Light (Red Matrix default)"
msgstr "Light ($Projectname-standaard)"
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:101
msgid "Select scheme"
msgstr "Kies schema van thema"
-#: ../../view/theme/redbasic/php/config.php:104
+#: ../../view/theme/redbasic/php/config.php:102
msgid "Narrow navbar"
msgstr "Smalle navigatiebalk"
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:103
msgid "Navigation bar background color"
msgstr "Achtergrondkleur navigatiebalk"
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:104
msgid "Navigation bar gradient top color"
msgstr "Bovenste gradiëntkleur navigatiebalk"
-#: ../../view/theme/redbasic/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:105
msgid "Navigation bar gradient bottom color"
msgstr "Onderste gradiëntkleur navigatiebalk"
-#: ../../view/theme/redbasic/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:106
msgid "Navigation active button gradient top color"
msgstr "Bovenste gradiëntkleur actieve knop navigatiebalk"
-#: ../../view/theme/redbasic/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:107
msgid "Navigation active button gradient bottom color"
msgstr "Onderste gradiëntkleur actieve knop op navigatiebalk"
-#: ../../view/theme/redbasic/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:108
msgid "Navigation bar border color "
msgstr "Randkleur navigatiebalk "
-#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:109
msgid "Navigation bar icon color "
msgstr "Pictogramkleur navigatiebalk"
-#: ../../view/theme/redbasic/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Navigation bar active icon color "
msgstr "Actieve pictogramkleur navigatiebalk"
-#: ../../view/theme/redbasic/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:111
msgid "link color"
msgstr "Linkkleur instellen"
-#: ../../view/theme/redbasic/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Set font-color for banner"
msgstr "Tekstkleur van banner instellen"
-#: ../../view/theme/redbasic/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:113
msgid "Set the background color"
msgstr "Achtergrondkleur instellen"
-#: ../../view/theme/redbasic/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:114
msgid "Set the background image"
msgstr "Achtergrondafbeelding instellen"
-#: ../../view/theme/redbasic/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:115
msgid "Set the background color of items"
msgstr "Achtergrondkleur items instellen"
-#: ../../view/theme/redbasic/php/config.php:118
+#: ../../view/theme/redbasic/php/config.php:116
msgid "Set the background color of comments"
msgstr "Achtergrondkleur reacties instellen"
-#: ../../view/theme/redbasic/php/config.php:119
+#: ../../view/theme/redbasic/php/config.php:117
msgid "Set the border color of comments"
msgstr "Randkleur reacties instellen"
-#: ../../view/theme/redbasic/php/config.php:120
+#: ../../view/theme/redbasic/php/config.php:118
msgid "Set the indent for comments"
msgstr "Inspringen reacties instellen"
-#: ../../view/theme/redbasic/php/config.php:121
+#: ../../view/theme/redbasic/php/config.php:119
msgid "Set the basic color for item icons"
msgstr "Basiskleur itempictogrammen instellen"
-#: ../../view/theme/redbasic/php/config.php:122
+#: ../../view/theme/redbasic/php/config.php:120
msgid "Set the hover color for item icons"
msgstr "Hoverkleur itempictogrammen instellen"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Set font-size for the entire application"
msgstr "Tekstgrootte van de volledige applicatie instellen"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Example: 14px"
msgstr "Voorbeeld: 14px"
-#: ../../view/theme/redbasic/php/config.php:125
+#: ../../view/theme/redbasic/php/config.php:123
msgid "Set font-color for posts and comments"
msgstr "Tekstkleur van berichten en reacties"
-#: ../../view/theme/redbasic/php/config.php:126
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Set radius of corners"
msgstr "Radius van hoeken instellen"
-#: ../../view/theme/redbasic/php/config.php:127
+#: ../../view/theme/redbasic/php/config.php:125
msgid "Set shadow depth of photos"
msgstr "Schaduwdiepte van foto's instellen"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Set maximum width of content region in pixel"
msgstr "Maximumbreedte conversatieruimte instellen (in pixels)"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Leave empty for default width"
msgstr "Laat leeg voor standaardbreedte"
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:127
msgid "Center page content"
msgstr "Inhoud centreren"
-#: ../../view/theme/redbasic/php/config.php:130
+#: ../../view/theme/redbasic/php/config.php:128
msgid "Set minimum opacity of nav bar - to hide it"
msgstr "Minimale ondoorzichtigheid navigatiebalk (- om te verbergen)"
-#: ../../view/theme/redbasic/php/config.php:131
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Set size of conversation author photo"
msgstr "Grootte profielfoto's van berichten instellen"
-#: ../../view/theme/redbasic/php/config.php:132
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Set size of followup author photos"
msgstr "Grootte profielfoto's van reacties instellen"
-#: ../../boot.php:1356
+#: ../../boot.php:1345
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Update %s mislukt. Zie foutenlogboek."
-#: ../../boot.php:1359
+#: ../../boot.php:1348
#, php-format
msgid "Update Error at %s"
msgstr "Update-fout op %s"
-#: ../../boot.php:1526
+#: ../../boot.php:1515
msgid ""
"Create an account to access services and applications within the Red Matrix"
msgstr "Maak een account aan om toegang te krijgen tot diensten en toepassingen van $Projectname"
-#: ../../boot.php:1554
+#: ../../boot.php:1543
msgid "Password"
msgstr "Wachtwoord"
-#: ../../boot.php:1555
+#: ../../boot.php:1544
msgid "Remember me"
msgstr "Aangemeld blijven"
-#: ../../boot.php:1558
+#: ../../boot.php:1547
msgid "Forgot your password?"
msgstr "Wachtwoord vergeten?"
-#: ../../boot.php:2178
+#: ../../boot.php:2166
msgid "toggle mobile"
msgstr "mobiele weergave omschakelen"
-#: ../../boot.php:2313
+#: ../../boot.php:2301
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Het SSL-certificaat van deze website is ongeldig. Corrigeer dit a.u.b."
-#: ../../boot.php:2316
+#: ../../boot.php:2304
#, php-format
msgid "[red] Website SSL error for %s"
msgstr "[red] Probleem met SSL-certificaat voor %s"
-#: ../../boot.php:2353
+#: ../../boot.php:2341
msgid "Cron/Scheduled tasks not running."
msgstr "Cron is niet actief"
-#: ../../boot.php:2357
+#: ../../boot.php:2345
#, php-format
msgid "[red] Cron tasks not running on %s"
msgstr "[red] Cron-taken zijn niet actief op %s"
diff --git a/view/nl/strings.php b/view/nl/strings.php
index 2c0da4cef..37bb0c32b 100644
--- a/view/nl/strings.php
+++ b/view/nl/strings.php
@@ -7,28 +7,9 @@ function string_plural_select_nl($n){
;
$a->strings["Cannot locate DNS info for database server '%s'"] = "Kan DNS-informatie voor databaseserver '%s' niet vinden";
$a->strings["Profile Photos"] = "Profielfoto's";
-$a->strings["Edit"] = "Bewerken";
-$a->strings["Frequently"] = "Regelmatig";
-$a->strings["Hourly"] = "Elk uur";
-$a->strings["Twice daily"] = "Twee keer per dag";
-$a->strings["Daily"] = "Dagelijks";
-$a->strings["Weekly"] = "Wekelijks";
-$a->strings["Monthly"] = "Maandelijks";
-$a->strings["Friendica"] = "Friendica";
-$a->strings["OStatus"] = "OStatus";
-$a->strings["RSS/Atom"] = "RSS/Atom";
-$a->strings["Email"] = "E-mail";
-$a->strings["Diaspora"] = "Diaspora";
-$a->strings["Facebook"] = "Facebook";
-$a->strings["Zot!"] = "Zot!";
-$a->strings["LinkedIn"] = "LinkedIn";
-$a->strings["XMPP/IM"] = "XMPP/IM";
-$a->strings["MySpace"] = "MySpace";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. ";
$a->strings["created a new post"] = "maakte een nieuw bericht aan";
$a->strings["commented on %s's post"] = "gaf een reactie op een bericht van %s";
-$a->strings["No username found in import file."] = "Geen gebruikersnaam in het importbestand gevonden.";
-$a->strings["Unable to create a unique channel address. Import failed."] = "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt.";
-$a->strings["Import completed."] = "Import voltooid.";
$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken.";
$a->strings["Default privacy group for new contacts"] = "Standaard privacy-collectie voor nieuwe kanalen";
$a->strings["All Channels"] = "Alle kanalen";
@@ -78,13 +59,8 @@ $a->strings["seconds"] = "seconden";
$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
$a->strings["%1\$s's birthday"] = "Verjaardag van %1\$s";
$a->strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s";
-$a->strings["Directory Options"] = "Opties kanalengids";
-$a->strings["Safe Mode"] = "Veilig zoeken";
-$a->strings["No"] = "Nee";
-$a->strings["Yes"] = "Ja";
-$a->strings["Public Forums Only"] = "Alleen openbare forums";
-$a->strings["This Website Only"] = "Alleen deze hub";
$a->strings["New Page"] = "Nieuwe pagina";
+$a->strings["Edit"] = "Bewerken";
$a->strings["View"] = "Weergeven";
$a->strings["Preview"] = "Voorvertoning";
$a->strings["Actions"] = "Acties";
@@ -94,6 +70,20 @@ $a->strings["Created"] = "Aangemaakt";
$a->strings["Edited"] = "Bewerkt";
$a->strings["Public Timeline"] = "Openbare tijdlijn";
$a->strings["Default"] = "Standaard";
+$a->strings["Directory Options"] = "Opties kanalengids";
+$a->strings["Alphabetic"] = "Alfabetisch";
+$a->strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch";
+$a->strings["Newest to Oldest"] = "Nieuw naar oud";
+$a->strings["Oldest to Newest"] = "Oud naar nieuw";
+$a->strings["Sort"] = "Sorteren";
+$a->strings["Safe Mode"] = "Veilig zoeken";
+$a->strings["Public Forums Only"] = "Alleen openbare forums";
+$a->strings["This Website Only"] = "Alleen deze hub";
+$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
+$a->strings["Starts:"] = "Start:";
+$a->strings["Finishes:"] = "Einde:";
+$a->strings["Location:"] = "Plaats:";
+$a->strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
$a->strings["Delete this item?"] = "Dit item verwijderen?";
$a->strings["Comment"] = "Reactie";
$a->strings["[+] show all"] = "[+] alle";
@@ -131,95 +121,8 @@ $a->strings["about a year"] = "ongeveer een jaar";
$a->strings["%d years"] = "%d jaren";
$a->strings[" "] = " ";
$a->strings["timeago.numbers"] = "timeago.numbers";
-$a->strings["prev"] = "vorige";
-$a->strings["first"] = "eerste";
-$a->strings["last"] = "laatste";
-$a->strings["next"] = "volgende";
-$a->strings["older"] = "ouder";
-$a->strings["newer"] = "nieuwer";
-$a->strings["No connections"] = "Geen connecties";
-$a->strings["%d Connection"] = array(
- 0 => "%d connectie",
- 1 => "%d connecties",
-);
-$a->strings["View Connections"] = "Connecties weergeven";
-$a->strings["Search"] = "Zoeken";
-$a->strings["Save"] = "Opslaan";
-$a->strings["poke"] = "aanstoten";
-$a->strings["poked"] = "aangestoten";
-$a->strings["ping"] = "ping";
-$a->strings["pinged"] = "gepingd";
-$a->strings["prod"] = "por";
-$a->strings["prodded"] = "gepord";
-$a->strings["slap"] = "slaan";
-$a->strings["slapped"] = "sloeg";
-$a->strings["finger"] = "finger";
-$a->strings["fingered"] = "gefingerd";
-$a->strings["rebuff"] = "afpoeieren";
-$a->strings["rebuffed"] = "afgepoeierd";
-$a->strings["happy"] = "gelukkig";
-$a->strings["sad"] = "bedroefd";
-$a->strings["mellow"] = "mellow";
-$a->strings["tired"] = "moe";
-$a->strings["perky"] = "parmantig";
-$a->strings["angry"] = "boos";
-$a->strings["stupified"] = "beteuterd";
-$a->strings["puzzled"] = "verward";
-$a->strings["interested"] = "geïnteresseerd";
-$a->strings["bitter"] = "verbitterd";
-$a->strings["cheerful"] = "vrolijk";
-$a->strings["alive"] = "levendig";
-$a->strings["annoyed"] = "geërgerd";
-$a->strings["anxious"] = "bezorgd";
-$a->strings["cranky"] = "humeurig";
-$a->strings["disturbed"] = "verontrust";
-$a->strings["frustrated"] = "gefrustreerd ";
-$a->strings["depressed"] = "gedeprimeerd";
-$a->strings["motivated"] = "gemotiveerd";
-$a->strings["relaxed"] = "ontspannen";
-$a->strings["surprised"] = "verrast";
-$a->strings["Monday"] = "maandag";
-$a->strings["Tuesday"] = "dinsdag";
-$a->strings["Wednesday"] = "woensdag";
-$a->strings["Thursday"] = "donderdag";
-$a->strings["Friday"] = "vrijdag";
-$a->strings["Saturday"] = "zaterdag";
-$a->strings["Sunday"] = "zondag";
-$a->strings["January"] = "januari";
-$a->strings["February"] = "februari";
-$a->strings["March"] = "maart";
-$a->strings["April"] = "april";
-$a->strings["May"] = "mei";
-$a->strings["June"] = "juni";
-$a->strings["July"] = "juli";
-$a->strings["August"] = "augustus";
-$a->strings["September"] = "september";
-$a->strings["October"] = "oktober";
-$a->strings["November"] = "november";
-$a->strings["December"] = "december";
-$a->strings["unknown.???"] = "onbekend.???";
-$a->strings["bytes"] = "bytes";
-$a->strings["remove category"] = "categorie verwijderen";
-$a->strings["remove from file"] = "uit map verwijderen";
-$a->strings["Click to open/close"] = "Klik om te openen of te sluiten";
-$a->strings["Link to Source"] = "Originele locatie";
-$a->strings["default"] = "standaard";
-$a->strings["Page layout"] = "Pagina-lay-out";
-$a->strings["You can create your own with the layouts tool"] = "Je kan jouw eigen lay-out ontwerpen onder lay-outs";
-$a->strings["Page content type"] = "Opmaaktype pagina";
-$a->strings["Select an alternate language"] = "Kies een andere taal";
-$a->strings["photo"] = "foto";
-$a->strings["event"] = "gebeurtenis";
-$a->strings["status"] = "bericht";
-$a->strings["comment"] = "reactie";
-$a->strings["activity"] = "activiteit";
-$a->strings["Design Tools"] = "Ontwerp-hulpmiddelen";
-$a->strings["Blocks"] = "Blokken";
-$a->strings["Menus"] = "Menu's";
-$a->strings["Layouts"] = "Lay-outs";
-$a->strings["Pages"] = "Pagina's";
-$a->strings["Collection"] = "map";
$a->strings["parent"] = "omhoog";
+$a->strings["Collection"] = "map";
$a->strings["Principal"] = "principal";
$a->strings["Addressbook"] = "Adresboek";
$a->strings["Calendar"] = "Agenda";
@@ -242,11 +145,6 @@ $a->strings["Create new folder"] = "Nieuwe map aanmaken";
$a->strings["Upload file"] = "Bestand uploaden";
$a->strings["%1\$s's bookmarks"] = "Bladwijzers van %1\$s";
$a->strings["view full size"] = "volledige grootte tonen";
-$a->strings["\$Projectname Notification"] = "\$Projectname-notificatie";
-$a->strings["\$projectname"] = "\$projectname";
-$a->strings["Thank You,"] = "Bedankt,";
-$a->strings["%s Administrator"] = "Beheerder %s";
-$a->strings["No Subject"] = "Geen onderwerp";
$a->strings["General Features"] = "Algemene functies";
$a->strings["Content Expiration"] = "Inhoud laten verlopen";
$a->strings["Remove posts/comments and/or private messages at a future time"] = "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen";
@@ -292,8 +190,6 @@ $a->strings["Network New Tab"] = "Nieuwe netwerktab";
$a->strings["Enable tab to display all new Network activity"] = "Laat de tab alle nieuwe netwerkactiviteit tonen";
$a->strings["Affinity Tool"] = "Verwantschapsfilter";
$a->strings["Filter stream activity by depth of relationships"] = "Filter wat je in de Matrix ziet op hoe goed je iemand kent of mag";
-$a->strings["Connection Filtering"] = "berichtenfilters";
-$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filter binnenkomende berichten van connecties aan de hand van trefwoorden/inhoud";
$a->strings["Suggest Channels"] = "Kanalen voorstellen";
$a->strings["Show channel suggestions"] = "Voor jou mogelijk interessante kanalen voorstellen";
$a->strings["Post/Comment Tools"] = "Bericht- en reactiehulpmiddelen";
@@ -324,6 +220,7 @@ $a->strings["Add New Connection"] = "Nieuwe connectie toevoegen";
$a->strings["Enter the channel address"] = "Vul het adres van het nieuwe kanaal in";
$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Voorbeeld: bob@example.com, http://example.com/barbara";
$a->strings["Notes"] = "Aantekeningen";
+$a->strings["Save"] = "Opslaan";
$a->strings["Remove term"] = "Verwijder zoekterm";
$a->strings["Everything"] = "Alles";
$a->strings["Archives"] = "Archieven";
@@ -353,11 +250,10 @@ $a->strings["photo/image"] = "foto/afbeelding";
$a->strings["Rate Me"] = "Beoordeel mij";
$a->strings["View Ratings"] = "Bekijk beoordelingen";
$a->strings["Public Hubs"] = "Openbare hubs";
-$a->strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
-$a->strings["Starts:"] = "Start:";
-$a->strings["Finishes:"] = "Einde:";
-$a->strings["Location:"] = "Plaats:";
-$a->strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
+$a->strings["\$Projectname Notification"] = "\$Projectname-notificatie";
+$a->strings["\$projectname"] = "\$projectname";
+$a->strings["Thank You,"] = "Bedankt,";
+$a->strings["%s Administrator"] = "Beheerder %s";
$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Notificatie] Nieuw privébericht ontvangen op %s";
$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s zond jou een nieuw privébericht om %3\$s.";
@@ -394,21 +290,31 @@ $a->strings["Name:"] = "Naam:";
$a->strings["Photo:"] = "Foto:";
$a->strings["Please visit %s to approve or reject the suggestion."] = "Bezoek %s om het voorstel te accepteren of af te wijzen.";
$a->strings["[Red:Notify]"] = "[Red:Notificatie]";
+$a->strings["Frequently"] = "Regelmatig";
+$a->strings["Hourly"] = "Elk uur";
+$a->strings["Twice daily"] = "Twee keer per dag";
+$a->strings["Daily"] = "Dagelijks";
+$a->strings["Weekly"] = "Wekelijks";
+$a->strings["Monthly"] = "Maandelijks";
+$a->strings["Friendica"] = "Friendica";
+$a->strings["OStatus"] = "OStatus";
+$a->strings["RSS/Atom"] = "RSS/Atom";
+$a->strings["Email"] = "E-mail";
+$a->strings["Diaspora"] = "Diaspora";
+$a->strings["Facebook"] = "Facebook";
+$a->strings["Zot!"] = "Zot!";
+$a->strings["LinkedIn"] = "LinkedIn";
+$a->strings["XMPP/IM"] = "XMPP/IM";
+$a->strings["MySpace"] = "MySpace";
$a->strings["No recipient provided."] = "Geen ontvanger opgegeven.";
$a->strings["[no subject]"] = "[geen onderwerp]";
$a->strings["Unable to determine sender."] = "Afzender kan niet bepaald worden.";
$a->strings["Stored post could not be verified."] = "Opgeslagen bericht kon niet worden geverifieerd.";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s leuk";
-$a->strings["Please choose"] = "Maak een keuze";
-$a->strings["Agree"] = "Eens";
-$a->strings["Disagree"] = "Oneens";
-$a->strings["Abstain"] = "onthouding";
$a->strings["Channel is blocked on this site."] = "Kanaal is op deze hub geblokkeerd.";
$a->strings["Channel location missing."] = "Ontbrekende kanaallocatie.";
$a->strings["Response from remote channel was incomplete."] = "Antwoord van het kanaal op afstand was niet volledig.";
$a->strings["Channel was deleted and no longer exists."] = "Kanaal is verwijderd en bestaat niet meer.";
$a->strings["Protocol disabled."] = "Protocol uitgeschakeld.";
-$a->strings["Protocol blocked for this channel."] = "Dit protocol is voor dit kanaal niet toegestaan.";
$a->strings["Channel discovery failed."] = "Kanaal ontdekken mislukt.";
$a->strings["local account not found."] = "lokale account niet gevonden.";
$a->strings["Cannot connect to yourself."] = "Kan niet met jezelf verbinden";
@@ -477,6 +383,92 @@ $a->strings["Open the selected location in a different window or browser tab"] =
$a->strings["User '%s' deleted"] = "Account '%s' verwijderd";
$a->strings["Attachments:"] = "Bijlagen:";
$a->strings["\$Projectname event notification:"] = "Notificatie -gebeurtenis:";
+$a->strings["prev"] = "vorige";
+$a->strings["first"] = "eerste";
+$a->strings["last"] = "laatste";
+$a->strings["next"] = "volgende";
+$a->strings["older"] = "ouder";
+$a->strings["newer"] = "nieuwer";
+$a->strings["No connections"] = "Geen connecties";
+$a->strings["%d Connection"] = array(
+ 0 => "%d connectie",
+ 1 => "%d connecties",
+);
+$a->strings["View Connections"] = "Connecties weergeven";
+$a->strings["Search"] = "Zoeken";
+$a->strings["poke"] = "aanstoten";
+$a->strings["poked"] = "aangestoten";
+$a->strings["ping"] = "ping";
+$a->strings["pinged"] = "gepingd";
+$a->strings["prod"] = "por";
+$a->strings["prodded"] = "gepord";
+$a->strings["slap"] = "slaan";
+$a->strings["slapped"] = "sloeg";
+$a->strings["finger"] = "finger";
+$a->strings["fingered"] = "gefingerd";
+$a->strings["rebuff"] = "afpoeieren";
+$a->strings["rebuffed"] = "afgepoeierd";
+$a->strings["happy"] = "gelukkig";
+$a->strings["sad"] = "bedroefd";
+$a->strings["mellow"] = "mellow";
+$a->strings["tired"] = "moe";
+$a->strings["perky"] = "parmantig";
+$a->strings["angry"] = "boos";
+$a->strings["stupified"] = "beteuterd";
+$a->strings["puzzled"] = "verward";
+$a->strings["interested"] = "geïnteresseerd";
+$a->strings["bitter"] = "verbitterd";
+$a->strings["cheerful"] = "vrolijk";
+$a->strings["alive"] = "levendig";
+$a->strings["annoyed"] = "geërgerd";
+$a->strings["anxious"] = "bezorgd";
+$a->strings["cranky"] = "humeurig";
+$a->strings["disturbed"] = "verontrust";
+$a->strings["frustrated"] = "gefrustreerd ";
+$a->strings["depressed"] = "gedeprimeerd";
+$a->strings["motivated"] = "gemotiveerd";
+$a->strings["relaxed"] = "ontspannen";
+$a->strings["surprised"] = "verrast";
+$a->strings["Monday"] = "maandag";
+$a->strings["Tuesday"] = "dinsdag";
+$a->strings["Wednesday"] = "woensdag";
+$a->strings["Thursday"] = "donderdag";
+$a->strings["Friday"] = "vrijdag";
+$a->strings["Saturday"] = "zaterdag";
+$a->strings["Sunday"] = "zondag";
+$a->strings["January"] = "januari";
+$a->strings["February"] = "februari";
+$a->strings["March"] = "maart";
+$a->strings["April"] = "april";
+$a->strings["May"] = "mei";
+$a->strings["June"] = "juni";
+$a->strings["July"] = "juli";
+$a->strings["August"] = "augustus";
+$a->strings["September"] = "september";
+$a->strings["October"] = "oktober";
+$a->strings["November"] = "november";
+$a->strings["December"] = "december";
+$a->strings["unknown.???"] = "onbekend.???";
+$a->strings["bytes"] = "bytes";
+$a->strings["remove category"] = "categorie verwijderen";
+$a->strings["remove from file"] = "uit map verwijderen";
+$a->strings["Click to open/close"] = "Klik om te openen of te sluiten";
+$a->strings["Link to Source"] = "Originele locatie";
+$a->strings["default"] = "standaard";
+$a->strings["Page layout"] = "Pagina-lay-out";
+$a->strings["You can create your own with the layouts tool"] = "Je kan jouw eigen lay-out ontwerpen onder lay-outs";
+$a->strings["Page content type"] = "Opmaaktype pagina";
+$a->strings["Select an alternate language"] = "Kies een andere taal";
+$a->strings["photo"] = "foto";
+$a->strings["event"] = "gebeurtenis";
+$a->strings["status"] = "bericht";
+$a->strings["comment"] = "reactie";
+$a->strings["activity"] = "activiteit";
+$a->strings["Design Tools"] = "Ontwerp-hulpmiddelen";
+$a->strings["Blocks"] = "Blokken";
+$a->strings["Menus"] = "Menu's";
+$a->strings["Layouts"] = "Lay-outs";
+$a->strings["Pages"] = "Pagina's";
$a->strings["Logout"] = "Uitloggen";
$a->strings["End this session"] = "Beëindig deze sessie";
$a->strings["Home"] = "Home";
@@ -552,7 +544,32 @@ $a->strings["public profile"] = "openbaar profiel";
$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s veranderde %2\$s naar &ldquo;%3\$s&rdquo;";
$a->strings["Visit %1\$s's %2\$s"] = "Bezoek het %2\$s van %1\$s";
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepaste %2\$s, %3\$s veranderd.";
-$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. ";
+$a->strings["Image/photo"] = "Afbeelding/foto";
+$a->strings["Encrypted content"] = "Versleutelde inhoud";
+$a->strings["Install design element: "] = "Installeer ontwerpelement: ";
+$a->strings["QR code"] = "QR-code";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s";
+$a->strings["post"] = "bericht";
+$a->strings["Different viewers will see this text differently"] = "Deze tekst wordt per persoon anders weergeven.";
+$a->strings["$1 spoiler"] = "$1 spoiler";
+$a->strings["$1 wrote:"] = "$1 schreef:";
+$a->strings["Permission denied"] = "Toegang geweigerd";
+$a->strings["(Unknown)"] = "(Onbekend)";
+$a->strings["Visible to anybody on the internet."] = "Voor iedereen op het internet zichtbaar.";
+$a->strings["Visible to you only."] = "Alleen voor jou zichtbaar.";
+$a->strings["Visible to anybody in this network."] = "Voor iedereen in dit netwerk zichtbaar.";
+$a->strings["Visible to anybody authenticated."] = "Voor iedereen die geauthenticeerd is zichtbaar.";
+$a->strings["Visible to anybody on %s."] = "Voor iedereen op %s zichtbaar.";
+$a->strings["Visible to all connections."] = "Voor alle connecties zichtbaar.";
+$a->strings["Visible to approved connections."] = "Voor alle goedgekeurde connecties zichtbaar.";
+$a->strings["Visible to specific connections."] = "Voor specifieke connecties zichtbaar.";
+$a->strings["Item not found."] = "Item niet gevonden.";
+$a->strings["Permission denied."] = "Toegang geweigerd";
+$a->strings["Collection not found."] = "Collectie niet gevonden.";
+$a->strings["Collection is empty."] = "Collectie is leeg";
+$a->strings["Collection: %s"] = "Collectie: %s";
+$a->strings["Connection: %s"] = "Connectie: %s";
+$a->strings["Connection not found."] = "Connectie niet gevonden.";
$a->strings["Can view my normal stream and posts"] = "Kan mijn normale kanaalstream en berichten bekijken";
$a->strings["Can view my default channel profile"] = "Kan mijn standaard kanaalprofiel bekijken";
$a->strings["Can view my photo albums"] = "Kan mijn fotoalbums bekijken";
@@ -587,6 +604,7 @@ $a->strings["Group Repository"] = "Groepsopslag";
$a->strings["Other"] = "Anders";
$a->strings["Custom/Expert Mode"] = "Expertmodus/handmatig aanpassen";
$a->strings["channel"] = "kanaal";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s leuk";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s niet leuk";
$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s is nu met %2\$s verbonden";
$a->strings["%1\$s poked %2\$s"] = "%1\$s heeft %2\$s aangestoten";
@@ -595,7 +613,7 @@ $a->strings["__ctx:title__ Likes"] = "vinden dit leuk";
$a->strings["__ctx:title__ Dislikes"] = "vinden dit niet leuk";
$a->strings["__ctx:title__ Agree"] = "eens";
$a->strings["__ctx:title__ Disagree"] = "oneens";
-$a->strings["__ctx:title__ Abstain"] = "onthouding";
+$a->strings["__ctx:title__ Abstain"] = "onthoudingen";
$a->strings["__ctx:title__ Attending"] = "aanwezig";
$a->strings["__ctx:title__ Not attending"] = "niet aanwezig";
$a->strings["__ctx:title__ Might attend"] = "mogelijk aanwezig";
@@ -711,23 +729,11 @@ $a->strings["__ctx:noun__ Abstain"] = array(
0 => "onthouding",
1 => "onthoudingen",
);
-$a->strings["Permission denied"] = "Toegang geweigerd";
-$a->strings["(Unknown)"] = "(Onbekend)";
-$a->strings["Visible to anybody on the internet."] = "Voor iedereen op het internet zichtbaar.";
-$a->strings["Visible to you only."] = "Alleen voor jou zichtbaar.";
-$a->strings["Visible to anybody in this network."] = "Voor iedereen in dit netwerk zichtbaar.";
-$a->strings["Visible to anybody authenticated."] = "Voor iedereen die geauthenticeerd is zichtbaar.";
-$a->strings["Visible to anybody on %s."] = "Voor iedereen op %s zichtbaar.";
-$a->strings["Visible to all connections."] = "Voor alle connecties zichtbaar.";
-$a->strings["Visible to approved connections."] = "Voor alle goedgekeurde connecties zichtbaar.";
-$a->strings["Visible to specific connections."] = "Voor specifieke connecties zichtbaar.";
-$a->strings["Item not found."] = "Item niet gevonden.";
-$a->strings["Permission denied."] = "Toegang geweigerd";
-$a->strings["Collection not found."] = "Collectie niet gevonden.";
-$a->strings["Collection is empty."] = "Collectie is leeg";
-$a->strings["Collection: %s"] = "Collectie: %s";
-$a->strings["Connection: %s"] = "Connectie: %s";
-$a->strings["Connection not found."] = "Connectie niet gevonden.";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
+$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
+$a->strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
+$a->strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
+$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden";
$a->strings["Invalid data packet"] = "Datapakket ongeldig";
$a->strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
$a->strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
@@ -900,30 +906,16 @@ $a->strings["Profile Photo"] = "Profielfoto";
$a->strings["Update"] = "Bijwerken";
$a->strings["Install"] = "Installeren";
$a->strings["Purchase"] = "Aanschaffen";
-$a->strings["Image/photo"] = "Afbeelding/foto";
-$a->strings["Encrypted content"] = "Versleutelde inhoud";
-$a->strings["Install %s element: "] = "Installeer %s-element: ";
-$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren.";
-$a->strings["webpage"] = "Webpagina";
-$a->strings["layout"] = "lay-out";
-$a->strings["block"] = "blok";
-$a->strings["menu"] = "menu";
-$a->strings["QR code"] = "QR-code";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s";
-$a->strings["post"] = "bericht";
-$a->strings["Different viewers will see this text differently"] = "Deze tekst wordt per persoon anders weergeven.";
-$a->strings["$1 spoiler"] = "$1 spoiler";
-$a->strings["$1 wrote:"] = "$1 schreef:";
$a->strings["Missing room name"] = "Naam chatkanaal ontbreekt";
$a->strings["Duplicate room name"] = "Naam chatkanaal bestaat al";
$a->strings["Invalid room specifier."] = "Ongeldige omschrijving chatkanaal";
$a->strings["Room not found."] = "Chatkanaal niet gevonden";
$a->strings["Room is full"] = "Chatkanaal is vol";
-$a->strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
-$a->strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
-$a->strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
-$a->strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
-$a->strings["Upload New Photos"] = "Nieuwe foto's uploaden";
+$a->strings["Please choose"] = "Maak een keuze";
+$a->strings["Agree"] = "Eens";
+$a->strings["Disagree"] = "Oneens";
+$a->strings["Abstain"] = "onthouding";
+$a->strings["projectname"] = "projectname";
$a->strings["Some blurb about what to do when you're new here"] = "Welkom op \$Projectname. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook <a href=\"directory\">apps</a>, waar je vrijwel alle functies van \$Projectname kunt vinden. Voor <a href=\"directory\">hulp</a> met \$Projectname klik je op het vraagteken.";
$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt.";
$a->strings["Create a new channel"] = "Nieuw kanaal aanmaken";
@@ -934,30 +926,149 @@ $a->strings["Make Default"] = "Als standaard instellen";
$a->strings["%d new messages"] = "%d nieuwe berichten";
$a->strings["%d new introductions"] = "%d nieuwe connectieverzoeken";
$a->strings["Delegated Channels"] = "Uitbestede kanalen";
-$a->strings["Public access denied."] = "Openbare toegang geweigerd.";
-$a->strings["%d rating"] = array(
- 0 => "%d beoordeling",
- 1 => "%d beoordelingen",
-);
-$a->strings["Gender: "] = "Geslacht:";
-$a->strings["Status: "] = "Status: ";
-$a->strings["Homepage: "] = "Homepagina: ";
-$a->strings["Description:"] = "Omschrijving:";
-$a->strings["Public Forum:"] = "Openbaar forum:";
-$a->strings["Keywords: "] = "Trefwoorden: ";
-$a->strings["Don't suggest"] = "Niet voorstellen";
-$a->strings["Common connections:"] = "Gemeenschappelijke connecties:";
-$a->strings["Global Directory"] = "Volledige kanalengids";
-$a->strings["Local Directory"] = "Lokale kanalengids";
-$a->strings["Finding:"] = "Gezocht naar:";
-$a->strings["next page"] = "volgende pagina";
-$a->strings["previous page"] = "vorige pagina";
-$a->strings["Sort options"] = "Sorteeropties";
-$a->strings["Alphabetic"] = "Alfabetisch";
-$a->strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch";
-$a->strings["Newest to Oldest"] = "Nieuw naar oud";
-$a->strings["Oldest to Newest"] = "Oud naar nieuw";
-$a->strings["No entries (some entries may be hidden)."] = "Niets gevonden (sommige kanalen kunnen verborgen zijn).";
+$a->strings["Name is required"] = "Naam is vereist";
+$a->strings["Key and Secret are required"] = "Key en secret zijn vereist";
+$a->strings["Diaspora Policy Settings updated."] = "Beleidsinstellingen Diaspora bijgewerkt.";
+$a->strings["Passwords do not match. Password unchanged."] = "Wachtwoorden komen niet overeen. Wachtwoord onveranderd.";
+$a->strings["Empty passwords are not allowed. Password unchanged."] = "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd.";
+$a->strings["Password changed."] = "Wachtwoord veranderd.";
+$a->strings["Password update failed. Please try again."] = "Bijwerken wachtwoord mislukt. Probeer opnieuw.";
+$a->strings["Not valid email."] = "Geen geldig e-mailadres.";
+$a->strings["Protected email address. Cannot change to that email."] = "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken.";
+$a->strings["System failure storing new email. Please try again."] = "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer.";
+$a->strings["Settings updated."] = "Instellingen bijgewerkt.";
+$a->strings["No"] = "Nee";
+$a->strings["Yes"] = "Ja";
+$a->strings["Add application"] = "Applicatie toevoegen";
+$a->strings["Name of application"] = "Naam van applicatie";
+$a->strings["Consumer Key"] = "Consumer key";
+$a->strings["Automatically generated - change if desired. Max length 20"] = "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20";
+$a->strings["Consumer Secret"] = "Consumer secret";
+$a->strings["Redirect"] = "Redirect/doorverwijzing";
+$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist";
+$a->strings["Icon url"] = "URL van pictogram";
+$a->strings["Optional"] = "Optioneel";
+$a->strings["You can't edit this application."] = "Je kan deze applicatie niet bewerken";
+$a->strings["Connected Apps"] = "Verbonden applicaties";
+$a->strings["Client key starts with"] = "Client key begint met";
+$a->strings["No name"] = "Geen naam";
+$a->strings["Remove authorization"] = "Autorisatie verwijderen";
+$a->strings["No feature settings configured"] = "Geen extra functie- of plugin-instellingen";
+$a->strings["Feature/Addon Settings"] = "Extra functie- en plugin-instellingen";
+$a->strings["Settings for the built-in Diaspora emulator"] = "Instellingen voor de ingebouwde Diaspora-emulator";
+$a->strings["Allow any Diaspora member to comment on your public posts"] = "Sta toe dat elk Diaspora-lid op jouw openbare berichten kan reageren.";
+$a->strings["Diaspora Policy Settings"] = "Beleidsinstellingen Diaspora";
+$a->strings["Prevent your hashtags from being redirected to other sites"] = "Voorkom dat jouw tags naar andere websites worden doorverwezen";
+$a->strings["Account Settings"] = "Account-instellingen";
+$a->strings["Enter New Password:"] = "Nieuw wachtwoord invoeren:";
+$a->strings["Confirm New Password:"] = "Nieuw wachtwoord bevestigen:";
+$a->strings["Leave password fields blank unless changing"] = "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen";
+$a->strings["Email Address:"] = "E-mailadres:";
+$a->strings["Remove Account"] = "Account verwijderen";
+$a->strings["Remove this account including all its channels"] = "Dit account en al zijn kanalen verwijderen";
+$a->strings["Off"] = "Uit";
+$a->strings["On"] = "Aan";
+$a->strings["Additional Features"] = "Extra functies";
+$a->strings["Connector Settings"] = "Instellingen externe koppelingen";
+$a->strings["No special theme for mobile devices"] = "Geen speciaal thema voor mobiele apparaten";
+$a->strings["%s - (Experimental)"] = "%s - (experimenteel)";
+$a->strings["mobile"] = "mobiel";
+$a->strings["Display Settings"] = "Weergave-instellingen";
+$a->strings["Display Theme:"] = "Gebruik thema:";
+$a->strings["Mobile Theme:"] = "Mobiel thema:";
+$a->strings["Enable user zoom on mobile devices"] = "Inzoomen op smartphones en tablets toestaan";
+$a->strings["Update browser every xx seconds"] = "Ververs de webbrowser om de zoveel seconde";
+$a->strings["Minimum of 10 seconds, no maximum"] = "Minimaal 10 seconde, geen maximum";
+$a->strings["Maximum number of conversations to load at any time:"] = "Maximaal aantal conversaties die per keer geladen worden:";
+$a->strings["Maximum of 100 items"] = "Maximaal 100 conversaties";
+$a->strings["Show emoticons (smilies) as images"] = "Toon emoticons (smilies) als afbeeldingen";
+$a->strings["Link post titles to source"] = "Berichtkoppen naar originele locatie linken";
+$a->strings["System Page Layout Editor - (advanced)"] = "Lay-out bewerken van systeempagina's (geavanceerd)";
+$a->strings["Use blog/list mode on channel page"] = "Gebruik blog/lijst-modus op kanaalpagina";
+$a->strings["(comments displayed separately)"] = "(reacties worden afzonderlijk weergeven)";
+$a->strings["Use blog/list mode on matrix page"] = "Gebruik blog/lijst-modus op matrixpagina";
+$a->strings["Channel page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)";
+$a->strings["click to expand content exceeding this height"] = "klik om inhoud uit te klappen die deze hoogte overschrijdt";
+$a->strings["Matrix page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op matrixpagina (in pixels)";
+$a->strings["Nobody except yourself"] = "Niemand, behalve jezelf";
+$a->strings["Only those you specifically allow"] = "Alleen connecties met uitdrukkelijke toestemming";
+$a->strings["Approved connections"] = "Geaccepteerde connecties";
+$a->strings["Any connections"] = "Alle connecties";
+$a->strings["Anybody on this website"] = "Iedereen op deze hub";
+$a->strings["Anybody in this network"] = "Iedereen in dit netwerk";
+$a->strings["Anybody authenticated"] = "Geauthenticeerd";
+$a->strings["Anybody on the internet"] = "Iedereen op het internet";
+$a->strings["Publish your default profile in the network directory"] = "Publiceer je standaardprofiel in de kanalengids";
+$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen";
+$a->strings["or"] = "of";
+$a->strings["Your channel address is"] = "Jouw kanaaladres is";
+$a->strings["Channel Settings"] = "Kanaal-instellingen";
+$a->strings["Basic Settings"] = "Basis-instellingen";
+$a->strings["Your Timezone:"] = "Jouw tijdzone:";
+$a->strings["Default Post Location:"] = "Standaardlocatie bericht:";
+$a->strings["Geographical location to display on your posts"] = "Geografische locatie die bij het bericht moet worden vermeld";
+$a->strings["Use Browser Location:"] = "Locatie van webbrowser gebruiken:";
+$a->strings["Adult Content"] = "Inhoud voor volwassenen";
+$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassenen. (Gebruik de tag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)";
+$a->strings["Security and Privacy Settings"] = "Veiligheids- en privacy-instellingen";
+$a->strings["Your permissions are already configured. Click to view/adjust"] = "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen.";
+$a->strings["Hide my online presence"] = "Verberg mijn aanwezigheid";
+$a->strings["Prevents displaying in your profile that you are online"] = "Voorkomt dat op je kanaalpagina te zien valt dat je momenteel op \$Projectname aanwezig bent";
+$a->strings["Simple Privacy Settings:"] = "Eenvoudige privacy-instellingen:";
+$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>";
+$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>";
+$a->strings["Private - <em>default private, never open or public</em>"] = "Privé <em>(standaard privé en nooit openbaar)</em>";
+$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>";
+$a->strings["Allow others to tag your posts"] = "Anderen toestaan om je berichten te taggen";
+$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren";
+$a->strings["Advanced Privacy Settings"] = "Geavanceerde privacy-instellingen";
+$a->strings["Expire other channel content after this many days"] = "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:";
+$a->strings["0 or blank prevents expiration"] = "0 of leeg voorkomt het verlopen";
+$a->strings["Maximum Friend Requests/Day:"] = "Maximum aantal connectieverzoeken per dag:";
+$a->strings["May reduce spam activity"] = "Kan eventuele spam verminderen";
+$a->strings["Default Post Permissions"] = "Standaard permissies voor nieuwe berichten";
+$a->strings["(click to open/close)"] = "(klik om te openen/sluiten)";
+$a->strings["Channel permissions category:"] = "Kanaaltype en -permissies:";
+$a->strings["Maximum private messages per day from unknown people:"] = "Maximum aantal privé-berichten per dag van onbekende personen:";
+$a->strings["Useful to reduce spamming"] = "Kan eventuele spam verminderen";
+$a->strings["Notification Settings"] = "Notificatie-instellingen";
+$a->strings["By default post a status message when:"] = "Plaats automatisch een statusbericht wanneer:";
+$a->strings["accepting a friend request"] = "Een connectieverzoek wordt geaccepteerd";
+$a->strings["joining a forum/community"] = "Je lid wordt van een forum/groep";
+$a->strings["making an <em>interesting</em> profile change"] = "Er sprake is van een <em>interessante</em> profielwijziging";
+$a->strings["Send a notification email when:"] = "Verzend een notificatie per e-mail wanneer:";
+$a->strings["You receive a connection request"] = "Je een connectieverzoek ontvangt";
+$a->strings["Your connections are confirmed"] = "Jouw connecties zijn bevestigd";
+$a->strings["Someone writes on your profile wall"] = "Iemand iets op jouw kanaal heeft geschreven";
+$a->strings["Someone writes a followup comment"] = "Iemand een reactie schrijft";
+$a->strings["You receive a private message"] = "Je een privé-bericht ontvangt";
+$a->strings["You receive a friend suggestion"] = "Je een kanaalvoorstel ontvangt";
+$a->strings["You are tagged in a post"] = "Je expliciet in een bericht bent genoemd";
+$a->strings["You are poked/prodded/etc. in a post"] = "Je bent in een bericht aangestoten/gepord/etc.";
+$a->strings["Show visual notifications including:"] = "Toon de volgende zichtbare notificaties:";
+$a->strings["Unseen matrix activity"] = "Niet bekeken matrix-activiteit";
+$a->strings["Unseen channel activity"] = "Niet bekeken kanaal-activiteit";
+$a->strings["Unseen private messages"] = "Niet bekeken privéberichten";
+$a->strings["Recommended"] = "Aanbevolen";
+$a->strings["Upcoming events"] = "Aankomende gebeurtenissen";
+$a->strings["Events today"] = "Gebeurtissen van vandaag";
+$a->strings["Upcoming birthdays"] = "Aankomende verjaardagen";
+$a->strings["Not available in all themes"] = "Niet in alle thema's beschikbaar";
+$a->strings["System (personal) notifications"] = "(Persoonlijke) systeemnotificaties";
+$a->strings["System info messages"] = "Systeemmededelingen";
+$a->strings["System critical alerts"] = "Kritische systeemwaarschuwingen";
+$a->strings["New connections"] = "Nieuwe connecties";
+$a->strings["System Registrations"] = "Nieuwe accountregistraties op deze hub";
+$a->strings["Also show new wall posts, private messages and connections under Notices"] = "Toon tevens nieuwe kanaalberichten, privéberichten en connecties onder Notificaties";
+$a->strings["Notify me of events this many days in advance"] = "Herinner mij zoveel dagen van te voren aan gebeurtenissen";
+$a->strings["Must be greater than 0"] = "Moet hoger dan 0 zijn";
+$a->strings["Advanced Account/Page Type Settings"] = "Instellingen geavanceerd account/paginatype";
+$a->strings["Change the behaviour of this account for special situations"] = "Verander het gedrag van dit account voor speciale situaties";
+$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!";
+$a->strings["Miscellaneous Settings"] = "Diverse instellingen";
+$a->strings["Personal menu to display in your channel pages"] = "Persoonlijk menu om op je kanaalpagina's weer te geven";
+$a->strings["Remove Channel"] = "Kanaal verwijderen";
+$a->strings["Remove this channel."] = "Verwijder dit kanaal.";
$a->strings["Xchan Lookup"] = "Xchan opzoeken";
$a->strings["Lookup xchan beginning with (or webbie): "] = "Zoek een xchan (of webbie) die begint met:";
$a->strings["Not found."] = "Niet gevonden.";
@@ -996,6 +1107,8 @@ $a->strings["URL for photo of thing (optional)"] = "URL van foto van ding (optio
$a->strings["Add Thing to your Profile"] = "Ding aan je profiel toevoegen";
$a->strings["Item not available."] = "Item is niet aanwezig.";
$a->strings["Fetching URL returns error: %1\$s"] = "Ophalen URL gaf een foutmelding terug: %1\$s";
+$a->strings["\$Projectname"] = "\$Projectname";
+$a->strings["Welcome to %s"] = "Welkom op %s";
$a->strings["Image uploaded but image cropping failed."] = "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. ";
$a->strings["Image resize failed."] = "Afbeelding kon niet van grootte veranderd worden.";
$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven.";
@@ -1005,7 +1118,6 @@ $a->strings["Photo not available."] = "Foto niet beschikbaar.";
$a->strings["Upload File:"] = "Bestand uploaden:";
$a->strings["Select a profile:"] = "Kies een profiel:";
$a->strings["Upload Profile Photo"] = "Profielfoto uploaden";
-$a->strings["or"] = "of";
$a->strings["skip this step"] = "sla deze stap over";
$a->strings["select a photo from your photo albums"] = "Kies een foto uit jouw fotoalbums";
$a->strings["Crop Image"] = "Afbeelding bijsnijden";
@@ -1032,8 +1144,6 @@ $a->strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s is niet aanwezig op
$a->strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s is mogelijk aanwezig op %2\$s's %3\$s";
$a->strings["Action completed."] = "Actie voltooid";
$a->strings["Thank you."] = "Bedankt";
-$a->strings["Calendar entries imported."] = "Agenda-items geïmporteerd.";
-$a->strings["No calendar entries found."] = "Geen agenda-items gevonden.";
$a->strings["Event can not end before it has started."] = "Gebeurtenis kan niet eindigen voordat het is begonnen";
$a->strings["Unable to generate preview."] = "Niet in staat om voorvertoning te genereren";
$a->strings["Event title and start time are required."] = "Titel en begintijd van gebeurtenis zijn vereist.";
@@ -1041,12 +1151,10 @@ $a->strings["Event not found."] = "Gebeurtenis niet gevonden";
$a->strings["l, F j"] = "l j F";
$a->strings["Edit event"] = "Gebeurtenis bewerken";
$a->strings["Delete event"] = "Gebeurtenis verwijderen";
-$a->strings["calendar"] = "agenda";
$a->strings["Create New Event"] = "Nieuwe gebeurtenis aanmaken";
$a->strings["Previous"] = "Vorige";
$a->strings["Next"] = "Volgende";
$a->strings["Export"] = "Exporteren";
-$a->strings["Import"] = "Importeren";
$a->strings["Event removed"] = "Gebeurtenis verwijderd";
$a->strings["Failed to remove event"] = "Verwijderen gebeurtenis mislukt";
$a->strings["Event details"] = "Details van gebeurtenis";
@@ -1057,6 +1165,7 @@ $a->strings["Finish date/time is not known or not relevant"] = "Einddatum/-tijd
$a->strings["Event Finishes:"] = "Einde gebeurtenis:";
$a->strings["Adjust for viewer timezone"] = "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt";
$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen.";
+$a->strings["Description:"] = "Omschrijving:";
$a->strings["Title:"] = "Titel:";
$a->strings["Share this event"] = "Deel deze gebeurtenis";
$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %2\$s";
@@ -1087,32 +1196,97 @@ $a->strings["Click on a channel to add or remove."] = "Klik op een kanaal om dez
$a->strings["Version %s"] = "Versie %s";
$a->strings["Installed plugins/addons/apps:"] = "Ingeschakelde plug-ins/add-ons/apps:";
$a->strings["No installed plugins/addons/apps"] = "Geen ingeschakelde plug-ins/add-ons/apps";
-$a->strings["\$Projectname"] = "\$Projectname";
$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Dit is een \$Projectname-hub - \$Projectname is een wereldwijd coöperatief netwerk van gedecentraliseerde websites (hubs) met verbeterde privacy.";
$a->strings["Tag: "] = "Tag: ";
$a->strings["Last background fetch: "] = "Meest recente achtergrond-fetch:";
$a->strings["Running at web location"] = "Draaiend op weblocatie";
$a->strings["Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more about \$Projectname."] = "Bezoek <a href=\"https://redmatrix.me\">redmatrix.me</a> om meer over \$Projectname te leren.";
$a->strings["Bug reports and issues: please visit"] = "Bugrapporten en andere kwesties: bezoek";
-$a->strings["\$projectname issues"] = "\$projectname-issues";
$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist - punt - com";
$a->strings["Site Administrators"] = "Hubbeheerders: ";
-$a->strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. ";
-$a->strings["Empty post discarded."] = "Leeg bericht geannuleerd";
-$a->strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal.";
-$a->strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen.";
-$a->strings["Unable to obtain post information from database."] = "Niet in staat om informatie over dit bericht uit de database te verkrijgen.";
-$a->strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt.";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "Je hebt jouw limiet van %1$.0f webpagina's bereikt.";
-$a->strings["No such group"] = "Collectie niet gevonden";
-$a->strings["No such channel"] = "Niet zo'n kanaal";
-$a->strings["Search Results For:"] = "Zoekresultaten voor:";
-$a->strings["Collection is empty"] = "Collectie is leeg";
-$a->strings["Collection: "] = "Collectie: ";
-$a->strings["Connection: "] = "Connectie: ";
-$a->strings["Invalid connection."] = "Ongeldige connectie.";
+$a->strings["Help:"] = "Hulp:";
+$a->strings["Not Found"] = "Niet gevonden";
+$a->strings["\$Projectname Server - Setup"] = "\$Projectname Server - Setup";
+$a->strings["Could not connect to database."] = "Could not connect to database.";
+$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Could not connect to specified hub URL. Possible SSL certificate or DNS issue.";
+$a->strings["Could not create table."] = "Could not create table.";
+$a->strings["Your site database has been installed."] = "Your hub database has been installed.";
+$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "You may need to import the file \"install/schema_xxx.sql\" manually using a database client.";
+$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Please see the file \"install/INSTALL.txt\".";
+$a->strings["System check"] = "System check";
+$a->strings["Check again"] = "Check again";
+$a->strings["Database connection"] = "Database connection";
+$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "In order to install \$Projectname we need to know how to connect to your database.";
+$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Please contact your hosting provider or site administrator if you have questions about these settings.";
+$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "The database you specify below should already exist. If it does not, please create it before continuing.";
+$a->strings["Database Server Name"] = "Database Server Name";
+$a->strings["Default is localhost"] = "Default is localhost";
+$a->strings["Database Port"] = "Database Port";
+$a->strings["Communication port number - use 0 for default"] = "Communication port number - use 0 for default";
+$a->strings["Database Login Name"] = "Database Login Name";
+$a->strings["Database Login Password"] = "Database Login Password";
+$a->strings["Database Name"] = "Database Name";
+$a->strings["Database Type"] = "Database Type";
+$a->strings["Site administrator email address"] = "Hub administrator email address";
+$a->strings["Your account email address must match this in order to use the web admin panel."] = "Your account email address must match this in order to use the web admin panel.";
+$a->strings["Website URL"] = "Hub URL";
+$a->strings["Please use SSL (https) URL if available."] = "Please use SSL (https) URL if available.";
+$a->strings["Please select a default timezone for your website"] = "Please select a default timezone for your hub";
+$a->strings["Site settings"] = "Hub settings";
+$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Could not find a command line version of PHP in the web server PATH.";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron.";
+$a->strings["PHP executable path"] = "PHP executable path";
+$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Enter full path to php executable. You can leave this blank to continue the installation.";
+$a->strings["Command line PHP"] = "Command line PHP";
+$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "The command line version of PHP on your system does not have \"register_argc_argv\" enabled.";
+$a->strings["This is required for message delivery to work."] = "This is required for message delivery to work.";
+$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys";
+$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\".";
+$a->strings["Generate encryption keys"] = "Generate encryption keys";
+$a->strings["libCurl PHP module"] = "libCurl PHP module";
+$a->strings["GD graphics PHP module"] = "GD graphics PHP module";
+$a->strings["OpenSSL PHP module"] = "OpenSSL PHP module";
+$a->strings["mysqli or postgres PHP module"] = "mysqli or postgres PHP module";
+$a->strings["mb_string PHP module"] = "mb_string PHP module";
+$a->strings["mcrypt PHP module"] = "mcrypt PHP module";
+$a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite module";
+$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Error: Apache webserver mod-rewrite module is required but not installed.";
+$a->strings["proc_open"] = "proc_open";
+$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Error: proc_open is required but is either not installed or has been disabled in php.ini";
+$a->strings["Error: libCURL PHP module required but not installed."] = "Error: libCURL PHP module required but not installed.";
+$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: GD graphics PHP module with JPEG support required but not installed.";
+$a->strings["Error: openssl PHP module required but not installed."] = "Error: openssl PHP module required but not installed.";
+$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: mysqli or postgres PHP module required but neither are installed.";
+$a->strings["Error: mb_string PHP module required but not installed."] = "Error: mb_string PHP module required but not installed.";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "Error: mcrypt PHP module required but not installed.";
+$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so.";
+$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.";
+$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder.";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions.";
+$a->strings[".htconfig.php is writable"] = ".htconfig.php is writable";
+$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder.";
+$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder.";
+$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains.";
+$a->strings["%s is writable"] = "%s is writable";
+$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder";
+$a->strings["store is writable"] = "store is writable";
+$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "SSL certificate cannot be validated. Fix certificate or disable https access to this hub.";
+$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "If you have https access to your hub or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!";
+$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "This restriction is incorporated because public posts from you may for example contain references to images on your own hub.";
+$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "If your certificate is not recognized, members of other hubs (who may themselves have valid certificates) will get a warning message on their own hub complaining about security issues.";
+$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement.";
+$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Providers are available that issue free certificates which are browser-valid.";
+$a->strings["SSL certificate validation"] = "SSL certificate validation";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Url rewrite in .htaccess is not working. Check your server configuration.Test: ";
+$a->strings["Url rewrite is working"] = "Url rewrite is working";
+$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root.";
+$a->strings["Errors encountered creating database tables."] = "Errors encountered creating database tables.";
+$a->strings["<h1>What next</h1>"] = "<h1>Wat nu</h1>";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT: You will need to [manually] setup a scheduled task for the poller.";
$a->strings["No channel."] = "Geen kanaal.";
-$a->strings["Common connections"] = "Gemeenschappelijke connecties";
+$a->strings["Common connections"] = "Veel voorkomende connecties";
$a->strings["No connections in common."] = "Geen gemeenschappelijke connecties.";
$a->strings["This site is not a directory server"] = "Deze hub is geen kanalengidshub (directoryserver)";
$a->strings["Could not access contact record."] = "Kon geen toegang krijgen tot de connectie-gegevens.";
@@ -1140,17 +1314,13 @@ $a->strings["Search your connections"] = "Doorzoek jouw connecties";
$a->strings["Finding: "] = "Zoeken naar: ";
$a->strings["Block Name"] = "Bloknaam";
$a->strings["Block Title"] = "Bloktitel";
-$a->strings["Item not found"] = "Item niet gevonden";
-$a->strings["Item is not editable"] = "Item is niet te bewerken";
-$a->strings["Delete item?"] = "Item verwijderen?";
-$a->strings["Insert YouTube video"] = "YouTube-video invoegen";
-$a->strings["Insert Vorbis [.ogg] video"] = "Vorbis-video [.ogg] invoegen";
-$a->strings["Insert Vorbis [.ogg] audio"] = "Vorbis-audio [.ogg] invoegen";
+$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s heeft het %3\$s van %2\$s getagd met %4\$s";
$a->strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "\$Projectname - gasttoegang: Accountnaam: {jouw e-mailadres}, wachtwoord: +++";
$a->strings["Page owner information could not be retrieved."] = "Informatie over de pagina-eigenaar werd niet ontvangen.";
$a->strings["Album not found."] = "Album niet gevonden.";
$a->strings["Delete Album"] = "Verwijder album";
$a->strings["Delete Photo"] = "Verwijder foto";
+$a->strings["Public access denied."] = "Openbare toegang geweigerd.";
$a->strings["No photos selected"] = "Geen foto's geselecteerd";
$a->strings["Access to this item is restricted."] = "Toegang tot dit item is beperkt.";
$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt.";
@@ -1181,8 +1351,6 @@ $a->strings["In This Photo:"] = "Op deze foto:";
$a->strings["Map"] = "Kaart";
$a->strings["View Album"] = "Album weergeven";
$a->strings["Recent Photos"] = "Recente foto's";
-$a->strings["Items tagged with: %s"] = "Items getagd met %s";
-$a->strings["Search results for: %s"] = "Zoekresultaten voor %s";
$a->strings["Profile Match"] = "Profielovereenkomst";
$a->strings["No keywords to match. Please add keywords to your default profile."] = "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe.";
$a->strings["is interested in:"] = "is geïnteresseerd in:";
@@ -1208,14 +1376,14 @@ $a->strings["Your service plan only allows %d channels."] = "Jouw abonnement sta
$a->strings["Nothing to import."] = "Niets gevonden om te importeren";
$a->strings["Unable to download data from old server"] = "Niet in staat om gegevens van de oude hub te downloaden";
$a->strings["Imported file is empty."] = "Geïmporteerde bestand is leeg";
-$a->strings["The data provided is not compatible with this project."] = "De geïmporteerde gegevens zijn niet compatibel met dit project.";
-$a->strings["Warning: Database versions differ by %1\$d updates."] = "Waarschuwing: database-versies lopen %1\$d updates achter.";
$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt.";
+$a->strings["Unable to create a unique channel address. Import failed."] = "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt.";
$a->strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt.";
$a->strings["Cloned channel not found. Import failed."] = "Gekloond kanaal niet gevonden. Importeren mislukt.";
+$a->strings["Import completed."] = "Import voltooid.";
$a->strings["You must be logged in to use this feature."] = "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken.";
$a->strings["Import Channel"] = "Kanaal importeren";
-$a->strings["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."] = "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken.";
+$a->strings["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. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken. Alleen de identiteit en de connecties zullen geïmporteerd worden. Het importeren van inhoud is nog niet beschikbaar.";
$a->strings["File to Upload"] = "Bestand om te uploaden";
$a->strings["Or provide the old server/hub details"] = "Of vul de gegevens van de oude hub in";
$a->strings["Your old identity address (xyz@example.com)"] = "Jouw oude kanaaladres (xyz@example.com)";
@@ -1223,12 +1391,15 @@ $a->strings["Your old login email address"] = "Het e-mailadres van je oude accou
$a->strings["Your old login password"] = "Wachtwoord van jouw oude account";
$a->strings["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 able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen.";
$a->strings["Make this hub my primary location"] = "Stel deze hub als mijn primaire locatie in";
-$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van hoeveelheid geheugen hub)";
-$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid.";
+$a->strings["Import existing posts if possible"] = "Importeer bestaande berichten (wanneer mogelijk)";
+$a->strings["Item not found"] = "Item niet gevonden";
+$a->strings["Edit Layout"] = "Lay-out bewerken";
$a->strings["Delete layout?"] = "Lay-out verwijderen?";
+$a->strings["Insert YouTube video"] = "YouTube-video invoegen";
+$a->strings["Insert Vorbis [.ogg] video"] = "Vorbis-video [.ogg] invoegen";
+$a->strings["Insert Vorbis [.ogg] audio"] = "Vorbis-audio [.ogg] invoegen";
$a->strings["Layout Description (Optional)"] = "Lay-out-omschrijving (optioneel)";
$a->strings["Layout Name"] = "Naam lay-out";
-$a->strings["Edit Layout"] = "Lay-out bewerken";
$a->strings["You must be logged in to see this page."] = "Je moet zijn ingelogd om deze pagina te kunnen bekijken.";
$a->strings["Room not found"] = "Chatkanaal niet gevonden";
$a->strings["Leave Room"] = "Chatkanaal verlaten";
@@ -1239,36 +1410,6 @@ $a->strings["Bookmark this room"] = "Chatkanaal aan bladwijzers toevoegen";
$a->strings["New Chatroom"] = "Nieuw chatkanaal";
$a->strings["Chatroom Name"] = "Naam chatkanaal";
$a->strings["%1\$s's Chatrooms"] = "Chatkanalen van %1\$s";
-$a->strings["Menu not found."] = "Menu niet gevonden.";
-$a->strings["Unable to create element."] = "Niet in staat om onderdeel aan te maken.";
-$a->strings["Unable to update menu element."] = "Menu-onderdeel kan niet worden geüpdatet.";
-$a->strings["Unable to add menu element."] = "Menu-onderdeel kan niet worden toegevoegd.";
-$a->strings["Menu Item Permissions"] = "Permissies menu-item";
-$a->strings["(click to open/close)"] = "(klik om te openen/sluiten)";
-$a->strings["Link Name"] = "Linknaam";
-$a->strings["Link or Submenu Target"] = "Linkdoel of submenu-doel";
-$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Geef de URL van de link of kies een menunaam om een submenu aan te maken";
-$a->strings["Use magic-auth if available"] = "Gebruik magic-auth wanneer beschikbaar";
-$a->strings["Open link in new window"] = "Open link in nieuw venster";
-$a->strings["Order in list"] = "Volgorde in lijst";
-$a->strings["Higher numbers will sink to bottom of listing"] = "Hogere nummers komen onderaan de lijst terecht";
-$a->strings["Submit and finish"] = "Opslaan en afsluiten";
-$a->strings["Submit and continue"] = "Opslaan en doorgaan";
-$a->strings["Menu:"] = "Menu:";
-$a->strings["Link Target"] = "Linkdoel";
-$a->strings["Edit menu"] = "Menu bewerken";
-$a->strings["Edit element"] = "Onderdeel bewerken";
-$a->strings["Drop element"] = "Onderdeel verwijderen";
-$a->strings["New element"] = "Nieuw element";
-$a->strings["Edit this menu container"] = "Deze menu-container bewerken";
-$a->strings["Add menu element"] = "Menu-element toevoegen";
-$a->strings["Delete this menu item"] = "Dit menu-item verwijderen";
-$a->strings["Edit this menu item"] = "Dit menu-item bewerken";
-$a->strings["Menu item not found."] = "Menu-item niet gevonden.";
-$a->strings["Menu item deleted."] = "Menu-item verwijderd.";
-$a->strings["Menu item could not be deleted."] = "Menu-item kon niet worden verwijderd.";
-$a->strings["Edit Menu Element"] = "Menu-element bewerken";
-$a->strings["Link text"] = "Linktekst";
$a->strings["Delete webpage?"] = "Webpagina verwijderen?";
$a->strings["Page link title"] = "Titel van paginalink";
$a->strings["Edit Webpage"] = "Webpagina bewerken";
@@ -1293,8 +1434,8 @@ $a->strings["Website:"] = "Website:";
$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Kanaal op afstand [%s] (nog niet op deze hub bekend)";
$a->strings["Rating (this information is public)"] = "Beoordeling (deze informatie is openbaar)";
$a->strings["Optionally explain your rating (this information is public)"] = "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)";
-$a->strings["Delete block?"] = "Blok verwijderen";
-$a->strings["Edit Block"] = "Blok bewerken";
+$a->strings["Item is not editable"] = "Item is niet te bewerken";
+$a->strings["Delete item?"] = "Item verwijderen?";
$a->strings["Total invitation limit exceeded."] = "Limiet voor aantal uitnodigingen overschreden.";
$a->strings["%s : Not a valid email address."] = "%s : Geen geldig e-mailadres.";
$a->strings["Please join us on Red"] = "Uitnodiging voor \$Projectname";
@@ -1351,6 +1492,7 @@ $a->strings["Delete this menu"] = "Menu verwijderen";
$a->strings["Edit menu contents"] = "Bewerk de inhoud van het menu";
$a->strings["Edit this menu"] = "Dit menu bewerken";
$a->strings["Menu could not be deleted."] = "Menu kon niet verwijderd worden.";
+$a->strings["Menu not found."] = "Menu niet gevonden.";
$a->strings["Edit Menu"] = "Menu bewerken";
$a->strings["Add or remove entries to this menu"] = "Items aan dit menu toevoegen of verwijder";
$a->strings["Menu name"] = "Naam van menu";
@@ -1358,6 +1500,7 @@ $a->strings["Must be unique, only seen by you"] = "Moet uniek zijn en is alleen
$a->strings["Menu title"] = "Titel van menu";
$a->strings["Menu title as seen by others"] = "Titel van menu zoals anderen dat zien.";
$a->strings["Allow bookmarks"] = "Bladwijzers toestaan";
+$a->strings["Modify"] = "Wijzigen";
$a->strings["Permission Denied."] = "Toegang geweigerd";
$a->strings["File not found."] = "Bestand niet gevonden.";
$a->strings["Edit file permissions"] = "Bestandsrechten bewerken";
@@ -1383,8 +1526,10 @@ $a->strings["Invalid profile identifier."] = "Ongeldige profiel-identificator";
$a->strings["Profile Visibility Editor"] = "Zichtbaarheid profiel ";
$a->strings["Click on a contact to add or remove."] = "Klik op een connectie om deze toe te voegen of te verwijderen";
$a->strings["Visible To"] = "Zichtbaar voor";
+$a->strings["webpage"] = "Webpagina";
+$a->strings["block"] = "blok";
+$a->strings["layout"] = "lay-out";
$a->strings["%s element installed"] = "%s onderdeel geïnstalleerd";
-$a->strings["%s element installation failed"] = "Installatie %s-element mislukt";
$a->strings["Profile not found."] = "Profiel niet gevonden.";
$a->strings["Profile deleted."] = "Profiel verwijderd.";
$a->strings["Profile-"] = "Profiel-";
@@ -1401,7 +1546,7 @@ $a->strings["Religion"] = "Religie";
$a->strings["Political Views"] = "Politieke overtuigingen";
$a->strings["Gender"] = "Geslacht";
$a->strings["Sexual Preference"] = "Seksuele voorkeur";
-$a->strings["Homepage"] = "Homepagina";
+$a->strings["Homepage"] = "Homepage";
$a->strings["Interests"] = "Interesses";
$a->strings["Address"] = "Kanaaladres";
$a->strings["Profile updated."] = "Profiel bijgewerkt";
@@ -1428,7 +1573,7 @@ $a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span cl
$a->strings["Who: (if applicable)"] = "Wie (wanneer toepasselijk):";
$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Voorbeelden: petra123, Petra Jansen, petra@voorbeeld.nl";
$a->strings["Since [date]:"] = "Sinds [datum]:";
-$a->strings["Homepage URL:"] = "URL homepagina:";
+$a->strings["Homepage URL:"] = "Adres homepage:";
$a->strings["Religious Views:"] = "Religieuze overtuigingen";
$a->strings["Keywords:"] = "Trefwoorden";
$a->strings["Example: fishing photography software"] = "Voorbeeld: muziek, fotografie, software";
@@ -1450,98 +1595,56 @@ $a->strings["Edit/Manage Profiles"] = "Profielen bewerken/beheren";
$a->strings["Add profile things"] = "Dingen aan je profiel toevoegen";
$a->strings["Include desirable objects in your profile"] = "Voeg door jou gewenste dingen aan jouw profiel toe";
$a->strings["No ratings"] = "Geen beoordelingen";
-$a->strings["Ratings"] = "Beoordelingen";
-$a->strings["Rating: "] = "Beoordeling:";
+$a->strings["Ratings"] = "Waarderingen";
+$a->strings["Rating: "] = "Waardering: ";
$a->strings["Website: "] = "Website: ";
$a->strings["Description: "] = "Omschrijving: ";
$a->strings["Source of Item"] = "Bron van item";
-$a->strings["\$Projectname Server - Setup"] = "\$Projectname Server - Setup";
-$a->strings["Could not connect to database."] = "Could not connect to database.";
-$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Could not connect to specified hub URL. Possible SSL certificate or DNS issue.";
-$a->strings["Could not create table."] = "Could not create table.";
-$a->strings["Your site database has been installed."] = "Your hub database has been installed.";
-$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "You may need to import the file \"install/schema_xxx.sql\" manually using a database client.";
-$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Please see the file \"install/INSTALL.txt\".";
-$a->strings["System check"] = "System check";
-$a->strings["Check again"] = "Check again";
-$a->strings["Database connection"] = "Database connection";
-$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "In order to install \$Projectname we need to know how to connect to your database.";
-$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Please contact your hosting provider or site administrator if you have questions about these settings.";
-$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "The database you specify below should already exist. If it does not, please create it before continuing.";
-$a->strings["Database Server Name"] = "Database Server Name";
-$a->strings["Default is localhost"] = "Default is localhost";
-$a->strings["Database Port"] = "Database Port";
-$a->strings["Communication port number - use 0 for default"] = "Communication port number - use 0 for default";
-$a->strings["Database Login Name"] = "Database Login Name";
-$a->strings["Database Login Password"] = "Database Login Password";
-$a->strings["Database Name"] = "Database Name";
-$a->strings["Database Type"] = "Database Type";
-$a->strings["Site administrator email address"] = "Hub administrator email address";
-$a->strings["Your account email address must match this in order to use the web admin panel."] = "Your account email address must match this in order to use the web admin panel.";
-$a->strings["Website URL"] = "Hub URL";
-$a->strings["Please use SSL (https) URL if available."] = "Please use SSL (https) URL if available.";
-$a->strings["Please select a default timezone for your website"] = "Please select a default timezone for your hub";
-$a->strings["Site settings"] = "Hub settings";
-$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Could not find a command line version of PHP in the web server PATH.";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron.";
-$a->strings["PHP executable path"] = "PHP executable path";
-$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Enter full path to php executable. You can leave this blank to continue the installation.";
-$a->strings["Command line PHP"] = "Command line PHP";
-$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "The command line version of PHP on your system does not have \"register_argc_argv\" enabled.";
-$a->strings["This is required for message delivery to work."] = "This is required for message delivery to work.";
-$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-$a->strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once.";
-$a->strings["You can adjust these settings in the servers php.ini."] = "You can adjust these settings in the servers php.ini.";
-$a->strings["PHP upload limits"] = "PHP upload limits";
-$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys";
-$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\".";
-$a->strings["Generate encryption keys"] = "Generate encryption keys";
-$a->strings["libCurl PHP module"] = "libCurl PHP module";
-$a->strings["GD graphics PHP module"] = "GD graphics PHP module";
-$a->strings["OpenSSL PHP module"] = "OpenSSL PHP module";
-$a->strings["mysqli or postgres PHP module"] = "mysqli or postgres PHP module";
-$a->strings["mb_string PHP module"] = "mb_string PHP module";
-$a->strings["mcrypt PHP module"] = "mcrypt PHP module";
-$a->strings["xml PHP module"] = "xml PHP module";
-$a->strings["Apache mod_rewrite module"] = "Apache mod_rewrite module";
-$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Error: Apache webserver mod-rewrite module is required but not installed.";
-$a->strings["proc_open"] = "proc_open";
-$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Error: proc_open is required but is either not installed or has been disabled in php.ini";
-$a->strings["Error: libCURL PHP module required but not installed."] = "Error: libCURL PHP module required but not installed.";
-$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Error: GD graphics PHP module with JPEG support required but not installed.";
-$a->strings["Error: openssl PHP module required but not installed."] = "Error: openssl PHP module required but not installed.";
-$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Error: mysqli or postgres PHP module required but neither are installed.";
-$a->strings["Error: mb_string PHP module required but not installed."] = "Error: mb_string PHP module required but not installed.";
-$a->strings["Error: mcrypt PHP module required but not installed."] = "Error: mcrypt PHP module required but not installed.";
-$a->strings["Error: xml PHP module required for DAV but not installed."] = "Error: xml PHP module required for DAV but not installed.";
-$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so.";
-$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.";
-$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder.";
-$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions.";
-$a->strings[".htconfig.php is writable"] = ".htconfig.php is writable";
-$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.";
-$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder.";
-$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder.";
-$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains.";
-$a->strings["%s is writable"] = "%s is writable";
-$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder";
-$a->strings["store is writable"] = "store is writable";
-$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "SSL certificate cannot be validated. Fix certificate or disable https access to this hub.";
-$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "If you have https access to your hub or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!";
-$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "This restriction is incorporated because public posts from you may for example contain references to images on your own hub.";
-$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "If your certificate is not recognized, members of other hubs (who may themselves have valid certificates) will get a warning message on their own hub complaining about security issues.";
-$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement.";
-$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Providers are available that issue free certificates which are browser-valid.";
-$a->strings["SSL certificate validation"] = "SSL certificate validation";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Url rewrite in .htaccess is not working. Check your server configuration.Test: ";
-$a->strings["Url rewrite is working"] = "Url rewrite is working";
-$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root.";
-$a->strings["Errors encountered creating database tables."] = "Errors encountered creating database tables.";
-$a->strings["<h1>What next</h1>"] = "<h1>Wat nu</h1>";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT: You will need to [manually] setup a scheduled task for the poller.";
+$a->strings["Unable to create element."] = "Niet in staat om onderdeel aan te maken.";
+$a->strings["Unable to update menu element."] = "Menu-onderdeel kan niet worden geüpdatet.";
+$a->strings["Unable to add menu element."] = "Menu-onderdeel kan niet worden toegevoegd.";
+$a->strings["Menu Item Permissions"] = "Permissies menu-item";
+$a->strings["Link Name"] = "Linknaam";
+$a->strings["Link Target"] = "Linkdoel";
+$a->strings["Use RedMatrix magic-auth if available"] = "Gebruik RedMatrix' magic-auth wanneer beschikbaar";
+$a->strings["Open link in new window"] = "Open link in nieuw venster";
+$a->strings["Order in list"] = "Volgorde in lijst";
+$a->strings["Higher numbers will sink to bottom of listing"] = "Hogere nummers komen onderaan de lijst terecht";
+$a->strings["Submit and finish"] = "Opslaan en afsluiten";
+$a->strings["Submit and continue"] = "Opslaan en doorgaan";
+$a->strings["Menu:"] = "Menu:";
+$a->strings["Edit menu"] = "Menu bewerken";
+$a->strings["Edit element"] = "Onderdeel bewerken";
+$a->strings["Drop element"] = "Onderdeel verwijderen";
+$a->strings["New element"] = "Nieuw element";
+$a->strings["Edit this menu container"] = "Deze menu-container bewerken";
+$a->strings["Add menu element"] = "Menu-element toevoegen";
+$a->strings["Delete this menu item"] = "Dit menu-item verwijderen";
+$a->strings["Edit this menu item"] = "Dit menu-item bewerken";
+$a->strings["Menu item not found."] = "Menu-item niet gevonden.";
+$a->strings["Menu item deleted."] = "Menu-item verwijderd.";
+$a->strings["Menu item could not be deleted."] = "Menu-item kon niet worden verwijderd.";
+$a->strings["Edit Menu Element"] = "Menu-element bewerken";
+$a->strings["Link text"] = "Linktekst";
+$a->strings["URL of link"] = "URL of link";
$a->strings["OpenID protocol error. No ID returned."] = "OpenID-protocolfout. Geen ID terugontvangen.";
$a->strings["Welcome %s. Remote authentication successful."] = "Welkom %s. Authenticatie op afstand geslaagd.";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s heeft het %3\$s van %2\$s getagd met %4\$s";
+$a->strings["%d rating"] = array(
+ 0 => "%d beoordeling",
+ 1 => "%d beoordelingen",
+);
+$a->strings["Gender: "] = "Geslacht:";
+$a->strings["Status: "] = "Status: ";
+$a->strings["Homepage: "] = "Homepage: ";
+$a->strings["Hometown: "] = "Oorspronkelijk uit: ";
+$a->strings["About: "] = "Over: ";
+$a->strings["Public Forum:"] = "Openbaar forum:";
+$a->strings["Keywords: "] = "Trefwoorden: ";
+$a->strings["Common connections: %s"] = "Gemeenschappelijke connecties: %s";
+$a->strings["Finding:"] = "Gezocht naar:";
+$a->strings["next page"] = "volgende pagina";
+$a->strings["previous page"] = "vorige pagina";
+$a->strings["No entries (some entries may be hidden)."] = "Niets gevonden (sommige kanalen kunnen verborgen zijn).";
$a->strings["Export Channel"] = "Kanaal exporteren";
$a->strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Exporteer de basisinformatie van jouw kanaal naar een klein bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal.";
$a->strings["Export Content"] = "Inhoud exporteren";
@@ -1577,7 +1680,6 @@ $a->strings["Registered channels"] = "Geregistreerde kanalen";
$a->strings["Active plugins"] = "Ingeschakelde plug-ins";
$a->strings["Version"] = "Versie";
$a->strings["Site settings updated."] = "Hub-instellingen bijgewerkt.";
-$a->strings["mobile"] = "mobiel";
$a->strings["experimental"] = "experimenteel";
$a->strings["unsupported"] = "Niet ondersteund";
$a->strings["Yes - with approval"] = "Ja - met goedkeuring";
@@ -1607,10 +1709,6 @@ $a->strings["Does this site allow new member registration?"] = "Staat deze hub n
$a->strings["Which best describes the types of account offered by this hub?"] = "Wat voor soort accounts biedt deze \$Projectname-hub aan? Kies wat het meest in de buurt komt.";
$a->strings["Register text"] = "Tekst tijdens registratie";
$a->strings["Will be displayed prominently on the registration page."] = "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond.";
-$a->strings["Site homepage to show visitors (default: login box)"] = "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)";
-$a->strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken.";
-$a->strings["Preserve site homepage URL"] = "Behoudt de URL van de hub (/)";
-$a->strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)";
$a->strings["Accounts abandoned after x days"] = "Accounts als verlaten beschouwen na zoveel aantal dagen:";
$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet.";
$a->strings["Allowed friend domains"] = "Toegestane domeinen";
@@ -1627,8 +1725,8 @@ $a->strings["Force publish"] = "Dwing kanaalvermelding af";
$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld.";
$a->strings["Disable discovery tab"] = "Ontdekkingstab";
$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Verwijder de tab in de matrix-weergave waarin zich een selectie aan openbare berichten bevindt, die automatisch voor deze hub zijn uitgekozen.";
-$a->strings["login on Homepage"] = "Inlogformulier op de homepagina";
-$a->strings["Present a login box to visitors on the home page if no other content has been configured."] = "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. ";
+$a->strings["No login on Homepage"] = "Geen inlogformulier op de homepage";
+$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Vink dit aan om het inlogformulier op de homepage van deze hub, die niet-ingelogde bezoekers te zien krijgen, te verbergen. (bijvoorbeeld wanneer je een kanaal op deze \$Projectname-hub als homepage gebruikt)";
$a->strings["Proxy user"] = "Gebruikersnaam proxy";
$a->strings["Proxy URL"] = "URL proxy";
$a->strings["Network timeout"] = "Netwerktimeout";
@@ -1694,24 +1792,16 @@ $a->strings["%s channel censored/uncensored"] = array(
0 => "%s kanaal gecensureerd/ongecensureerd",
1 => "%s kanalen gecensureerd/ongecensureerd",
);
-$a->strings["%s channel code allowed/disallowed"] = array(
- 0 => "Code toegestaan/niet toegestaan voor %s kanaal",
- 1 => "Scripts toegestaan/niet toegestaan voor %s kanalen ",
-);
$a->strings["%s channel deleted"] = array(
0 => "%s kanaal verwijderd",
1 => "%s kanalen verwijderd",
);
$a->strings["Channel not found"] = "Kanaal niet gevonden";
$a->strings["Channel '%s' deleted"] = "Kanaal '%s' verwijderd";
-$a->strings["Channel '%s' censored"] = "Kanaal '%s' gecensureerd";
$a->strings["Channel '%s' uncensored"] = "Kanaal '%s' ongecensureerd";
-$a->strings["Channel '%s' code allowed"] = "Scripts toegestaan voor kanaal '%s'";
-$a->strings["Channel '%s' code disallowed"] = "Scripts niet toegestaan voor kanaal '%s'";
+$a->strings["Channel '%s' censored"] = "Kanaal '%s' gecensureerd";
$a->strings["Censor"] = "Censureren";
$a->strings["Uncensor"] = "Niet censureren";
-$a->strings["Allow Code"] = "Scripts toestaan";
-$a->strings["Disallow Code"] = "Scripts niet toestaan";
$a->strings["UID"] = "UID";
$a->strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
$a->strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
@@ -1744,6 +1834,8 @@ $a->strings["Field definition not found"] = "Velddefinitie niet gevonden";
$a->strings["Edit Profile Field"] = "Profielveld bewerken";
$a->strings["Unable to find your hub."] = "Niet in staat om je hub te vinden";
$a->strings["Post successful."] = "Verzenden bericht geslaagd.";
+$a->strings["Edit Block"] = "Blok bewerken";
+$a->strings["Delete block?"] = "Blok verwijderen";
$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximum toegestane dagelijkse registraties op deze \$Projectname-hub bereikt. Probeer het morgen (UTC) nogmaals.";
$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden.";
$a->strings["Passwords do not match."] = "Wachtwoorden komen niet met elkaar overeen.";
@@ -1769,154 +1861,19 @@ $a->strings["This action is permanent and can not be undone!"] = "Deze handeling
$a->strings["Please enter your password for verification:"] = "Vul je wachtwoord in ter verificatie:";
$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Dit account, al zijn kanalen en alle klonen van zijn kanalen uit het \$Projectname-netwerk verwijderen";
$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het \$Projectname-netwerk verwijderd";
-$a->strings["Remove Account"] = "Account verwijderen";
-$a->strings["Help:"] = "Hulp:";
-$a->strings["Not Found"] = "Niet gevonden";
-$a->strings["\$Projectname Documentation"] = "\$Projectname-documentatie";
+$a->strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. ";
+$a->strings["Empty post discarded."] = "Leeg bericht geannuleerd";
+$a->strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal.";
+$a->strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen.";
+$a->strings["Unable to obtain post information from database."] = "Niet in staat om informatie over dit bericht uit de database te verkrijgen.";
+$a->strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt.";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "Je hebt jouw limiet van %1$.0f webpagina's bereikt.";
$a->strings["[Embedded content - reload page to view]"] = "[Ingesloten inhoud - ververs pagina om te bekijken] ";
$a->strings["Remote privacy information not available."] = "Privacy-informatie op afstand niet beschikbaar.";
$a->strings["Visible to:"] = "Zichtbaar voor:";
-$a->strings["Name is required"] = "Naam is vereist";
-$a->strings["Key and Secret are required"] = "Key en secret zijn vereist";
-$a->strings["Diaspora Policy Settings updated."] = "Beleidsinstellingen Diaspora bijgewerkt.";
-$a->strings["Passwords do not match. Password unchanged."] = "Wachtwoorden komen niet overeen. Wachtwoord onveranderd.";
-$a->strings["Empty passwords are not allowed. Password unchanged."] = "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd.";
-$a->strings["Password changed."] = "Wachtwoord veranderd.";
-$a->strings["Password update failed. Please try again."] = "Bijwerken wachtwoord mislukt. Probeer opnieuw.";
-$a->strings["Not valid email."] = "Geen geldig e-mailadres.";
-$a->strings["Protected email address. Cannot change to that email."] = "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken.";
-$a->strings["System failure storing new email. Please try again."] = "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer.";
-$a->strings["Settings updated."] = "Instellingen bijgewerkt.";
-$a->strings["Add application"] = "Applicatie toevoegen";
-$a->strings["Name of application"] = "Naam van applicatie";
-$a->strings["Consumer Key"] = "Consumer key";
-$a->strings["Automatically generated - change if desired. Max length 20"] = "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20";
-$a->strings["Consumer Secret"] = "Consumer secret";
-$a->strings["Redirect"] = "Redirect/doorverwijzing";
-$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist";
-$a->strings["Icon url"] = "URL van pictogram";
-$a->strings["Optional"] = "Optioneel";
-$a->strings["You can't edit this application."] = "Je kan deze applicatie niet bewerken";
-$a->strings["Connected Apps"] = "Verbonden applicaties";
-$a->strings["Client key starts with"] = "Client key begint met";
-$a->strings["No name"] = "Geen naam";
-$a->strings["Remove authorization"] = "Autorisatie verwijderen";
-$a->strings["No feature settings configured"] = "Geen extra functie- of plugin-instellingen";
-$a->strings["Feature/Addon Settings"] = "Extra functie- en plugin-instellingen";
-$a->strings["Settings for the built-in Diaspora emulator"] = "Instellingen voor de ingebouwde Diaspora-emulator";
-$a->strings["Allow any Diaspora member to comment on your public posts"] = "Sta toe dat elk Diaspora-lid op jouw openbare berichten kan reageren.";
-$a->strings["Enable the Diaspora protocol for this channel"] = "Diaspora-protocol voor dit kanaal inschakelen";
-$a->strings["Diaspora Policy Settings"] = "Beleidsinstellingen Diaspora";
-$a->strings["Prevent your hashtags from being redirected to other sites"] = "Voorkom dat jouw tags naar andere websites worden doorverwezen";
-$a->strings["Account Settings"] = "Account-instellingen";
-$a->strings["Enter New Password:"] = "Nieuw wachtwoord invoeren:";
-$a->strings["Confirm New Password:"] = "Nieuw wachtwoord bevestigen:";
-$a->strings["Leave password fields blank unless changing"] = "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen";
-$a->strings["Email Address:"] = "E-mailadres:";
-$a->strings["Remove this account including all its channels"] = "Dit account en al zijn kanalen verwijderen";
-$a->strings["Off"] = "Uit";
-$a->strings["On"] = "Aan";
-$a->strings["Additional Features"] = "Extra functies";
-$a->strings["Connector Settings"] = "Instellingen externe koppelingen";
-$a->strings["No special theme for mobile devices"] = "Geen speciaal thema voor mobiele apparaten";
-$a->strings["%s - (Experimental)"] = "%s - (experimenteel)";
-$a->strings["Display Settings"] = "Weergave-instellingen";
-$a->strings["Theme Settings"] = "Thema-instellingen";
-$a->strings["Custom Theme Settings"] = "Handmatige thema-instellingen";
-$a->strings["Content Settings"] = "Inhoudsinstellingen";
-$a->strings["Display Theme:"] = "Gebruik thema:";
-$a->strings["Mobile Theme:"] = "Mobiel thema:";
-$a->strings["Enable user zoom on mobile devices"] = "Inzoomen op smartphones en tablets toestaan";
-$a->strings["Update browser every xx seconds"] = "Ververs de webbrowser om de zoveel seconde";
-$a->strings["Minimum of 10 seconds, no maximum"] = "Minimaal 10 seconde, geen maximum";
-$a->strings["Maximum number of conversations to load at any time:"] = "Maximaal aantal conversaties die per keer geladen worden:";
-$a->strings["Maximum of 100 items"] = "Maximaal 100 conversaties";
-$a->strings["Show emoticons (smilies) as images"] = "Toon emoticons (smilies) als afbeeldingen";
-$a->strings["Link post titles to source"] = "Berichtkoppen naar originele locatie linken";
-$a->strings["System Page Layout Editor - (advanced)"] = "Lay-out bewerken van systeempagina's (geavanceerd)";
-$a->strings["Use blog/list mode on channel page"] = "Gebruik blog/lijst-modus op kanaalpagina";
-$a->strings["(comments displayed separately)"] = "(reacties worden afzonderlijk weergeven)";
-$a->strings["Use blog/list mode on matrix page"] = "Gebruik blog/lijst-modus op matrixpagina";
-$a->strings["Channel page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)";
-$a->strings["click to expand content exceeding this height"] = "klik om inhoud uit te klappen die deze hoogte overschrijdt";
-$a->strings["Matrix page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op matrixpagina (in pixels)";
-$a->strings["Nobody except yourself"] = "Niemand, behalve jezelf";
-$a->strings["Only those you specifically allow"] = "Alleen connecties met uitdrukkelijke toestemming";
-$a->strings["Approved connections"] = "Geaccepteerde connecties";
-$a->strings["Any connections"] = "Alle connecties";
-$a->strings["Anybody on this website"] = "Iedereen op deze hub";
-$a->strings["Anybody in this network"] = "Iedereen in dit netwerk";
-$a->strings["Anybody authenticated"] = "Geauthenticeerd";
-$a->strings["Anybody on the internet"] = "Iedereen op het internet";
-$a->strings["Publish your default profile in the network directory"] = "Publiceer je standaardprofiel in de kanalengids";
-$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen";
-$a->strings["Your channel address is"] = "Jouw kanaaladres is";
-$a->strings["Channel Settings"] = "Kanaal-instellingen";
-$a->strings["Basic Settings"] = "Basis-instellingen";
-$a->strings["Your Timezone:"] = "Jouw tijdzone:";
-$a->strings["Default Post Location:"] = "Standaardlocatie bericht:";
-$a->strings["Geographical location to display on your posts"] = "Geografische locatie die bij het bericht moet worden vermeld";
-$a->strings["Use Browser Location:"] = "Locatie van webbrowser gebruiken:";
-$a->strings["Adult Content"] = "Inhoud voor volwassenen";
-$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassenen. (Gebruik de tag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)";
-$a->strings["Security and Privacy Settings"] = "Veiligheids- en privacy-instellingen";
-$a->strings["Your permissions are already configured. Click to view/adjust"] = "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen.";
-$a->strings["Hide my online presence"] = "Verberg mijn aanwezigheid";
-$a->strings["Prevents displaying in your profile that you are online"] = "Voorkomt dat op je kanaalpagina te zien valt dat je momenteel op \$Projectname aanwezig bent";
-$a->strings["Simple Privacy Settings:"] = "Eenvoudige privacy-instellingen:";
-$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>";
-$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>";
-$a->strings["Private - <em>default private, never open or public</em>"] = "Privé <em>(standaard privé en nooit openbaar)</em>";
-$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>";
-$a->strings["Allow others to tag your posts"] = "Anderen toestaan om je berichten te taggen";
-$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren";
-$a->strings["Advanced Privacy Settings"] = "Geavanceerde privacy-instellingen";
-$a->strings["Expire other channel content after this many days"] = "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:";
-$a->strings["0 or blank prevents expiration"] = "0 of leeg voorkomt het verlopen";
-$a->strings["Maximum Friend Requests/Day:"] = "Maximum aantal connectieverzoeken per dag:";
-$a->strings["May reduce spam activity"] = "Kan eventuele spam verminderen";
-$a->strings["Default Post Permissions"] = "Standaard permissies voor nieuwe berichten";
-$a->strings["Channel permissions category:"] = "Kanaaltype en -permissies:";
-$a->strings["Maximum private messages per day from unknown people:"] = "Maximum aantal privé-berichten per dag van onbekende personen:";
-$a->strings["Useful to reduce spamming"] = "Kan eventuele spam verminderen";
-$a->strings["Notification Settings"] = "Notificatie-instellingen";
-$a->strings["By default post a status message when:"] = "Plaats automatisch een statusbericht wanneer:";
-$a->strings["accepting a friend request"] = "Een connectieverzoek wordt geaccepteerd";
-$a->strings["joining a forum/community"] = "Je lid wordt van een forum/groep";
-$a->strings["making an <em>interesting</em> profile change"] = "Er sprake is van een <em>interessante</em> profielwijziging";
-$a->strings["Send a notification email when:"] = "Verzend een notificatie per e-mail wanneer:";
-$a->strings["You receive a connection request"] = "Je een connectieverzoek ontvangt";
-$a->strings["Your connections are confirmed"] = "Jouw connecties zijn bevestigd";
-$a->strings["Someone writes on your profile wall"] = "Iemand iets op jouw kanaal heeft geschreven";
-$a->strings["Someone writes a followup comment"] = "Iemand een reactie schrijft";
-$a->strings["You receive a private message"] = "Je een privé-bericht ontvangt";
-$a->strings["You receive a friend suggestion"] = "Je een kanaalvoorstel ontvangt";
-$a->strings["You are tagged in a post"] = "Je expliciet in een bericht bent genoemd";
-$a->strings["You are poked/prodded/etc. in a post"] = "Je bent in een bericht aangestoten/gepord/etc.";
-$a->strings["Show visual notifications including:"] = "Toon de volgende zichtbare notificaties:";
-$a->strings["Unseen matrix activity"] = "Niet bekeken matrix-activiteit";
-$a->strings["Unseen channel activity"] = "Niet bekeken kanaal-activiteit";
-$a->strings["Unseen private messages"] = "Niet bekeken privéberichten";
-$a->strings["Recommended"] = "Aanbevolen";
-$a->strings["Upcoming events"] = "Aankomende gebeurtenissen";
-$a->strings["Events today"] = "Gebeurtissen van vandaag";
-$a->strings["Upcoming birthdays"] = "Aankomende verjaardagen";
-$a->strings["Not available in all themes"] = "Niet in alle thema's beschikbaar";
-$a->strings["System (personal) notifications"] = "(Persoonlijke) systeemnotificaties";
-$a->strings["System info messages"] = "Systeemmededelingen";
-$a->strings["System critical alerts"] = "Kritische systeemwaarschuwingen";
-$a->strings["New connections"] = "Nieuwe connecties";
-$a->strings["System Registrations"] = "Nieuwe accountregistraties op deze hub";
-$a->strings["Also show new wall posts, private messages and connections under Notices"] = "Toon tevens nieuwe kanaalberichten, privéberichten en connecties onder Notificaties";
-$a->strings["Notify me of events this many days in advance"] = "Herinner mij zoveel dagen van te voren aan gebeurtenissen";
-$a->strings["Must be greater than 0"] = "Moet hoger dan 0 zijn";
-$a->strings["Advanced Account/Page Type Settings"] = "Instellingen geavanceerd account/paginatype";
-$a->strings["Change the behaviour of this account for special situations"] = "Verander het gedrag van dit account voor speciale situaties";
-$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!";
-$a->strings["Miscellaneous Settings"] = "Diverse instellingen";
-$a->strings["Personal menu to display in your channel pages"] = "Persoonlijk menu om op je kanaalpagina's weer te geven";
-$a->strings["Remove Channel"] = "Kanaal verwijderen";
-$a->strings["Remove this channel."] = "Verwijder dit kanaal.";
+$a->strings["Comanche page description language help"] = "Hulp met de paginabeschrijvingstaal Comanche";
+$a->strings["Layout Description"] = "Lay-out-omschrijving";
+$a->strings["Download PDL file"] = "Download PDL-bestand";
$a->strings["First Name"] = "Voornaam";
$a->strings["Last Name"] = "Achternaam";
$a->strings["Nickname"] = "Bijnaam";
@@ -1939,7 +1896,7 @@ $a->strings["Delete conversation"] = "Verwijder conversatie";
$a->strings["D, d M Y - g:i A"] = "D, j M Y - G:i";
$a->strings["Set your current mood and tell your friends"] = "Noteer je huidige stemming en toon het aan je connecties";
$a->strings["Total votes"] = "Totaal aantal stemmen";
-$a->strings["Average Rating"] = "Gemiddelde beoordeling";
+$a->strings["Average Rating"] = "Gemiddelde waardering";
$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Het verwijderen van een kanaal is niet toegestaan binnen 48 uur nadat het wachtwoord van het account is veranderd.";
$a->strings["Remove This Channel"] = "Verwijder dit kanaal";
$a->strings["This channel will be completely removed from the network. "] = "Dit kanaal wordt volledig uit het \$Projectname-netwerk verwijderd.";
@@ -1948,7 +1905,17 @@ $a->strings["By default only the instance of the channel located on this hub wil
$a->strings["is now connected to"] = "is nu verbonden met";
$a->strings["Could not access address book record."] = "Kon geen toegang krijgen tot de record van de connectie.";
$a->strings["Refresh failed - channel is currently unavailable."] = "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar";
+$a->strings["Channel has been unblocked"] = "Kanaal is gedeblokkeerd";
+$a->strings["Channel has been blocked"] = "Kanaal is geblokkeerd";
$a->strings["Unable to set address book parameters."] = "Niet in staat om de parameters van connecties in te stellen.";
+$a->strings["Channel has been unignored"] = "Kanaal wordt niet meer genegeerd";
+$a->strings["Channel has been ignored"] = "Kanaal wordt genegeerd";
+$a->strings["Channel has been unarchived"] = "Kanaal is niet meer gearchiveerd";
+$a->strings["Channel has been archived"] = "Kanaal is gearchiveerd";
+$a->strings["Channel has been unhidden"] = "Kanaal is niet meer verborgen";
+$a->strings["Channel has been hidden"] = "Kanaal is verborgen";
+$a->strings["Channel has been approved"] = "Connectie/kanaal is geaccepteerd";
+$a->strings["Channel has been unapproved"] = "Connectie/kanaal is afgewezen";
$a->strings["Connection has been removed."] = "Connectie is verwijderd";
$a->strings["View %s's profile"] = "Profiel van %s weergeven";
$a->strings["Refresh Permissions"] = "Permissies vernieuwen";
@@ -1956,48 +1923,56 @@ $a->strings["Fetch updated permissions"] = "Aangepaste permissies ophalen";
$a->strings["Recent Activity"] = "Recente activiteit";
$a->strings["View recent posts and comments"] = "Recente berichten en reacties weergeven";
$a->strings["Block (or Unblock) all communications with this connection"] = "Blokkeer (of deblokkeer) alle communicatie met deze connectie";
-$a->strings["This connection is blocked!"] = "Deze connectie is geblokkeerd!";
$a->strings["Unignore"] = "Niet meer negeren";
$a->strings["Ignore"] = "Negeren";
$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie";
-$a->strings["This connection is ignored!"] = "Deze connectie wordt genegeerd!";
$a->strings["Unarchive"] = "Niet meer archiveren";
$a->strings["Archive"] = "Archiveren";
$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud";
-$a->strings["This connection is archived!"] = "Deze connectie is gearchiveerd!";
$a->strings["Unhide"] = "Niet meer verbergen";
$a->strings["Hide"] = "Verbergen";
$a->strings["Hide or Unhide this connection from your other connections"] = "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties";
-$a->strings["This connection is hidden!"] = "Deze connectie is verborgen!";
$a->strings["Delete this connection"] = "Deze connectie verwijderen";
$a->strings["Approve this connection"] = "Deze connectie accepteren";
$a->strings["Accept connection to allow communication"] = "Keur deze connectie goed om communicatie toe te staan";
-$a->strings["Set Affinity"] = "Verwantschapsfilter instellen";
-$a->strings["Set Profile"] = "Profiel instellen";
-$a->strings["Set Affinity & Profile"] = "Verwantschapsfilter en profiel instellen";
+$a->strings["Connections: settings for %s"] = "Connecties: instellingen voor %s";
$a->strings["Apply these permissions automatically"] = "Deze permissies automatisch toepassen";
-$a->strings["This connection's address is"] = "Het adres van deze connectie is";
-$a->strings["The permissions indicated on this page will be applied to all new connections."] = "Permissies die op deze pagina staan vermeld worden op alle nieuwe connecties toegepast.";
+$a->strings["Apply the permissions indicated on this page to all new connections."] = "Permissies die op deze pagina staan vermeldt op alle nieuwe connecties toepassen.";
$a->strings["Slide to adjust your degree of friendship"] = "Schuif om te bepalen hoe goed je iemand kent en/of mag";
-$a->strings["Slide to adjust your rating"] = "Gebruik de schuif om je beoordeling te geven";
-$a->strings["Optionally explain your rating"] = "Verklaar jouw beoordeling (niet verplicht)";
-$a->strings["Custom Filter"] = "Berichtenfilter";
-$a->strings["Only import posts with this text"] = "Importeer alleen berichten met deze tekst";
-$a->strings["words one per line or #tags or /patterns/, leave blank to import all posts"] = "woorden (één per regel), #tags of /patterns/, laat leeg om alle berichten te importeren";
-$a->strings["Do not import posts with this text"] = "Importeer geen berichten met deze tekst";
-$a->strings["This information is public!"] = "Deze informatie is openbaar!";
-$a->strings["Connection Pending Approval"] = "Connectie moet nog goedgekeurd worden";
-$a->strings["Connection Request"] = "Connectieverzoek";
-$a->strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) wil met jou verbinden. Keur dit connectieverzoek goed om onderling te kunnen communiceren.";
-$a->strings["Approve Later"] = "Later goedkeuren";
+$a->strings["Default permissions for your channel type have (just) been applied. They have not yet been submitted. Please review the permissions on this page and make any desired changes at this time. This new connection may <em>not</em> be able to communicate with you until you submit this page, which will install and apply the selected permissions."] = "Voor jouw kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog niet opgeslagen. Controleer de permissies op deze pagina en verander ze eventueel. Deze nieuwe connectie kan mogelijk nog <em>niet</em> met jou communiceren totdat je deze pagina opslaat, wat ervoor zorgt dat de gekozen permissies actief worden.";
$a->strings["inherited"] = "geërfd";
+$a->strings["Connection has no individual permissions!"] = "Connectie heeft geen individuele permissies!";
+$a->strings["This may be appropriate based on your <a href=\"settings\">privacy settings</a>, though you may wish to review the \"Advanced Permissions\"."] = "Dit is mogelijk voldoende, wanneer er naar jouw <a href=\"settings\">privacy-instellingen</a> wordt gekeken. Hoewel je wellicht de geavanceerde rechten wil nagaan.";
+$a->strings["Profile Visibility"] = "Zichtbaarheid profiel";
$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken.";
+$a->strings["Contact Information / Notes"] = "Informatie/aantekeningen over connectie";
+$a->strings["Edit contact notes"] = "Bewerk aantekeningen over contact";
$a->strings["Their Settings"] = "Hun instellingen";
$a->strings["My Settings"] = "Mijn instellingen";
+$a->strings["Default permissions for this channel type have (just) been applied. They have <em>not</em> been saved and there are currently no stored default permissions. Please review/edit the applied settings and click [Submit] to finalize."] = "Voor dit kanaaltype geldende standaard permissies zijn (zonet) toegepast. Ze zijn echter nog <em>niet</em> opgeslagen en er zijn momenteel geen standaard permissies aanwezig. Controleer/verander de permissies op deze pagina en klik op [Opslaan] om deze te activeren.";
+$a->strings["Clear/Disable Automatic Permissions"] = "Verwijderen/uitschakelen automatische permissies";
+$a->strings["Forum Members"] = "Forumleden";
+$a->strings["Soapbox"] = "Zeepkist";
+$a->strings["Full Sharing (typical social network permissions)"] = "Voluit delen (vergelijkbaar met die van sociale netwerken)";
+$a->strings["Cautious Sharing "] = "Voorzichtig delen";
+$a->strings["Follow Only"] = "Alleen volgen";
$a->strings["Individual Permissions"] = "Individuele permissies";
-$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele instellingen. Je kan je deze overgeërfde permissies hier <strong>niet</strong> veranderen.";
-$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele permissies. Je kan de permissies hier veranderen, maar die hebben geen effect, tenzij de overgeërfde permissies worden veranderd. ";
+$a->strings["Some permissions may be inherited from your channel <a href=\"settings\">privacy settings</a>, which have higher priority than individual settings. Changing those inherited settings on this page will have no effect."] = "Sommige permissies kunnen worden overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal. Wanneer je deze geërfde instellingen op deze pagina veranderd heeft dat geen effect.";
+$a->strings["Advanced Permissions"] = "Geavanceerde permissies";
+$a->strings["Simple Permissions (select one and submit)"] = "Eenvoudige permissies (selecteer er één en opslaan)";
+$a->strings["Visit %s's profile - %s"] = "Profiel van %s bezoeken - %s";
+$a->strings["Block/Unblock contact"] = "Connectie blokkeren/deblokkeren";
+$a->strings["Ignore contact"] = "Connectie negeren";
+$a->strings["Repair URL settings"] = "URL-instellingen repareren";
+$a->strings["View conversations"] = "Conversaties weergeven";
+$a->strings["Delete contact"] = "Connectie verwijderen";
$a->strings["Last update:"] = "Laatste wijziging:";
+$a->strings["Update public posts"] = "Openbare berichten updaten";
+$a->strings["Update now"] = "Nu updaten";
+$a->strings["Currently blocked"] = "Momenteel geblokkeerd";
+$a->strings["Currently ignored"] = "Momenteel genegeerd";
+$a->strings["Currently archived"] = "Momenteel gearchiveerd";
+$a->strings["Currently pending"] = "Moeten nog geaccepteerd of afgewezen worden";
$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "We hebben een probleem ontdekt tijdens het inloggen met de OpenID die je hebt verstrekt. Controleer de ID op typefouten.";
$a->strings["The error message was:"] = "Het foutbericht was:";
$a->strings["Authentication failed."] = "Authenticatie mislukt.";
@@ -2049,20 +2024,20 @@ $a->strings["Location (URL) to purchase app"] = "Locatie (URL) om de app aan te
$a->strings["sent you a private message"] = "stuurde jou een privébericht";
$a->strings["added your channel"] = "voegde jouw kanaal toe";
$a->strings["posted an event"] = "plaatste een gebeurtenis";
-$a->strings["Comanche page description language help"] = "Hulp met de paginabeschrijvingstaal Comanche";
-$a->strings["Layout Description"] = "Lay-out-omschrijving";
-$a->strings["Download PDL file"] = "Download PDL-bestand";
-$a->strings["Welcome to %s"] = "Welkom op %s";
-$a->strings["Lorem Ipsum"] = "Lorem Ipsum";
+$a->strings["No such group"] = "Collectie niet gevonden";
+$a->strings["No such channel"] = "Niet zo'n kanaal";
+$a->strings["Search Results For:"] = "Zoekresultaten voor:";
+$a->strings["Collection is empty"] = "Collectie is leeg";
+$a->strings["Collection: "] = "Collectie: ";
+$a->strings["Connection: "] = "Connectie: ";
+$a->strings["Invalid connection."] = "Ongeldige connectie.";
+$a->strings["Ipsum Lorem"] = "Lorem ipsum";
$a->strings["Bookmark added"] = "Bladwijzer toegevoegd";
$a->strings["My Bookmarks"] = "Mijn bladwijzers";
$a->strings["My Connections Bookmarks"] = "Bladwijzers van mijn connecties";
$a->strings["Insufficient permissions. Request redirected to profile page."] = "Onvoldoende permissies. Doorgestuurd naar profielpagina.";
-$a->strings["This setting requires special processing and editing has been blocked."] = "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd.";
-$a->strings["Configuration Editor"] = "Configuratiebewerker";
-$a->strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. ";
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probeer het dan over 24 uur weer.";
-$a->strings["Poll"] = "Peiling";
+$a->strings["Poll"] = "Poll";
$a->strings["View Results"] = "Bekijk resultaten";
$a->strings["No service class restrictions found."] = "Geen abonnementsbeperkingen gevonden.";
$a->strings["Files: shared with me"] = "Bestanden: met mij gedeeld";
@@ -2075,7 +2050,7 @@ $a->strings["Monospace"] = "Monospace";
$a->strings["Theme settings"] = "Thema-instellingen";
$a->strings["Set scheme"] = "Schema van thema instellen";
$a->strings["Set font-size for posts and comments"] = "Lettergrootte voor berichten en reacties instellen";
-$a->strings["Set font face"] = "Lettertype instellen";
+$a->strings["Set font face"] = "Lettertypefamilie instellen";
$a->strings["Set iconset"] = "Pictogrammenset instellen";
$a->strings["Set big shadow size, default 15px 15px 15px"] = "Een grote schaduwgrootte instellen (standaard 15px 15px 15px)";
$a->strings["Set small shadow size, default 5px 5px 5px"] = "Een kleine schaduwgrootte instellen (standaard 5px 5px 5px)";
@@ -2098,12 +2073,12 @@ $a->strings["Item opacity"] = "Ondoorzichtigheid item";
$a->strings["Display post previews only"] = "Alleen voorvertoning berichten weergeven";
$a->strings["Display side bar on channel page"] = "Zijbalk op kanaalpagina weergeven";
$a->strings["Colour of the navigation bar"] = "Kleur van de navigatiebalk";
-$a->strings["Item float"] = "Positie van item (float)";
+$a->strings["Item float"] = "Item float";
$a->strings["Left offset of the section element"] = "Linker offset van het sectie-element";
$a->strings["Right offset of the section element"] = "Rechter offset van het sectie-element";
$a->strings["Section width"] = "Breedte van sectie";
-$a->strings["Left offset of the aside"] = "Linker offset van de zijbalk (aside)";
-$a->strings["Right offset of the aside element"] = "Rechter offset van de zijbalk (aside)";
+$a->strings["Left offset of the aside"] = "Rechter offset van aside (zijbalk)";
+$a->strings["Right offset of the aside element"] = "Rechter offset van het aside-element";
$a->strings["Light (Red Matrix default)"] = "Light (\$Projectname-standaard)";
$a->strings["Select scheme"] = "Kies schema van thema";
$a->strings["Narrow navbar"] = "Smalle navigatiebalk";
diff --git a/view/pdl/mod_events.pdl b/view/pdl/mod_events.pdl
new file mode 100644
index 000000000..5a9763297
--- /dev/null
+++ b/view/pdl/mod_events.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=tasklist][/widget]
+[/region]
diff --git a/view/pdl/mod_help.pdl b/view/pdl/mod_help.pdl
new file mode 100644
index 000000000..bafad3839
--- /dev/null
+++ b/view/pdl/mod_help.pdl
@@ -0,0 +1,3 @@
+[region=aside]
+[widget=helpindex][/widget]
+[/region]
diff --git a/view/pdl/mod_network.pdl b/view/pdl/mod_network.pdl
index 7a39017e3..b8817fd99 100644
--- a/view/pdl/mod_network.pdl
+++ b/view/pdl/mod_network.pdl
@@ -2,6 +2,7 @@
[region=aside]
[widget=collections][/widget]
+[widget=forums][/widget]
[widget=suggestions][/widget]
[widget=savedsearch][/widget]
[widget=filer][/widget]
diff --git a/view/pt-br/htconfig.tpl b/view/pt-br/htconfig.tpl
index 096143798..cc4087f96 100644
--- a/view/pt-br/htconfig.tpl
+++ b/view/pt-br/htconfig.tpl
@@ -30,7 +30,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
diff --git a/view/pt-br/messages.po b/view/pt-br/messages.po
index 2a0160e05..029642f9b 100644
--- a/view/pt-br/messages.po
+++ b/view/pt-br/messages.po
@@ -1,24 +1,24 @@
-# Red Matrix Project
-# Copyright (C) 2012-2014 the Red Matrix Project
+# Hubzilla Project
+# Copyright (C) 2012-2014 the Hubzilla Project
# This file is distributed under the same license as the Red package.
#
# Translators:
# Frederico Gonçalves Guimarães <frederico@teia.bio.br>, 2011
# Frederico Gonçalves Guimarães <frederico@teia.bio.br>, 2011
-# gabrielfedel <fedel@fedel.net.br>, 2015
# Frederico Gonçalves Guimarães <frederico@teia.bio.br>, 2011,2013
# Frederico Gonçalves Guimarães <frederico@teia.bio.br>, 2013-2014
# Frederico Gonçalves Guimarães <frederico@teia.bio.br>, 2011
# FULL NAME <EMAIL@ADDRESS>, 2011
-# Iske Solstag <solstag@member.fsf.org>, 2014-2015
-# Sérgio Lima <oigreslima@gmail.com>, 2014-2015
+# Iske Solstag <solstag@member.fsf.org>, 2014
+# Sérgio Lima <oigreslima@gmail.com>, 2014
# tony baldwin <tonybaldwin@gmx.com>, 2014
msgid ""
msgstr ""
-"Project-Id-Version: Redmatrix\n"
+"Project-Id-Version: Hubzilla\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-07-17 00:04-0700\n"
-"PO-Revision-Date: 2015-07-25 01:29+0000\n"
+"POT-Creation-Date: 2015-05-22 00:03-0700\n"
+"PO-Revision-Date: 2015-05-28 18:53+0000\n"
+
"Last-Translator: Iske Solstag <solstag@member.fsf.org>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/red-matrix/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
@@ -27,135 +27,430 @@ msgstr ""
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: ../../include/dba/dba_driver.php:141
+#: ../../include/dba/dba_driver.php:50
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Não foi possível localizar a informação de DNS para o servidor de banco de dados '%s'"
-#: ../../include/photo/photo_driver.php:687 ../../mod/profile_photo.php:143
-#: ../../mod/profile_photo.php:302 ../../mod/profile_photo.php:424
-#: ../../mod/photos.php:92 ../../mod/photos.php:637
+#: ../../include/photo/photo_driver.php:653 ../../include/photos.php:51
+#: ../../mod/photos.php:91 ../../mod/photos.php:660 ../../mod/photos.php:682
+#: ../../mod/profile_photo.php:142 ../../mod/profile_photo.php:301
+#: ../../mod/profile_photo.php:423
msgid "Profile Photos"
msgstr "Fotos do perfil"
-#: ../../include/menu.php:107 ../../include/page_widgets.php:8
-#: ../../include/page_widgets.php:36 ../../include/RedDAV/RedBrowser.php:266
-#: ../../include/ItemObject.php:100 ../../include/apps.php:254
-#: ../../mod/webpages.php:181 ../../mod/thing.php:227
-#: ../../mod/connections.php:382 ../../mod/connections.php:395
-#: ../../mod/connections.php:414 ../../mod/blocks.php:153
-#: ../../mod/editpost.php:106 ../../mod/editlayout.php:133
-#: ../../mod/editwebpage.php:178 ../../mod/editblock.php:134
-#: ../../mod/menu.php:103 ../../mod/settings.php:650 ../../mod/layouts.php:183
-msgid "Edit"
-msgstr "Editar"
+#: ../../include/text.php:329
+msgid "prev"
+msgstr "anterior"
+
+#: ../../include/text.php:331
+msgid "first"
+msgstr "primeiro"
+
+#: ../../include/text.php:360
+msgid "last"
+msgstr "último"
+
+#: ../../include/text.php:363
+msgid "next"
+msgstr "próximo"
+
+#: ../../include/text.php:373
+msgid "older"
+msgstr "mais antigo"
+
+#: ../../include/text.php:375
+msgid "newer"
+msgstr "mais recente"
+
+#: ../../include/text.php:768
+msgid "No connections"
+msgstr "Nenhuma conexão"
+
+#: ../../include/text.php:782
+#, php-format
+msgid "%d Connection"
+msgid_plural "%d Connections"
+msgstr[0] "%d conexão"
+msgstr[1] "%d conexões"
+
+#: ../../include/text.php:795 ../../mod/viewconnections.php:104
+msgid "View Connections"
+msgstr "Ver conexões"
+
+#: ../../include/text.php:852 ../../include/text.php:864
+#: ../../include/nav.php:165 ../../include/apps.php:147
+#: ../../mod/search.php:38
+msgid "Search"
+msgstr "Pesquisar"
+
+#: ../../include/text.php:853 ../../include/text.php:865
+#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
+#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1416
+#: ../../mod/admin.php:1436
+msgid "Save"
+msgstr "Salvar"
+
+#: ../../include/text.php:928
+msgid "poke"
+msgstr "cutucar"
+
+#: ../../include/text.php:928 ../../include/conversation.php:243
+msgid "poked"
+msgstr "cutucado"
+
+#: ../../include/text.php:929
+msgid "ping"
+msgstr "pingar"
+
+#: ../../include/text.php:929
+msgid "pinged"
+msgstr "pingou"
+
+#: ../../include/text.php:930
+msgid "prod"
+msgstr "espetar"
+
+#: ../../include/text.php:930
+msgid "prodded"
+msgstr "espetou"
+
+#: ../../include/text.php:931
+msgid "slap"
+msgstr "estapear"
+
+#: ../../include/text.php:931
+msgid "slapped"
+msgstr "estapeou"
+
+#: ../../include/text.php:932
+msgid "finger"
+msgstr "dar um toque"
+
+#: ../../include/text.php:932
+msgid "fingered"
+msgstr "deu um toque"
+
+#: ../../include/text.php:933
+msgid "rebuff"
+msgstr "rebater"
+
+#: ../../include/text.php:933
+msgid "rebuffed"
+msgstr "rebateu"
+
+#: ../../include/text.php:943
+msgid "happy"
+msgstr "feliz"
+
+#: ../../include/text.php:944
+msgid "sad"
+msgstr "triste"
+
+#: ../../include/text.php:945
+msgid "mellow"
+msgstr "suave"
+
+#: ../../include/text.php:946
+msgid "tired"
+msgstr "cansad@"
+
+#: ../../include/text.php:947
+msgid "perky"
+msgstr "animad@"
+
+#: ../../include/text.php:948
+msgid "angry"
+msgstr "nervos@"
+
+#: ../../include/text.php:949
+msgid "stupified"
+msgstr "embasbacad@"
+
+#: ../../include/text.php:950
+msgid "puzzled"
+msgstr "confus@"
+
+#: ../../include/text.php:951
+msgid "interested"
+msgstr "interessad@"
+
+#: ../../include/text.php:952
+msgid "bitter"
+msgstr "amarg@"
+
+#: ../../include/text.php:953
+msgid "cheerful"
+msgstr "animad@"
+
+#: ../../include/text.php:954
+msgid "alive"
+msgstr "viv@"
+
+#: ../../include/text.php:955
+msgid "annoyed"
+msgstr "aborrecid@"
+
+#: ../../include/text.php:956
+msgid "anxious"
+msgstr "ansios@"
+
+#: ../../include/text.php:957
+msgid "cranky"
+msgstr "irritad@"
+
+#: ../../include/text.php:958
+msgid "disturbed"
+msgstr "perturbad@"
+
+#: ../../include/text.php:959
+msgid "frustrated"
+msgstr "frustrad@"
+
+#: ../../include/text.php:960
+msgid "depressed"
+msgstr "deprimido"
+
+#: ../../include/text.php:961
+msgid "motivated"
+msgstr "motivad@"
+
+#: ../../include/text.php:962
+msgid "relaxed"
+msgstr "relaxad@"
+
+#: ../../include/text.php:963
+msgid "surprised"
+msgstr "surpres@"
+
+#: ../../include/text.php:1135
+msgid "Monday"
+msgstr "Segunda"
+
+#: ../../include/text.php:1135
+msgid "Tuesday"
+msgstr "Terça"
+
+#: ../../include/text.php:1135
+msgid "Wednesday"
+msgstr "Quarta"
+
+#: ../../include/text.php:1135
+msgid "Thursday"
+msgstr "Quinta"
+
+#: ../../include/text.php:1135
+msgid "Friday"
+msgstr "Sexta"
+
+#: ../../include/text.php:1135
+msgid "Saturday"
+msgstr "Sábado"
+
+#: ../../include/text.php:1135
+msgid "Sunday"
+msgstr "Domingo"
+
+#: ../../include/text.php:1139
+msgid "January"
+msgstr "Janeiro"
+
+#: ../../include/text.php:1139
+msgid "February"
+msgstr "Fevereiro"
+
+#: ../../include/text.php:1139
+msgid "March"
+msgstr "Março"
+
+#: ../../include/text.php:1139
+msgid "April"
+msgstr "Abril"
+
+#: ../../include/text.php:1139
+msgid "May"
+msgstr "Maio"
+
+#: ../../include/text.php:1139
+msgid "June"
+msgstr "Junho"
+
+#: ../../include/text.php:1139
+msgid "July"
+msgstr "Julho"
+
+#: ../../include/text.php:1139
+msgid "August"
+msgstr "Agosto"
+
+#: ../../include/text.php:1139
+msgid "September"
+msgstr "Setembro"
+
+#: ../../include/text.php:1139
+msgid "October"
+msgstr "Outubro"
+
+#: ../../include/text.php:1139
+msgid "November"
+msgstr "Novembro"
+
+#: ../../include/text.php:1139
+msgid "December"
+msgstr "Dezembro"
+
+#: ../../include/text.php:1244
+msgid "unknown.???"
+msgstr "desconhecido.???"
+
+#: ../../include/text.php:1245
+msgid "bytes"
+msgstr "bytes"
+
+#: ../../include/text.php:1281
+msgid "remove category"
+msgstr "remover categoria"
+
+#: ../../include/text.php:1356
+msgid "remove from file"
+msgstr "remover do arquivo"
+
+#: ../../include/text.php:1432 ../../include/text.php:1443
+#: ../../mod/connedit.php:661
+msgid "Click to open/close"
+msgstr "Clique para abrir/fechar"
+
+#: ../../include/text.php:1599 ../../mod/events.php:444
+msgid "Link to Source"
+msgstr "Link para a origem"
+
+#: ../../include/text.php:1620 ../../include/text.php:1691
+msgid "default"
+msgstr "default"
+
+#: ../../include/text.php:1628
+msgid "Page layout"
+msgstr "aparência da página"
-#: ../../include/diaspora.php:2115 ../../include/text.php:1888
-#: ../../include/conversation.php:120 ../../mod/like.php:346
+#: ../../include/text.php:1628
+msgid "You can create your own with the layouts tool"
+msgstr "Você pode criar sua própria com as ferramentas de layouts"
+
+#: ../../include/text.php:1669
+msgid "Page content type"
+msgstr "Tipo de conteúdo da página"
+
+#: ../../include/text.php:1703
+msgid "Select an alternate language"
+msgstr "Selecione um idioma alternativo"
+
+#: ../../include/text.php:1822 ../../include/conversation.php:120
+#: ../../include/diaspora.php:2081 ../../mod/like.php:346
#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
#: ../../mod/tagger.php:43
msgid "photo"
msgstr "foto"
-#: ../../include/diaspora.php:2115 ../../include/text.php:1894
-#: ../../include/conversation.php:148 ../../mod/like.php:346
+#: ../../include/text.php:1825 ../../include/conversation.php:123
+#: ../../mod/like.php:348 ../../mod/tagger.php:47
+msgid "event"
+msgstr "evento"
+
+#: ../../include/text.php:1828 ../../include/conversation.php:148
+#: ../../include/diaspora.php:2081 ../../mod/like.php:346
#: ../../mod/subthread.php:72 ../../mod/subthread.php:174
+#: ../../mod/tagger.php:51
msgid "status"
msgstr "status"
-#: ../../include/diaspora.php:2144 ../../include/conversation.php:164
-#: ../../mod/like.php:394
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s gosta de %3$s de %2$s"
-
-#: ../../include/diaspora.php:2490
-msgid "Please choose"
-msgstr "Por favor, escolha"
-
-#: ../../include/diaspora.php:2492
-msgid "Agree"
-msgstr "Concordo"
+#: ../../include/text.php:1830 ../../include/conversation.php:150
+#: ../../mod/tagger.php:53
+msgid "comment"
+msgstr "comentário"
-#: ../../include/diaspora.php:2494
-msgid "Disagree"
-msgstr "Discordo"
+#: ../../include/text.php:1835
+msgid "activity"
+msgstr "atividade"
-#: ../../include/diaspora.php:2496
-msgid "Abstain"
-msgstr "Abstenho"
+#: ../../include/text.php:2130
+msgid "Design Tools"
+msgstr "Ferramentas de Design"
-#: ../../include/diaspora.php:2518 ../../include/diaspora.php:2529
-#: ../../include/network.php:1586 ../../include/enotify.php:59
-#: ../../mod/p.php:46
-msgid "$projectname"
-msgstr "$projectname"
+#: ../../include/text.php:2133 ../../mod/blocks.php:147
+msgid "Blocks"
+msgstr "Blocos"
-#: ../../include/contact_selectors.php:56
-msgid "Frequently"
-msgstr "Frequentemente"
+#: ../../include/text.php:2134 ../../mod/menu.php:95
+msgid "Menus"
+msgstr "Menus"
-#: ../../include/contact_selectors.php:57
-msgid "Hourly"
-msgstr "De hora em hora"
+#: ../../include/text.php:2135 ../../mod/layouts.php:174
+msgid "Layouts"
+msgstr "Layouts"
-#: ../../include/contact_selectors.php:58
-msgid "Twice daily"
-msgstr "Duas vezes ao dia"
+#: ../../include/text.php:2136
+msgid "Pages"
+msgstr "Páginas"
-#: ../../include/contact_selectors.php:59
-msgid "Daily"
-msgstr "Diariamente"
+#: ../../include/text.php:2487 ../../include/RedDAV/RedBrowser.php:131
+msgid "Collection"
+msgstr "Coleção"
-#: ../../include/contact_selectors.php:60
-msgid "Weekly"
-msgstr "Semanalmente"
+#: ../../include/bbcode.php:122 ../../include/bbcode.php:761
+#: ../../include/bbcode.php:764 ../../include/bbcode.php:769
+#: ../../include/bbcode.php:772 ../../include/bbcode.php:775
+#: ../../include/bbcode.php:778 ../../include/bbcode.php:783
+#: ../../include/bbcode.php:786 ../../include/bbcode.php:791
+#: ../../include/bbcode.php:794 ../../include/bbcode.php:797
+#: ../../include/bbcode.php:800
+msgid "Image/photo"
+msgstr "Imagem/foto"
-#: ../../include/contact_selectors.php:61
-msgid "Monthly"
-msgstr "Mensalmente"
+#: ../../include/bbcode.php:161 ../../include/bbcode.php:811
+msgid "Encrypted content"
+msgstr "Conteúdo criptografado"
-#: ../../include/contact_selectors.php:76
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr "Instalar elemento %s:"
-#: ../../include/contact_selectors.php:77
-msgid "OStatus"
-msgstr "OStatus"
+#: ../../include/bbcode.php:188 ../../mod/impel.php:33
+msgid "webpage"
+msgstr "página web"
-#: ../../include/contact_selectors.php:78
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/bbcode.php:191 ../../mod/impel.php:43
+msgid "layout"
+msgstr "layout"
-#: ../../include/contact_selectors.php:79 ../../mod/admin.php:822
-#: ../../mod/admin.php:831 ../../mod/id.php:15 ../../mod/id.php:16
-#: ../../boot.php:1553
-msgid "Email"
-msgstr "E-mail"
+#: ../../include/bbcode.php:194 ../../mod/impel.php:38
+msgid "block"
+msgstr "bloco"
-#: ../../include/contact_selectors.php:80
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/bbcode.php:208
+msgid "QR code"
+msgstr "código QR"
-#: ../../include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/bbcode.php:259
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s escreveu a seguinte %2$s %3$s"
-#: ../../include/contact_selectors.php:82
-msgid "Zot!"
-msgstr "Zot!"
+#: ../../include/bbcode.php:261
+msgid "post"
+msgstr "publicação"
-#: ../../include/contact_selectors.php:83
-msgid "LinkedIn"
-msgstr "LinkedIn"
+#: ../../include/bbcode.php:511
+msgid "Different viewers will see this text differently"
+msgstr "Visualizadores diferentes verão esse texto diferentemente"
-#: ../../include/contact_selectors.php:84
-msgid "XMPP/IM"
-msgstr "XMPP/MI"
+#: ../../include/bbcode.php:722
+msgid "$1 spoiler"
+msgstr "$1 spoiler"
-#: ../../include/contact_selectors.php:85
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/bbcode.php:749
+msgid "$1 wrote:"
+msgstr "$1 escreveu:"
#: ../../include/notify.php:23
msgid "created a new post"
@@ -166,18 +461,6 @@ msgstr "criou uma nova publicação"
msgid "commented on %s's post"
msgstr "comentou a publicação de %s"
-#: ../../include/Import/import_diaspora.php:17
-msgid "No username found in import file."
-msgstr "Nenhum nome de usuário encontrado no arquivo de importação."
-
-#: ../../include/Import/import_diaspora.php:42 ../../mod/import.php:156
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "Não foi possível criar um endereço de canal único. Importação falhou."
-
-#: ../../include/Import/import_diaspora.php:140 ../../mod/import.php:504
-msgid "Import completed."
-msgstr "A importação foi completada."
-
#: ../../include/group.php:26
msgid ""
"A deleted group with this name was revived. Existing item permissions "
@@ -189,7 +472,7 @@ msgstr "Um grupo com esse nome, anteriormente excluído, foi reativado. Permiss
msgid "Default privacy group for new contacts"
msgstr "Grupo de privacidade padrão para novos contatos"
-#: ../../include/group.php:254 ../../mod/admin.php:831
+#: ../../include/group.php:254 ../../mod/admin.php:822
msgid "All Channels"
msgstr "Todos os canais"
@@ -256,7 +539,7 @@ msgid "Registration request at %s"
msgstr "Solicitação de registro em %s"
#: ../../include/account.php:314 ../../include/account.php:341
-#: ../../include/account.php:401 ../../include/network.php:1632
+#: ../../include/account.php:401
msgid "Administrator"
msgstr "Administrador"
@@ -307,7 +590,7 @@ msgstr "YYYY-MM-DD ou MM-DD"
msgid "Required"
msgstr "Obrigatório"
-#: ../../include/datetime.php:262 ../../boot.php:2355
+#: ../../include/datetime.php:262 ../../boot.php:2354
msgid "never"
msgstr "nunca"
@@ -387,69 +670,41 @@ msgstr "Aniversário de %1$s "
msgid "Happy Birthday %1$s"
msgstr "Feliz Aniversário %1$s"
-#: ../../include/dir_fns.php:126
-msgid "Directory Options"
-msgstr "Opções do Diretório"
-
-#: ../../include/dir_fns.php:128
-msgid "Safe Mode"
-msgstr "Modo tranquilo"
-
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:106
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:428
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../mod/connedit.php:631 ../../mod/connedit.php:659
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "No"
-msgstr "Não"
-
-#: ../../include/dir_fns.php:128 ../../include/dir_fns.php:129
-#: ../../include/dir_fns.php:130 ../../mod/api.php:105
-#: ../../mod/photos.php:568 ../../mod/mitem.php:157 ../../mod/mitem.php:158
-#: ../../mod/mitem.php:229 ../../mod/mitem.php:230 ../../mod/menu.php:91
-#: ../../mod/menu.php:147 ../../mod/filestorage.php:151
-#: ../../mod/filestorage.php:159 ../../mod/admin.php:430
-#: ../../mod/settings.php:579 ../../mod/removeme.php:60
-#: ../../view/theme/redbasic/php/config.php:104
-#: ../../view/theme/redbasic/php/config.php:129 ../../boot.php:1555
-msgid "Yes"
-msgstr "Sim"
-
-#: ../../include/dir_fns.php:129
-msgid "Public Forums Only"
-msgstr "Somente Fóruns públicos"
-
-#: ../../include/dir_fns.php:130
-msgid "This Website Only"
-msgstr "Somente este Website"
-
#: ../../include/page_widgets.php:6
msgid "New Page"
msgstr "Nova página"
-#: ../../include/page_widgets.php:39 ../../mod/webpages.php:187
+#: ../../include/page_widgets.php:8 ../../include/page_widgets.php:36
+#: ../../include/RedDAV/RedBrowser.php:269 ../../include/ItemObject.php:100
+#: ../../include/apps.php:254 ../../include/menu.php:61
+#: ../../mod/settings.php:649 ../../mod/webpages.php:180
+#: ../../mod/thing.php:227 ../../mod/connections.php:382
+#: ../../mod/connections.php:395 ../../mod/connections.php:414
+#: ../../mod/blocks.php:153 ../../mod/editlayout.php:139
+#: ../../mod/editwebpage.php:178 ../../mod/editpost.php:113
+#: ../../mod/menu.php:100 ../../mod/editblock.php:140
+#: ../../mod/layouts.php:183
+msgid "Edit"
+msgstr "Editar"
+
+#: ../../include/page_widgets.php:39 ../../mod/webpages.php:186
#: ../../mod/blocks.php:159 ../../mod/layouts.php:188
msgid "View"
msgstr "Ver"
#: ../../include/page_widgets.php:40 ../../include/ItemObject.php:677
-#: ../../include/conversation.php:1155 ../../mod/webpages.php:188
-#: ../../mod/events.php:653 ../../mod/editpost.php:143
-#: ../../mod/photos.php:982 ../../mod/editwebpage.php:214
-#: ../../mod/editblock.php:170
+#: ../../include/conversation.php:1155 ../../mod/webpages.php:187
+#: ../../mod/events.php:653 ../../mod/photos.php:970
+#: ../../mod/editwebpage.php:214 ../../mod/editpost.php:150
+#: ../../mod/editblock.php:176
msgid "Preview"
msgstr "Pré-visualizar"
-#: ../../include/page_widgets.php:41 ../../mod/webpages.php:189
+#: ../../include/page_widgets.php:41 ../../mod/webpages.php:188
msgid "Actions"
msgstr "Ações"
-#: ../../include/page_widgets.php:42 ../../mod/webpages.php:190
+#: ../../include/page_widgets.php:42 ../../mod/webpages.php:189
msgid "Page Link"
msgstr "Link da página"
@@ -457,40 +712,76 @@ msgstr "Link da página"
msgid "Title"
msgstr "Título"
-#: ../../include/page_widgets.php:44 ../../mod/webpages.php:192
-#: ../../mod/blocks.php:150 ../../mod/menu.php:105 ../../mod/layouts.php:181
+#: ../../include/page_widgets.php:44 ../../mod/webpages.php:191
+#: ../../mod/blocks.php:150 ../../mod/layouts.php:181
msgid "Created"
msgstr "Criado"
-#: ../../include/page_widgets.php:45 ../../mod/webpages.php:193
-#: ../../mod/blocks.php:151 ../../mod/menu.php:106 ../../mod/layouts.php:182
+#: ../../include/page_widgets.php:45 ../../mod/webpages.php:192
+#: ../../mod/blocks.php:151 ../../mod/layouts.php:182
msgid "Edited"
msgstr "Editado"
-#: ../../include/api.php:1193
+#: ../../include/api.php:1161
msgid "Public Timeline"
msgstr "Linha do tempo pública"
-#: ../../include/comanche.php:34 ../../mod/admin.php:390
+#: ../../include/comanche.php:34 ../../mod/admin.php:386
#: ../../view/theme/apw/php/config.php:185
msgid "Default"
msgstr "Default"
-#: ../../include/event.php:19 ../../include/bb2diaspora.php:459
+#: ../../include/dir_fns.php:143
+msgid "Directory Options"
+msgstr "Opções do Diretório"
+
+#: ../../include/dir_fns.php:144
+msgid "Alphabetic"
+msgstr "Alfabética"
+
+#: ../../include/dir_fns.php:145
+msgid "Reverse Alphabetic"
+msgstr "Alfabética reversa"
+
+#: ../../include/dir_fns.php:146
+msgid "Newest to Oldest"
+msgstr "Das mais recentes para as mais antigas"
+
+#: ../../include/dir_fns.php:147
+msgid "Oldest to Newest"
+msgstr "Do mais Antigo para o mais Novo"
+
+#: ../../include/dir_fns.php:148
+msgid "Sort"
+msgstr "Ordenar"
+
+#: ../../include/dir_fns.php:152
+msgid "Safe Mode"
+msgstr "Modo tranquilo"
+
+#: ../../include/dir_fns.php:154
+msgid "Public Forums Only"
+msgstr "Somente Fóruns públicos"
+
+#: ../../include/dir_fns.php:155
+msgid "This Website Only"
+msgstr "Somente este Website"
+
+#: ../../include/event.php:19 ../../include/bb2diaspora.php:451
msgid "l F d, Y \\@ g:i A"
msgstr "l F d, Y \\@ g:i A"
-#: ../../include/event.php:27 ../../include/bb2diaspora.php:465
+#: ../../include/event.php:27 ../../include/bb2diaspora.php:457
msgid "Starts:"
msgstr "Início:"
-#: ../../include/event.php:37 ../../include/bb2diaspora.php:473
+#: ../../include/event.php:37 ../../include/bb2diaspora.php:465
msgid "Finishes:"
msgstr "Fim:"
-#: ../../include/event.php:47 ../../include/bb2diaspora.php:481
-#: ../../include/identity.php:908 ../../mod/directory.php:302
-#: ../../mod/events.php:647
+#: ../../include/event.php:47 ../../include/bb2diaspora.php:473
+#: ../../include/identity.php:874 ../../mod/events.php:647
+#: ../../mod/directory.php:234
msgid "Location:"
msgstr "Localização:"
@@ -503,7 +794,7 @@ msgid "Delete this item?"
msgstr "Excluir este item?"
#: ../../include/js_strings.php:6 ../../include/ItemObject.php:667
-#: ../../mod/photos.php:980 ../../mod/photos.php:1098
+#: ../../mod/photos.php:968 ../../mod/photos.php:1086
msgid "Comment"
msgstr "Comentar"
@@ -531,7 +822,7 @@ msgstr "A senha é muito curta"
msgid "Passwords do not match"
msgstr "As senhas não correspondem"
-#: ../../include/js_strings.php:13 ../../mod/photos.php:40
+#: ../../include/js_strings.php:13 ../../mod/photos.php:39
msgid "everybody"
msgstr "todos"
@@ -560,7 +851,6 @@ msgid "Rate This Channel (this is public)"
msgstr "Avalie esse canal (isso é público)"
#: ../../include/js_strings.php:20 ../../mod/rate.php:156
-#: ../../mod/connedit.php:667
msgid "Rating"
msgstr "Avaliação"
@@ -569,25 +859,25 @@ msgid "Describe (optional)"
msgstr "Descreva (opcional)"
#: ../../include/js_strings.php:22 ../../include/ItemObject.php:668
-#: ../../mod/xchan.php:11 ../../mod/connect.php:93 ../../mod/thing.php:275
-#: ../../mod/thing.php:318 ../../mod/events.php:656 ../../mod/group.php:81
-#: ../../mod/photos.php:577 ../../mod/photos.php:654 ../../mod/photos.php:941
-#: ../../mod/photos.php:981 ../../mod/photos.php:1099 ../../mod/pdledit.php:58
-#: ../../mod/import.php:534 ../../mod/chat.php:177 ../../mod/chat.php:211
-#: ../../mod/mitem.php:232 ../../mod/rate.php:167 ../../mod/invite.php:142
-#: ../../mod/locs.php:105 ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/settings.php:587 ../../mod/settings.php:689
+#: ../../mod/settings.php:715 ../../mod/settings.php:743
+#: ../../mod/settings.php:766 ../../mod/settings.php:848
+#: ../../mod/settings.php:1044 ../../mod/xchan.php:11 ../../mod/connect.php:93
+#: ../../mod/thing.php:275 ../../mod/thing.php:318 ../../mod/events.php:656
+#: ../../mod/group.php:81 ../../mod/setup.php:313 ../../mod/setup.php:358
+#: ../../mod/photos.php:565 ../../mod/photos.php:642 ../../mod/photos.php:929
+#: ../../mod/photos.php:969 ../../mod/photos.php:1087 ../../mod/pdledit.php:58
+#: ../../mod/import.php:504 ../../mod/chat.php:177 ../../mod/chat.php:211
+#: ../../mod/rate.php:167 ../../mod/invite.php:142 ../../mod/locs.php:105
+#: ../../mod/sources.php:104 ../../mod/sources.php:138
#: ../../mod/filestorage.php:156 ../../mod/fsuggest.php:108
-#: ../../mod/poke.php:166 ../../mod/profiles.php:667 ../../mod/setup.php:327
-#: ../../mod/setup.php:367 ../../mod/admin.php:453 ../../mod/admin.php:819
-#: ../../mod/admin.php:986 ../../mod/admin.php:1118 ../../mod/admin.php:1312
-#: ../../mod/admin.php:1397 ../../mod/settings.php:588
-#: ../../mod/settings.php:692 ../../mod/settings.php:718
-#: ../../mod/settings.php:746 ../../mod/settings.php:769
-#: ../../mod/settings.php:854 ../../mod/settings.php:1050
-#: ../../mod/mood.php:134 ../../mod/connedit.php:688 ../../mod/mail.php:355
-#: ../../mod/appman.php:99 ../../mod/pconfig.php:108 ../../mod/poll.php:68
-#: ../../mod/bulksetclose.php:24 ../../view/theme/apw/php/config.php:256
-#: ../../view/theme/redbasic/php/config.php:99
+#: ../../mod/poke.php:166 ../../mod/profiles.php:667 ../../mod/admin.php:446
+#: ../../mod/admin.php:810 ../../mod/admin.php:946 ../../mod/admin.php:1077
+#: ../../mod/admin.php:1271 ../../mod/admin.php:1356 ../../mod/mitem.php:237
+#: ../../mod/mood.php:134 ../../mod/connedit.php:679 ../../mod/mail.php:355
+#: ../../mod/appman.php:99 ../../mod/poll.php:68 ../../mod/bulksetclose.php:24
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/redbasic/php/config.php:97
msgid "Submit"
msgstr "Enviar"
@@ -672,350 +962,8 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/text.php:395
-msgid "prev"
-msgstr "anterior"
-
-#: ../../include/text.php:397
-msgid "first"
-msgstr "primeiro"
-
-#: ../../include/text.php:426
-msgid "last"
-msgstr "último"
-
-#: ../../include/text.php:429
-msgid "next"
-msgstr "próximo"
-
-#: ../../include/text.php:439
-msgid "older"
-msgstr "mais antigo"
-
-#: ../../include/text.php:441
-msgid "newer"
-msgstr "mais recente"
-
-#: ../../include/text.php:834
-msgid "No connections"
-msgstr "Nenhuma conexão"
-
-#: ../../include/text.php:848
-#, php-format
-msgid "%d Connection"
-msgid_plural "%d Connections"
-msgstr[0] "%d conexão"
-msgstr[1] "%d conexões"
-
-#: ../../include/text.php:861 ../../mod/viewconnections.php:104
-msgid "View Connections"
-msgstr "Ver conexões"
-
-#: ../../include/text.php:918 ../../include/text.php:930
-#: ../../include/nav.php:165 ../../include/apps.php:147
-#: ../../mod/search.php:38
-msgid "Search"
-msgstr "Pesquisar"
-
-#: ../../include/text.php:919 ../../include/text.php:931
-#: ../../include/widgets.php:192 ../../mod/rbmark.php:28
-#: ../../mod/rbmark.php:98 ../../mod/filer.php:50 ../../mod/admin.php:1457
-#: ../../mod/admin.php:1477
-msgid "Save"
-msgstr "Salvar"
-
-#: ../../include/text.php:994
-msgid "poke"
-msgstr "cutucar"
-
-#: ../../include/text.php:994 ../../include/conversation.php:243
-msgid "poked"
-msgstr "cutucado"
-
-#: ../../include/text.php:995
-msgid "ping"
-msgstr "pingar"
-
-#: ../../include/text.php:995
-msgid "pinged"
-msgstr "pingou"
-
-#: ../../include/text.php:996
-msgid "prod"
-msgstr "espetar"
-
-#: ../../include/text.php:996
-msgid "prodded"
-msgstr "espetou"
-
-#: ../../include/text.php:997
-msgid "slap"
-msgstr "estapear"
-
-#: ../../include/text.php:997
-msgid "slapped"
-msgstr "estapeou"
-
-#: ../../include/text.php:998
-msgid "finger"
-msgstr "dar um toque"
-
-#: ../../include/text.php:998
-msgid "fingered"
-msgstr "deu um toque"
-
-#: ../../include/text.php:999
-msgid "rebuff"
-msgstr "rebater"
-
-#: ../../include/text.php:999
-msgid "rebuffed"
-msgstr "rebateu"
-
-#: ../../include/text.php:1009
-msgid "happy"
-msgstr "feliz"
-
-#: ../../include/text.php:1010
-msgid "sad"
-msgstr "triste"
-
-#: ../../include/text.php:1011
-msgid "mellow"
-msgstr "suave"
-
-#: ../../include/text.php:1012
-msgid "tired"
-msgstr "cansad@"
-
-#: ../../include/text.php:1013
-msgid "perky"
-msgstr "animad@"
-
-#: ../../include/text.php:1014
-msgid "angry"
-msgstr "nervos@"
-
-#: ../../include/text.php:1015
-msgid "stupified"
-msgstr "embasbacad@"
-
-#: ../../include/text.php:1016
-msgid "puzzled"
-msgstr "confus@"
-
-#: ../../include/text.php:1017
-msgid "interested"
-msgstr "interessad@"
-
-#: ../../include/text.php:1018
-msgid "bitter"
-msgstr "amarg@"
-
-#: ../../include/text.php:1019
-msgid "cheerful"
-msgstr "animad@"
-
-#: ../../include/text.php:1020
-msgid "alive"
-msgstr "viv@"
-
-#: ../../include/text.php:1021
-msgid "annoyed"
-msgstr "aborrecid@"
-
-#: ../../include/text.php:1022
-msgid "anxious"
-msgstr "ansios@"
-
-#: ../../include/text.php:1023
-msgid "cranky"
-msgstr "irritad@"
-
-#: ../../include/text.php:1024
-msgid "disturbed"
-msgstr "perturbad@"
-
-#: ../../include/text.php:1025
-msgid "frustrated"
-msgstr "frustrad@"
-
-#: ../../include/text.php:1026
-msgid "depressed"
-msgstr "deprimido"
-
-#: ../../include/text.php:1027
-msgid "motivated"
-msgstr "motivad@"
-
-#: ../../include/text.php:1028
-msgid "relaxed"
-msgstr "relaxad@"
-
-#: ../../include/text.php:1029
-msgid "surprised"
-msgstr "surpres@"
-
-#: ../../include/text.php:1201
-msgid "Monday"
-msgstr "Segunda"
-
-#: ../../include/text.php:1201
-msgid "Tuesday"
-msgstr "Terça"
-
-#: ../../include/text.php:1201
-msgid "Wednesday"
-msgstr "Quarta"
-
-#: ../../include/text.php:1201
-msgid "Thursday"
-msgstr "Quinta"
-
-#: ../../include/text.php:1201
-msgid "Friday"
-msgstr "Sexta"
-
-#: ../../include/text.php:1201
-msgid "Saturday"
-msgstr "Sábado"
-
-#: ../../include/text.php:1201
-msgid "Sunday"
-msgstr "Domingo"
-
-#: ../../include/text.php:1205
-msgid "January"
-msgstr "Janeiro"
-
-#: ../../include/text.php:1205
-msgid "February"
-msgstr "Fevereiro"
-
-#: ../../include/text.php:1205
-msgid "March"
-msgstr "Março"
-
-#: ../../include/text.php:1205
-msgid "April"
-msgstr "Abril"
-
-#: ../../include/text.php:1205
-msgid "May"
-msgstr "Maio"
-
-#: ../../include/text.php:1205
-msgid "June"
-msgstr "Junho"
-
-#: ../../include/text.php:1205
-msgid "July"
-msgstr "Julho"
-
-#: ../../include/text.php:1205
-msgid "August"
-msgstr "Agosto"
-
-#: ../../include/text.php:1205
-msgid "September"
-msgstr "Setembro"
-
-#: ../../include/text.php:1205
-msgid "October"
-msgstr "Outubro"
-
-#: ../../include/text.php:1205
-msgid "November"
-msgstr "Novembro"
-
-#: ../../include/text.php:1205
-msgid "December"
-msgstr "Dezembro"
-
-#: ../../include/text.php:1310
-msgid "unknown.???"
-msgstr "desconhecido.???"
-
-#: ../../include/text.php:1311
-msgid "bytes"
-msgstr "bytes"
-
-#: ../../include/text.php:1347
-msgid "remove category"
-msgstr "remover categoria"
-
-#: ../../include/text.php:1422
-msgid "remove from file"
-msgstr "remover do arquivo"
-
-#: ../../include/text.php:1498 ../../include/text.php:1509
-msgid "Click to open/close"
-msgstr "Clique para abrir/fechar"
-
-#: ../../include/text.php:1665 ../../mod/events.php:444
-msgid "Link to Source"
-msgstr "Link para a origem"
-
-#: ../../include/text.php:1686 ../../include/text.php:1757
-msgid "default"
-msgstr "default"
-
-#: ../../include/text.php:1694
-msgid "Page layout"
-msgstr "aparência da página"
-
-#: ../../include/text.php:1694
-msgid "You can create your own with the layouts tool"
-msgstr "Você pode criar sua própria com as ferramentas de layouts"
-
-#: ../../include/text.php:1735
-msgid "Page content type"
-msgstr "Tipo de conteúdo da página"
-
-#: ../../include/text.php:1769
-msgid "Select an alternate language"
-msgstr "Selecione um idioma alternativo"
-
-#: ../../include/text.php:1891 ../../include/conversation.php:123
-#: ../../mod/like.php:348 ../../mod/tagger.php:47
-msgid "event"
-msgstr "evento"
-
-#: ../../include/text.php:1896 ../../include/conversation.php:150
-#: ../../mod/tagger.php:53
-msgid "comment"
-msgstr "comentário"
-
-#: ../../include/text.php:1901
-msgid "activity"
-msgstr "atividade"
-
-#: ../../include/text.php:2196
-msgid "Design Tools"
-msgstr "Ferramentas de Design"
-
-#: ../../include/text.php:2199 ../../mod/blocks.php:147
-msgid "Blocks"
-msgstr "Blocos"
-
-#: ../../include/text.php:2200 ../../mod/menu.php:98
-msgid "Menus"
-msgstr "Menus"
-
-#: ../../include/text.php:2201 ../../mod/layouts.php:174
-msgid "Layouts"
-msgstr "Layouts"
-
-#: ../../include/text.php:2202
-msgid "Pages"
-msgstr "Páginas"
-
-#: ../../include/text.php:2553 ../../include/RedDAV/RedBrowser.php:131
-msgid "Collection"
-msgstr "Coleção"
-
#: ../../include/RedDAV/RedBrowser.php:107
-#: ../../include/RedDAV/RedBrowser.php:265
+#: ../../include/RedDAV/RedBrowser.php:268
msgid "parent"
msgstr "nível superior"
@@ -1041,7 +989,7 @@ msgstr "Caixa de saída da agenda"
#: ../../include/RedDAV/RedBrowser.php:164 ../../include/conversation.php:1019
#: ../../include/apps.php:336 ../../include/apps.php:387
-#: ../../mod/photos.php:693 ../../mod/photos.php:1131
+#: ../../mod/photos.php:681 ../../mod/photos.php:1119
msgid "Unknown"
msgstr "Desconhecido"
@@ -1070,51 +1018,52 @@ msgid "Shared"
msgstr "Compartilhado"
#: ../../include/RedDAV/RedBrowser.php:256
-#: ../../include/RedDAV/RedBrowser.php:303 ../../mod/webpages.php:180
-#: ../../mod/blocks.php:152 ../../mod/menu.php:109
-#: ../../mod/new_channel.php:121 ../../mod/layouts.php:175
+#: ../../include/RedDAV/RedBrowser.php:306 ../../mod/webpages.php:179
+#: ../../mod/blocks.php:152 ../../mod/menu.php:104 ../../mod/layouts.php:175
+#: ../../mod/new_channel.php:121
msgid "Create"
msgstr "Criar"
#: ../../include/RedDAV/RedBrowser.php:257
-#: ../../include/RedDAV/RedBrowser.php:305 ../../mod/profile_photo.php:362
-#: ../../mod/photos.php:718 ../../mod/photos.php:1248
+#: ../../include/RedDAV/RedBrowser.php:308 ../../mod/profile_photo.php:362
+#: ../../mod/photos.php:706 ../../mod/photos.php:1236
msgid "Upload"
msgstr "Enviar"
-#: ../../include/RedDAV/RedBrowser.php:261 ../../mod/admin.php:994
-#: ../../mod/settings.php:590 ../../mod/settings.php:616
+#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/settings.php:589
+#: ../../mod/settings.php:615 ../../mod/admin.php:953
#: ../../mod/sharedwithme.php:95
msgid "Name"
msgstr "Nome"
-#: ../../include/RedDAV/RedBrowser.php:262
+#: ../../include/RedDAV/RedBrowser.php:265
msgid "Type"
msgstr "Tipo"
-#: ../../include/RedDAV/RedBrowser.php:263 ../../mod/sharedwithme.php:97
+#: ../../include/RedDAV/RedBrowser.php:266 ../../mod/sharedwithme.php:97
msgid "Size"
msgstr "Tamanho"
-#: ../../include/RedDAV/RedBrowser.php:264 ../../mod/sharedwithme.php:98
+#: ../../include/RedDAV/RedBrowser.php:267 ../../mod/sharedwithme.php:98
msgid "Last Modified"
msgstr "Última modificação"
-#: ../../include/RedDAV/RedBrowser.php:267 ../../include/ItemObject.php:120
+#: ../../include/RedDAV/RedBrowser.php:270 ../../include/ItemObject.php:120
#: ../../include/conversation.php:660 ../../include/apps.php:255
-#: ../../mod/webpages.php:183 ../../mod/thing.php:228 ../../mod/group.php:176
-#: ../../mod/blocks.php:155 ../../mod/photos.php:1062
-#: ../../mod/editlayout.php:178 ../../mod/editwebpage.php:225
-#: ../../mod/editblock.php:180 ../../mod/admin.php:826 ../../mod/admin.php:988
-#: ../../mod/settings.php:651 ../../mod/connedit.php:547
+#: ../../mod/settings.php:650 ../../mod/webpages.php:182
+#: ../../mod/thing.php:228 ../../mod/group.php:176 ../../mod/blocks.php:155
+#: ../../mod/photos.php:1050 ../../mod/editlayout.php:107
+#: ../../mod/editwebpage.php:225 ../../mod/admin.php:817
+#: ../../mod/admin.php:948 ../../mod/editblock.php:113
+#: ../../mod/connedit.php:543
msgid "Delete"
msgstr "Excluir"
-#: ../../include/RedDAV/RedBrowser.php:302
+#: ../../include/RedDAV/RedBrowser.php:305
msgid "Create new folder"
msgstr "Criar uma nova pasta"
-#: ../../include/RedDAV/RedBrowser.php:304
+#: ../../include/RedDAV/RedBrowser.php:307
msgid "Upload file"
msgstr "Enviar arquivo"
@@ -1127,23 +1076,6 @@ msgstr "Links guardados de %1$s"
msgid "view full size"
msgstr "ver na tela inteira"
-#: ../../include/network.php:1585 ../../include/enotify.php:58
-msgid "$Projectname Notification"
-msgstr "$Projectname Notificação"
-
-#: ../../include/network.php:1588 ../../include/enotify.php:61
-msgid "Thank You,"
-msgstr "Obrigado(a),"
-
-#: ../../include/network.php:1590 ../../include/enotify.php:63
-#, php-format
-msgid "%s Administrator"
-msgstr "Administrador de %s"
-
-#: ../../include/network.php:1646
-msgid "No Subject"
-msgstr "Sem Assunto"
-
#: ../../include/features.php:38
msgid "General Features"
msgstr "Recursos gerais"
@@ -1252,7 +1184,7 @@ msgid ""
"(320px) photo thumbnails"
msgstr "Inclua miniatura grande (640px) no texto. Se não habilitado, use miniatura pequena (320px)"
-#: ../../include/features.php:59 ../../include/widgets.php:548
+#: ../../include/features.php:59 ../../include/widgets.php:546
#: ../../mod/sources.php:88
msgid "Channel Sources"
msgstr "Fontes do canal"
@@ -1272,11 +1204,11 @@ msgstr "Permitir encriptação opcional de conteúdo, ponta-a-ponta com uma chav
#: ../../include/features.php:61
msgid "Enable voting tools"
-msgstr "Habilitar ferramentas de enquete"
+msgstr "Habilitar ferramenta de votos"
#: ../../include/features.php:61
msgid "Provide a class of post which others can vote on"
-msgstr "Forneça uma classe de publicação que permite enquetes"
+msgstr "Forneça uma classe de publicação que outros possam votar"
#: ../../include/features.php:67
msgid "Network and Stream Filtering"
@@ -1331,71 +1263,63 @@ msgid "Filter stream activity by depth of relationships"
msgstr "Filtra o fluxo de atividades de acordo com o nível do relacionamento"
#: ../../include/features.php:74
-msgid "Connection Filtering"
-msgstr "Filtragem de conexões"
-
-#: ../../include/features.php:74
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtrar publicações de conexões baseado em palavras-chave/conteúdo"
-
-#: ../../include/features.php:75
msgid "Suggest Channels"
msgstr "Sugerir canais"
-#: ../../include/features.php:75
+#: ../../include/features.php:74
msgid "Show channel suggestions"
msgstr "Exibir sugestões de canais"
-#: ../../include/features.php:80
+#: ../../include/features.php:79
msgid "Post/Comment Tools"
msgstr "Ferramentas de publicação/comentário"
-#: ../../include/features.php:81
+#: ../../include/features.php:80
msgid "Tagging"
msgstr "Etiquetagem"
-#: ../../include/features.php:81
+#: ../../include/features.php:80
msgid "Ability to tag existing posts"
msgstr "Possibilidade de colocar etiquetas em publicações existentes"
-#: ../../include/features.php:82
+#: ../../include/features.php:81
msgid "Post Categories"
msgstr "Categorizar publicações"
-#: ../../include/features.php:82
+#: ../../include/features.php:81
msgid "Add categories to your posts"
msgstr "Adiciona categorias às suas publicações"
-#: ../../include/features.php:83 ../../include/widgets.php:304
+#: ../../include/features.php:82 ../../include/widgets.php:304
#: ../../include/contact_widgets.php:57
msgid "Saved Folders"
msgstr "Pastas salvas"
-#: ../../include/features.php:83
+#: ../../include/features.php:82
msgid "Ability to file posts under folders"
msgstr "Possibilidade de arquivar publicações em pastas"
-#: ../../include/features.php:84
+#: ../../include/features.php:83
msgid "Dislike Posts"
msgstr "Desgostar de publicações"
-#: ../../include/features.php:84
+#: ../../include/features.php:83
msgid "Ability to dislike posts/comments"
msgstr "Possibilidade de desgostar de publicações/comentários"
-#: ../../include/features.php:85
+#: ../../include/features.php:84
msgid "Star Posts"
msgstr "Destacar publicações"
-#: ../../include/features.php:85
+#: ../../include/features.php:84
msgid "Ability to mark special posts with a star indicator"
msgstr "Possibilidade de marcar publicações em destaque com uma estrela indicadora"
-#: ../../include/features.php:86
+#: ../../include/features.php:85
msgid "Tag Cloud"
msgstr "Nuvem de etiquetas"
-#: ../../include/features.php:86
+#: ../../include/features.php:85
msgid "Provide a personal tag cloud on your channel page"
msgstr "Fornece uma nuvem de etiquetas pessoais à página do seu canal"
@@ -1405,7 +1329,7 @@ msgid "Categories"
msgstr "Categorias"
#: ../../include/widgets.php:91 ../../include/nav.php:163
-#: ../../mod/apps.php:36
+#: ../../mod/apps.php:34
msgid "Apps"
msgstr "Aplicações"
@@ -1427,8 +1351,8 @@ msgstr "Editar aplicações pessoais"
#: ../../include/widgets.php:136 ../../include/widgets.php:175
#: ../../include/Contact.php:107 ../../include/conversation.php:945
-#: ../../include/identity.php:857 ../../mod/directory.php:316
-#: ../../mod/match.php:64 ../../mod/suggest.php:52
+#: ../../include/identity.php:823 ../../mod/match.php:64
+#: ../../mod/directory.php:302 ../../mod/suggest.php:52
msgid "Connect"
msgstr "Conectar"
@@ -1478,119 +1402,137 @@ msgstr "Tudo"
msgid "Archives"
msgstr "Arquivos"
-#: ../../include/widgets.php:429 ../../mod/connedit.php:567
+#: ../../include/widgets.php:427 ../../mod/connedit.php:572
msgid "Me"
msgstr "Eu"
-#: ../../include/widgets.php:430 ../../mod/connedit.php:568
+#: ../../include/widgets.php:428 ../../mod/connedit.php:573
msgid "Family"
msgstr "Família"
-#: ../../include/widgets.php:431 ../../include/identity.php:394
+#: ../../include/widgets.php:429 ../../include/identity.php:394
#: ../../include/identity.php:395 ../../include/identity.php:402
-#: ../../include/profile_selectors.php:80 ../../mod/settings.php:345
-#: ../../mod/settings.php:349 ../../mod/settings.php:350
-#: ../../mod/settings.php:353 ../../mod/settings.php:364
-#: ../../mod/connedit.php:569
+#: ../../include/profile_selectors.php:80 ../../mod/settings.php:344
+#: ../../mod/settings.php:348 ../../mod/settings.php:349
+#: ../../mod/settings.php:352 ../../mod/settings.php:363
+#: ../../mod/connedit.php:574
msgid "Friends"
msgstr "Amigos"
-#: ../../include/widgets.php:432 ../../mod/connedit.php:570
+#: ../../include/widgets.php:430 ../../mod/connedit.php:575
msgid "Acquaintances"
msgstr "Conhecidos"
-#: ../../include/widgets.php:433 ../../mod/connections.php:231
-#: ../../mod/connections.php:246 ../../mod/connedit.php:571
+#: ../../include/widgets.php:431 ../../mod/connections.php:231
+#: ../../mod/connections.php:246 ../../mod/connedit.php:576
msgid "All"
msgstr "Todos"
-#: ../../include/widgets.php:452
+#: ../../include/widgets.php:450
msgid "Refresh"
msgstr "Atualizar"
-#: ../../include/widgets.php:487
+#: ../../include/widgets.php:485
msgid "Account settings"
msgstr "Configurações da conta"
-#: ../../include/widgets.php:493
+#: ../../include/widgets.php:491
msgid "Channel settings"
msgstr "Configurações do canal"
-#: ../../include/widgets.php:499
+#: ../../include/widgets.php:497
msgid "Additional features"
msgstr "Recursos adicionais"
-#: ../../include/widgets.php:505
+#: ../../include/widgets.php:503
msgid "Feature/Addon settings"
msgstr "Configurações característica/plugins"
-#: ../../include/widgets.php:511
+#: ../../include/widgets.php:509
msgid "Display settings"
msgstr "Configurações de exibição"
-#: ../../include/widgets.php:517
+#: ../../include/widgets.php:515
msgid "Connected apps"
msgstr "Aplicações conectadas"
-#: ../../include/widgets.php:523
+#: ../../include/widgets.php:521
msgid "Export channel"
msgstr "Exportar o canal"
-#: ../../include/widgets.php:532 ../../mod/connedit.php:658
+#: ../../include/widgets.php:530 ../../mod/connedit.php:653
msgid "Connection Default Permissions"
msgstr "Permissões padrão para conexões"
-#: ../../include/widgets.php:540
+#: ../../include/widgets.php:538
msgid "Premium Channel Settings"
msgstr "Configurações de canal premium"
-#: ../../include/widgets.php:556 ../../include/nav.php:208
-#: ../../include/apps.php:134 ../../mod/admin.php:1079
-#: ../../mod/admin.php:1279
+#: ../../include/widgets.php:554 ../../include/nav.php:208
+#: ../../include/apps.php:134 ../../mod/admin.php:1038
+#: ../../mod/admin.php:1238
msgid "Settings"
msgstr "Configurações"
-#: ../../include/widgets.php:569 ../../mod/message.php:31
+#: ../../include/widgets.php:567 ../../mod/message.php:31
#: ../../mod/mail.php:128
msgid "Messages"
msgstr "Mensagens"
-#: ../../include/widgets.php:572
+#: ../../include/widgets.php:570
msgid "Check Mail"
msgstr "Checar mensagens"
-#: ../../include/widgets.php:577 ../../include/nav.php:199
+#: ../../include/widgets.php:575 ../../include/nav.php:199
msgid "New Message"
msgstr "Nova mensagem"
-#: ../../include/widgets.php:652
+#: ../../include/widgets.php:650
msgid "Chat Rooms"
msgstr "Salas de bate-papo"
-#: ../../include/widgets.php:672
+#: ../../include/widgets.php:670
msgid "Bookmarked Chatrooms"
msgstr "Salas de bate-papo guardadas"
-#: ../../include/widgets.php:692
+#: ../../include/widgets.php:690
msgid "Suggested Chatrooms"
msgstr "Salas de bate-papo sugeridas"
-#: ../../include/widgets.php:819 ../../include/widgets.php:877
+#: ../../include/widgets.php:817 ../../include/widgets.php:875
msgid "photo/image"
msgstr "foto/imagem"
-#: ../../include/widgets.php:972 ../../include/widgets.php:974
+#: ../../include/widgets.php:970 ../../include/widgets.php:972
msgid "Rate Me"
msgstr "Avalie-me"
-#: ../../include/widgets.php:978
+#: ../../include/widgets.php:976
msgid "View Ratings"
msgstr "Ver avaliações"
-#: ../../include/widgets.php:989
+#: ../../include/widgets.php:987
msgid "Public Hubs"
msgstr "Hubs Públicos"
+#: ../../include/enotify.php:58
+msgid "$Projectname Notification"
+msgstr "$Projectname Notificação"
+
+#: ../../include/enotify.php:59 ../../include/diaspora.php:2461
+#: ../../include/diaspora.php:2472 ../../mod/p.php:46
+msgid "$projectname"
+msgstr "$projectname"
+
+#: ../../include/enotify.php:61
+msgid "Thank You,"
+msgstr "Obrigado(a),"
+
+#: ../../include/enotify.php:63
+#, php-format
+msgid "%s Administrator"
+msgstr "Administrador de %s"
+
#: ../../include/enotify.php:96
#, php-format
msgid "%s <!item_type!>"
@@ -1770,6 +1712,72 @@ msgstr "Por favor, visite %s para aprovar ou rejeitar a sugestão."
msgid "[Red:Notify]"
msgstr "[Red:Notify]"
+#: ../../include/contact_selectors.php:56
+msgid "Frequently"
+msgstr "Frequentemente"
+
+#: ../../include/contact_selectors.php:57
+msgid "Hourly"
+msgstr "De hora em hora"
+
+#: ../../include/contact_selectors.php:58
+msgid "Twice daily"
+msgstr "Duas vezes ao dia"
+
+#: ../../include/contact_selectors.php:59
+msgid "Daily"
+msgstr "Diariamente"
+
+#: ../../include/contact_selectors.php:60
+msgid "Weekly"
+msgstr "Semanalmente"
+
+#: ../../include/contact_selectors.php:61
+msgid "Monthly"
+msgstr "Mensalmente"
+
+#: ../../include/contact_selectors.php:76
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/contact_selectors.php:77
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/contact_selectors.php:78
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/contact_selectors.php:79 ../../mod/admin.php:813
+#: ../../mod/admin.php:822 ../../mod/id.php:15 ../../mod/id.php:16
+#: ../../boot.php:1552
+msgid "Email"
+msgstr "E-mail"
+
+#: ../../include/contact_selectors.php:80
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/contact_selectors.php:82
+msgid "Zot!"
+msgstr "Zot!"
+
+#: ../../include/contact_selectors.php:83
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/contact_selectors.php:84
+msgid "XMPP/IM"
+msgstr "XMPP/MI"
+
+#: ../../include/contact_selectors.php:85
+msgid "MySpace"
+msgstr "MySpace"
+
#: ../../include/message.php:18
msgid "No recipient provided."
msgstr "Falta o destinatário."
@@ -1802,23 +1810,19 @@ msgstr "A resposta do canal remoto está incompleta."
msgid "Channel was deleted and no longer exists."
msgstr "O canal foi deletado e não existe mais."
-#: ../../include/follow.php:135 ../../include/follow.php:206
+#: ../../include/follow.php:135 ../../include/follow.php:197
msgid "Protocol disabled."
msgstr "Protocolo desabilitado."
-#: ../../include/follow.php:144
-msgid "Protocol blocked for this channel."
-msgstr "Protocolo bloqueado para este canal."
-
-#: ../../include/follow.php:179
+#: ../../include/follow.php:170
msgid "Channel discovery failed."
msgstr "A descoberta de canais falhou."
-#: ../../include/follow.php:195
+#: ../../include/follow.php:186
msgid "local account not found."
msgstr "a conta local não foi encontrada."
-#: ../../include/follow.php:224
+#: ../../include/follow.php:215
msgid "Cannot connect to yourself."
msgstr "Não é possível conectar-se consigo mesmo."
@@ -1859,14 +1863,14 @@ msgid "I abstain"
msgstr "Me abstenho"
#: ../../include/ItemObject.php:175 ../../include/ItemObject.php:187
-#: ../../include/conversation.php:1677 ../../mod/photos.php:1015
-#: ../../mod/photos.php:1027
+#: ../../include/conversation.php:1677 ../../mod/photos.php:1003
+#: ../../mod/photos.php:1015
msgid "View all"
msgstr "Ver tudo"
#: ../../include/ItemObject.php:179 ../../include/taxonomy.php:396
-#: ../../include/conversation.php:1701 ../../include/identity.php:1167
-#: ../../mod/photos.php:1019
+#: ../../include/conversation.php:1701 ../../include/identity.php:1133
+#: ../../mod/photos.php:1007
msgctxt "noun"
msgid "Like"
msgid_plural "Likes"
@@ -1874,7 +1878,7 @@ msgstr[0] "gostou"
msgstr[1] "gostaram"
#: ../../include/ItemObject.php:184 ../../include/conversation.php:1704
-#: ../../mod/photos.php:1024
+#: ../../mod/photos.php:1012
msgctxt "noun"
msgid "Dislike"
msgid_plural "Dislikes"
@@ -1909,7 +1913,7 @@ msgstr "A assinatura desta mensagem é incorreta"
msgid "Add Tag"
msgstr "Adiciona etiqueta"
-#: ../../include/ItemObject.php:254 ../../mod/photos.php:959
+#: ../../include/ItemObject.php:254 ../../mod/photos.php:947
msgid "I like this (toggle)"
msgstr "Eu gostei disso (alterna)"
@@ -1917,7 +1921,7 @@ msgstr "Eu gostei disso (alterna)"
msgid "like"
msgstr "gostei"
-#: ../../include/ItemObject.php:255 ../../mod/photos.php:960
+#: ../../include/ItemObject.php:255 ../../mod/photos.php:948
msgid "I don't like this (toggle)"
msgstr "Eu não gostei disso (alterna)"
@@ -1988,61 +1992,61 @@ msgstr "Adicione ao calendário"
msgid "Mark all seen"
msgstr "Marcar todos como visto"
-#: ../../include/ItemObject.php:353 ../../mod/photos.php:1145
+#: ../../include/ItemObject.php:353 ../../mod/photos.php:1133
msgctxt "noun"
msgid "Likes"
msgstr "Gostaram"
-#: ../../include/ItemObject.php:354 ../../mod/photos.php:1146
+#: ../../include/ItemObject.php:354 ../../mod/photos.php:1134
msgctxt "noun"
msgid "Dislikes"
msgstr "Desgostaram"
#: ../../include/ItemObject.php:359 ../../include/acl_selectors.php:249
-#: ../../mod/photos.php:1151
+#: ../../mod/photos.php:1139
msgid "Close"
msgstr "Fechar"
#: ../../include/ItemObject.php:364 ../../include/conversation.php:737
-#: ../../include/conversation.php:1209 ../../mod/editpost.php:123
-#: ../../mod/photos.php:962 ../../mod/editlayout.php:147
-#: ../../mod/editwebpage.php:192 ../../mod/editblock.php:149
+#: ../../include/conversation.php:1209 ../../mod/photos.php:950
+#: ../../mod/editlayout.php:153 ../../mod/editwebpage.php:192
+#: ../../mod/editpost.php:130 ../../mod/editblock.php:155
#: ../../mod/mail.php:241 ../../mod/mail.php:356
msgid "Please wait"
msgstr "Por favor, espere"
-#: ../../include/ItemObject.php:665 ../../mod/photos.php:978
-#: ../../mod/photos.php:1096
+#: ../../include/ItemObject.php:665 ../../mod/photos.php:966
+#: ../../mod/photos.php:1084
msgid "This is you"
msgstr "Este(a) é você"
#: ../../include/ItemObject.php:669 ../../include/conversation.php:1181
-#: ../../mod/editpost.php:107 ../../mod/editlayout.php:134
-#: ../../mod/editwebpage.php:179 ../../mod/editblock.php:135
+#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:179
+#: ../../mod/editpost.php:114 ../../mod/editblock.php:141
msgid "Bold"
msgstr "Negrito"
#: ../../include/ItemObject.php:670 ../../include/conversation.php:1182
-#: ../../mod/editpost.php:108 ../../mod/editlayout.php:135
-#: ../../mod/editwebpage.php:180 ../../mod/editblock.php:136
+#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:180
+#: ../../mod/editpost.php:115 ../../mod/editblock.php:142
msgid "Italic"
msgstr "Itálico"
#: ../../include/ItemObject.php:671 ../../include/conversation.php:1183
-#: ../../mod/editpost.php:109 ../../mod/editlayout.php:136
-#: ../../mod/editwebpage.php:181 ../../mod/editblock.php:137
+#: ../../mod/editlayout.php:142 ../../mod/editwebpage.php:181
+#: ../../mod/editpost.php:116 ../../mod/editblock.php:143
msgid "Underline"
msgstr "Sublinhado"
#: ../../include/ItemObject.php:672 ../../include/conversation.php:1184
-#: ../../mod/editpost.php:110 ../../mod/editlayout.php:137
-#: ../../mod/editwebpage.php:182 ../../mod/editblock.php:138
+#: ../../mod/editlayout.php:143 ../../mod/editwebpage.php:182
+#: ../../mod/editpost.php:117 ../../mod/editblock.php:144
msgid "Quote"
msgstr "Citação"
#: ../../include/ItemObject.php:673 ../../include/conversation.php:1185
-#: ../../mod/editpost.php:111 ../../mod/editlayout.php:138
-#: ../../mod/editwebpage.php:183 ../../mod/editblock.php:139
+#: ../../mod/editlayout.php:144 ../../mod/editwebpage.php:183
+#: ../../mod/editpost.php:118 ../../mod/editblock.php:145
msgid "Code"
msgstr "Código"
@@ -2059,7 +2063,7 @@ msgid "Video"
msgstr "Vídeo"
#: ../../include/ItemObject.php:680 ../../include/conversation.php:1236
-#: ../../mod/editpost.php:151 ../../mod/mail.php:247 ../../mod/mail.php:361
+#: ../../mod/editpost.php:158 ../../mod/mail.php:247 ../../mod/mail.php:361
msgid "Encrypt text"
msgstr "Encriptar texto"
@@ -2071,7 +2075,7 @@ msgstr "Nova janela"
msgid "Open the selected location in a different window or browser tab"
msgstr "Abre a localização selecionada em outra aba ou janela"
-#: ../../include/Contact.php:215 ../../mod/admin.php:739
+#: ../../include/Contact.php:215 ../../mod/admin.php:730
#, php-format
msgid "User '%s' deleted"
msgstr "O usuário/a '%s' foi deletado/a"
@@ -2080,83 +2084,81 @@ msgstr "O usuário/a '%s' foi deletado/a"
msgid "Attachments:"
msgstr "Anexos:"
-#: ../../include/bb2diaspora.php:461
+#: ../../include/bb2diaspora.php:453
msgid "$Projectname event notification:"
msgstr "Notificação de evento em $Projectname:"
-#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1550
+#: ../../include/nav.php:87 ../../include/nav.php:120 ../../boot.php:1549
msgid "Logout"
msgstr "Sair"
-#: ../../include/nav.php:87 ../../include/nav.php:120
-msgid "End this session"
-msgstr "Encerrar essa sessão"
+#: ../../include/reddav.php:1346
+msgid "Upload file"
+msgstr "Enviar arquivo"
-#: ../../include/nav.php:90 ../../include/nav.php:151
-msgid "Home"
-msgstr "Ver canal"
+#: ../../include/reddav.php:1347 ../../mod/photos.php:1241
+#: ../../mod/profile_photo.php:361
+msgid "Upload"
+msgstr "Enviar"
-#: ../../include/nav.php:90
-msgid "Your posts and conversations"
-msgstr "Suas publicações e conversas"
+#: ../../include/chat.php:10
+msgid "Missing room name"
+msgstr "Nome da sala vazio"
-#: ../../include/nav.php:91 ../../include/conversation.php:942
-#: ../../mod/connedit.php:498
-msgid "View Profile"
-msgstr "Ver perfil"
+#: ../../include/chat.php:19
+msgid "Duplicate room name"
+msgstr "Nome da sala duplicado"
-#: ../../include/nav.php:91
-msgid "Your profile page"
-msgstr "A página do seu perfil"
+#: ../../include/chat.php:68 ../../include/chat.php:76
+msgid "Invalid room specifier."
+msgstr "Especificador de sala inválido."
-#: ../../include/nav.php:93
-msgid "Edit Profiles"
-msgstr "Editar perfis"
+#: ../../include/chat.php:105
+msgid "Room not found."
+msgstr "A sala não foi encontrada."
-#: ../../include/nav.php:93
-msgid "Manage/Edit profiles"
-msgstr "Administrar/Editar perfis"
+#: ../../include/chat.php:126
+msgid "Room is full"
+msgstr "A sala está cheia"
-#: ../../include/nav.php:95 ../../include/identity.php:880
-msgid "Edit Profile"
-msgstr "Editar perfil"
+#: ../../include/features.php:23
+msgid "General Features"
+msgstr "Recursos gerais"
-#: ../../include/nav.php:95
-msgid "Edit your profile"
-msgstr "Editar seu perfil"
+#: ../../include/features.php:25
+msgid "Content Expiration"
+msgstr "Expiração de conteúdo"
-#: ../../include/nav.php:97 ../../include/conversation.php:1600
-#: ../../include/apps.php:139 ../../mod/fbrowser.php:25
-msgid "Photos"
-msgstr "Fotos"
+#: ../../include/features.php:25
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Remover publicações/comentários e/ou mensagens privadas num momento futuro."
-#: ../../include/nav.php:97
-msgid "Your photos"
-msgstr "Suas fotos"
+#: ../../include/features.php:26
+msgid "Multiple Profiles"
+msgstr "Múltiplos perfis"
-#: ../../include/nav.php:98
-msgid "Your files"
-msgstr "Seus arquivos"
+#: ../../include/features.php:26
+msgid "Ability to create multiple profiles"
+msgstr "Possibilidade de criar múltiplos perfis"
-#: ../../include/nav.php:103 ../../include/apps.php:146
-msgid "Chat"
-msgstr "Bate-papo"
+#: ../../include/features.php:27
+msgid "Advanced Profiles"
+msgstr "Perfis avançados"
-#: ../../include/nav.php:103
-msgid "Your chatrooms"
-msgstr "Suas salas de bate-papo"
+#: ../../include/features.php:27
+msgid "Additional profile sections and selections"
+msgstr "Seções e seleções adicionais no perfil"
-#: ../../include/nav.php:109 ../../include/conversation.php:1635
-#: ../../include/apps.php:129
-msgid "Bookmarks"
-msgstr "Marcadores"
+#: ../../include/features.php:28
+msgid "Profile Import/Export"
+msgstr "Importar/exportar perfis"
-#: ../../include/nav.php:109
-msgid "Your bookmarks"
-msgstr "Seus links guardados"
+#: ../../include/features.php:28
+msgid "Save and load profile details across sites/channels"
+msgstr "Salvar e carregar detalhes de perfis entre sites/canais"
#: ../../include/nav.php:113 ../../include/conversation.php:1645
-#: ../../include/apps.php:136 ../../mod/webpages.php:178
+#: ../../include/apps.php:136 ../../mod/webpages.php:177
msgid "Webpages"
msgstr "Páginas web"
@@ -2164,236 +2166,354 @@ msgstr "Páginas web"
msgid "Your webpages"
msgstr "Suas páginas web"
-#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1551
+#: ../../include/nav.php:117 ../../include/apps.php:131 ../../boot.php:1550
msgid "Login"
msgstr "Entrar"
-#: ../../include/nav.php:117
-msgid "Sign in"
-msgstr "Entrar"
+#: ../../include/features.php:30
+msgid "Private Notes"
+msgstr "Notas privadas"
-#: ../../include/nav.php:134
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - clique para sair"
+#: ../../include/features.php:30
+msgid "Enables a tool to store notes and reminders"
+msgstr "Habilita uma ferramenta para guardar notas e lembretes"
-#: ../../include/nav.php:137
-msgid "Remote authentication"
-msgstr "Autenticação remota"
+#: ../../include/features.php:34
+msgid "Navigation Channel Select"
+msgstr "Seletor de canais na navegação"
-#: ../../include/nav.php:137
-msgid "Click to authenticate to your home hub"
-msgstr "Clique para se autenticar com seu hub de origem"
+#: ../../include/features.php:34
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Trocar canais diretamente a partir do menu expansível na navegação"
-#: ../../include/nav.php:151
-msgid "Home Page"
-msgstr "Página inicial"
+#: ../../include/features.php:38
+msgid "Extended Identity Sharing"
+msgstr "Compartilhamento estendido de identidade"
-#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1527
+#: ../../include/nav.php:155 ../../mod/register.php:224 ../../boot.php:1526
msgid "Register"
msgstr "Registrar"
-#: ../../include/nav.php:155
-msgid "Create an account"
-msgstr "Criar uma conta"
+#: ../../include/features.php:39
+msgid "Expert Mode"
+msgstr "Modo Expert"
#: ../../include/nav.php:160 ../../include/apps.php:142 ../../mod/help.php:67
#: ../../mod/help.php:72 ../../mod/layouts.php:176
msgid "Help"
msgstr "Ajuda"
-#: ../../include/nav.php:160
-msgid "Help and documentation"
-msgstr "Ajuda e documentação"
+#: ../../include/features.php:40
+msgid "Premium Channel"
+msgstr "Canal premium"
-#: ../../include/nav.php:163
-msgid "Applications, utilities, links, games"
-msgstr "Aplicações, utilitários, links, jogos"
+#: ../../include/features.php:40
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Permite definir restrições e termos para aqueles que se conectarem ao seu canal"
-#: ../../include/nav.php:165
-msgid "Search site content"
-msgstr "Pesquisar o conteúdo do site"
+#: ../../include/features.php:45
+msgid "Post Composition Features"
+msgstr "Recursos de composição de publicações"
-#: ../../include/nav.php:168 ../../include/apps.php:141
-msgid "Directory"
-msgstr "Diretório"
+#: ../../include/features.php:47
+msgid "Use Markdown"
+msgstr "Usar Markdown"
-#: ../../include/nav.php:168
-msgid "Channel Directory"
-msgstr "Diretório de canais"
+#: ../../include/features.php:47
+msgid "Allow use of \"Markdown\" to format posts"
+msgstr "Permitir o uso de \"Markdown\" para formatar publicações"
-#: ../../include/nav.php:180 ../../include/apps.php:133
-msgid "Matrix"
-msgstr "Matrix"
+#: ../../include/features.php:48
+msgid "Post Preview"
+msgstr "Pré-visualizar a publicação"
-#: ../../include/nav.php:180
-msgid "Your matrix"
-msgstr "Sua matriz"
+#: ../../include/features.php:48
+msgid "Allow previewing posts and comments before publishing them"
+msgstr "Permite visualizar publicações e comentários antes de publicá-los"
-#: ../../include/nav.php:181
-msgid "Mark all matrix notifications seen"
-msgstr "Marcar todas as notificações da matriz como vistas"
+#: ../../include/features.php:49 ../../include/widgets.php:510
+#: ../../mod/sources.php:88
+msgid "Channel Sources"
+msgstr "Fontes do canal"
-#: ../../include/nav.php:183 ../../include/apps.php:137
-msgid "Channel Home"
-msgstr "Página inicial do canal"
+#: ../../include/features.php:49
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Importar automaticamente conteúdo de outros canais ou fontes"
-#: ../../include/nav.php:183
-msgid "Channel home"
-msgstr "Página inicial do canal"
+#: ../../include/features.php:50
+msgid "Even More Encryption"
+msgstr "Mais encriptação ainda"
-#: ../../include/nav.php:184
-msgid "Mark all channel notifications seen"
-msgstr "Marcar todas as notificações de canais como vistas"
+#: ../../include/features.php:50
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Permitir encriptação opcional de conteúdo, ponta-a-ponta com uma chave secreta compartilhada"
-#: ../../include/nav.php:187 ../../mod/connections.php:407
-msgid "Connections"
-msgstr "Conexões"
+#: ../../include/features.php:55
+msgid "Network and Stream Filtering"
+msgstr "Filtragem de rede e fluxo"
-#: ../../include/nav.php:190
-msgid "Notices"
-msgstr "Notificações"
+#: ../../include/features.php:56
+msgid "Search by Date"
+msgstr "Pesquisar por data"
-#: ../../include/nav.php:190
-msgid "Notifications"
-msgstr "Notificações"
+#: ../../include/features.php:56
+msgid "Ability to select posts by date ranges"
+msgstr "capacidade de selecionar publicações por intervalos de datas"
-#: ../../include/nav.php:191
-msgid "See all notifications"
-msgstr "Ver todas as notificações"
+#: ../../include/features.php:57
+msgid "Collections Filter"
+msgstr "Filtros de coleções"
-#: ../../include/nav.php:192 ../../mod/notifications.php:99
-msgid "Mark all system notifications seen"
-msgstr "Marcar todas as notificações de sistema como vistas"
+#: ../../include/features.php:57
+msgid "Enable widget to display Network posts only from selected collections"
+msgstr "Habilita widget para exibir publicações da rede apenas para determinadas coleções"
-#: ../../include/nav.php:194 ../../include/apps.php:143
-msgid "Mail"
-msgstr "Mensagens"
+#: ../../include/features.php:58 ../../include/widgets.php:272
+msgid "Saved Searches"
+msgstr "Pesquisas salvas"
-#: ../../include/nav.php:194
-msgid "Private mail"
-msgstr "Mensagens privadas"
+#: ../../include/features.php:58
+msgid "Save search terms for re-use"
+msgstr "Termos de pesquisa salvos para reutilização"
-#: ../../include/nav.php:195
-msgid "See all private messages"
-msgstr "Ver todas as mensagens privadas"
+#: ../../include/features.php:59
+msgid "Network Personal Tab"
+msgstr "Aba de interações na rede"
-#: ../../include/nav.php:196
-msgid "Mark all private messages seen"
-msgstr "Marcar todas as mensagens privadas como vistas"
+#: ../../include/features.php:59
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Habilita uma aba para exibir apenas publicações da rede com as quais você interagiu"
-#: ../../include/nav.php:197
-msgid "Inbox"
-msgstr "Recebidas"
+#: ../../include/features.php:60
+msgid "Network New Tab"
+msgstr "Aba de novidades da rede"
-#: ../../include/nav.php:198
-msgid "Outbox"
-msgstr "Enviadas"
+#: ../../include/features.php:60
+msgid "Enable tab to display all new Network activity"
+msgstr "Habilita uma aba para exibir todas as novas atividades da rede"
-#: ../../include/nav.php:202 ../../include/apps.php:140
-#: ../../mod/events.php:472
-msgid "Events"
-msgstr "Eventos"
+#: ../../include/features.php:61
+msgid "Affinity Tool"
+msgstr "Ferramenta de afinidade"
-#: ../../include/nav.php:202
-msgid "Event Calendar"
-msgstr "Agenda de eventos"
+#: ../../include/features.php:61
+msgid "Filter stream activity by depth of relationships"
+msgstr "Filtra o fluxo de atividades de acordo com o nível do relacionamento"
-#: ../../include/nav.php:203
-msgid "See all events"
-msgstr "Ver todos os eventos"
+#: ../../include/features.php:62
+msgid "Suggest Channels"
+msgstr "Sugerir canais"
-#: ../../include/nav.php:204
-msgid "Mark all events seen"
-msgstr "Marcar todos os eventos como vistos"
+#: ../../include/features.php:62
+msgid "Show channel suggestions"
+msgstr "Exibir sugestões de canais"
-#: ../../include/nav.php:206 ../../include/apps.php:132
-#: ../../mod/manage.php:166
-msgid "Channel Manager"
-msgstr "Gerenciador de canais"
+#: ../../include/features.php:67
+msgid "Post/Comment Tools"
+msgstr "Ferramentas de publicação/comentário"
-#: ../../include/nav.php:206
-msgid "Manage Your Channels"
-msgstr "Gerencie os seus canais"
+#: ../../include/features.php:69
+msgid "Edit Sent Posts"
+msgstr "Editar publicações enviadas"
-#: ../../include/nav.php:208
-msgid "Account/Channel Settings"
-msgstr "Configurações da conta/canal"
+#: ../../include/features.php:69
+msgid "Edit and correct posts and comments after sending"
+msgstr "Edita e corrige publicações e comentários após terem sido enviados"
-#: ../../include/nav.php:216 ../../mod/admin.php:120
-msgid "Admin"
-msgstr "Admin"
+#: ../../include/features.php:70
+msgid "Tagging"
+msgstr "Etiquetagem"
-#: ../../include/nav.php:216
-msgid "Site Setup and Configuration"
-msgstr "Configuração do site"
+#: ../../include/features.php:70
+msgid "Ability to tag existing posts"
+msgstr "Possibilidade de colocar etiquetas em publicações existentes"
-#: ../../include/nav.php:247 ../../include/conversation.php:850
-msgid "Loading..."
-msgstr "Carregando..."
+#: ../../include/features.php:71
+msgid "Post Categories"
+msgstr "Categorizar publicações"
-#: ../../include/nav.php:252
-msgid "@name, #tag, content"
-msgstr "@nome, #etiqueta, conteúdo"
+#: ../../include/features.php:71
+msgid "Add categories to your posts"
+msgstr "Adiciona categorias às suas publicações"
-#: ../../include/nav.php:253
-msgid "Please wait..."
-msgstr "Por favor, aguarde..."
+#: ../../include/features.php:72
+msgid "Ability to file posts under folders"
+msgstr "Possibilidade de arquivar publicações em pastas"
-#: ../../include/taxonomy.php:222 ../../include/taxonomy.php:243
-msgid "Tags"
-msgstr "Etiquetas"
+#: ../../include/features.php:73
+msgid "Dislike Posts"
+msgstr "Desgostar de publicações"
-#: ../../include/taxonomy.php:287
-msgid "Keywords"
-msgstr "Palavras-chave"
+#: ../../include/features.php:73
+msgid "Ability to dislike posts/comments"
+msgstr "Possibilidade de desgostar de publicações/comentários"
+
+#: ../../include/features.php:74
+msgid "Star Posts"
+msgstr "Destacar publicações"
+
+#: ../../include/features.php:74
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Possibilidade de marcar publicações em destaque com uma estrela indicadora"
+
+#: ../../include/features.php:75
+msgid "Tag Cloud"
+msgstr "Nuvem de etiquetas"
+
+#: ../../include/features.php:75
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Fornece uma nuvem de etiquetas pessoais à página do seu canal"
+
+#: ../../include/follow.php:26
+msgid "Channel is blocked on this site."
+msgstr "O canal está bloqueado neste site."
+
+#: ../../include/follow.php:31
+msgid "Channel location missing."
+msgstr "A localização do canal foi perdida"
+
+#: ../../include/follow.php:80
+msgid "Response from remote channel was incomplete."
+msgstr "A resposta do canal remoto está incompleta."
+
+#: ../../include/follow.php:97
+msgid "Channel was deleted and no longer exists."
+msgstr "O canal foi deletado e não existe mais."
+
+#: ../../include/follow.php:133 ../../include/follow.php:202
+msgid "Protocol disabled."
+msgstr "Protocolo desabilitado."
-#: ../../include/taxonomy.php:308
-msgid "have"
-msgstr "tenho"
+#: ../../include/follow.php:176
+msgid "Channel discovery failed."
+msgstr "A descoberta de canais falhou."
-#: ../../include/taxonomy.php:308
-msgid "has"
-msgstr "tem"
+#: ../../include/follow.php:192
+msgid "local account not found."
+msgstr "a conta local não foi encontrada."
-#: ../../include/taxonomy.php:309
-msgid "want"
-msgstr "quero"
+#: ../../include/follow.php:219
+msgid "Cannot connect to yourself."
+msgstr "Não é possível conectar-se consigo mesmo."
-#: ../../include/taxonomy.php:309
-msgid "wants"
-msgstr "quer"
+#: ../../include/items.php:375 ../../mod/profperm.php:23
+#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/like.php:242
+#: ../../index.php:364
+msgid "Permission denied"
+msgstr "Permissão negada"
+
+#: ../../include/items.php:1020 ../../include/items.php:1066
+msgid "(Unknown)"
+msgstr "(Desconhecido)"
-#: ../../include/taxonomy.php:310
-msgid "likes"
-msgstr "gosta"
+#: ../../include/items.php:1234
+msgid "Visible to anybody on the internet."
+msgstr "Visívil para todos na internet."
-#: ../../include/taxonomy.php:311
-msgid "dislikes"
-msgstr "desgosta"
+#: ../../include/items.php:1236
+msgid "Visible to you only."
+msgstr "Visível somente para você."
-#: ../../include/activities.php:39
-msgid " and "
-msgstr " e "
+#: ../../include/items.php:1238
+msgid "Visible to anybody in this network."
+msgstr "Visível para todos nesta rede."
-#: ../../include/activities.php:47
-msgid "public profile"
-msgstr "perfil público"
+#: ../../include/items.php:1240
+msgid "Visible to anybody authenticated."
+msgstr "Visível para todos autenticados."
-#: ../../include/activities.php:56
+#: ../../include/items.php:1242
#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s mudou %2$s para &ldquo;%3$s&rdquo;"
+msgid "Visible to anybody on %s."
+msgstr "Visível para todos em %s."
+
+#: ../../include/items.php:1244
+msgid "Visible to all connections."
+msgstr "Visível para quaisquer conexões."
+
+#: ../../include/items.php:1246
+msgid "Visible to approved connections."
+msgstr "Visível para conexões aprovadas."
+
+#: ../../include/items.php:1248
+msgid "Visible to specific connections."
+msgstr "Visível para conexões específicas."
+
+#: ../../include/items.php:4060 ../../mod/thing.php:74
+#: ../../mod/display.php:36 ../../mod/filestorage.php:27
+#: ../../mod/viewsrc.php:20 ../../mod/admin.php:167 ../../mod/admin.php:984
+#: ../../mod/admin.php:1184
+msgid "Item not found."
+msgstr "O item não foi encontrado."
+
+#: ../../include/items.php:4133 ../../include/photos.php:26
+#: ../../include/attach.php:137 ../../include/attach.php:184
+#: ../../include/attach.php:247 ../../include/attach.php:261
+#: ../../include/attach.php:305 ../../include/attach.php:319
+#: ../../include/attach.php:350 ../../include/attach.php:546
+#: ../../include/attach.php:618 ../../include/chat.php:131
+#: ../../mod/profile.php:64 ../../mod/profile.php:72
+#: ../../mod/achievements.php:30 ../../mod/manage.php:6
+#: ../../mod/settings.php:569 ../../mod/api.php:26 ../../mod/api.php:31
+#: ../../mod/webpages.php:69 ../../mod/thing.php:241 ../../mod/thing.php:256
+#: ../../mod/thing.php:290 ../../mod/profile_photo.php:264
+#: ../../mod/profile_photo.php:277 ../../mod/block.php:22
+#: ../../mod/block.php:72 ../../mod/like.php:178 ../../mod/events.php:219
+#: ../../mod/group.php:9 ../../mod/setup.php:207 ../../mod/common.php:35
+#: ../../mod/connections.php:169 ../../mod/blocks.php:69
+#: ../../mod/blocks.php:76 ../../mod/photos.php:68 ../../mod/pdledit.php:21
+#: ../../mod/authtest.php:13 ../../mod/editlayout.php:63
+#: ../../mod/editlayout.php:87 ../../mod/chat.php:90 ../../mod/chat.php:95
+#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
+#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
+#: ../../mod/rate.php:110 ../../mod/editpost.php:13 ../../mod/invite.php:13
+#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
+#: ../../mod/menu.php:69 ../../mod/filestorage.php:18
+#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
+#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
+#: ../../mod/poke.php:128 ../../mod/profiles.php:188
+#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14
+#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
+#: ../../mod/editblock.php:65 ../../mod/register.php:72 ../../mod/item.php:206
+#: ../../mod/item.php:214 ../../mod/item.php:974 ../../mod/layouts.php:69
+#: ../../mod/layouts.php:76 ../../mod/layouts.php:87 ../../mod/id.php:71
+#: ../../mod/message.php:16 ../../mod/mitem.php:115 ../../mod/mood.php:111
+#: ../../mod/connedit.php:331 ../../mod/mail.php:114
+#: ../../mod/notifications.php:66 ../../mod/regmod.php:17
+#: ../../mod/new_channel.php:68 ../../mod/new_channel.php:99
+#: ../../mod/appman.php:66 ../../mod/network.php:12 ../../mod/page.php:28
+#: ../../mod/page.php:82 ../../mod/bookmarks.php:46 ../../mod/channel.php:100
+#: ../../mod/channel.php:219 ../../mod/channel.php:262
+#: ../../mod/suggest.php:26 ../../mod/service_limits.php:7
+#: ../../mod/sharedwithme.php:7 ../../index.php:190 ../../index.php:393
+msgid "Permission denied."
+msgstr "Permissão negada."
+
+#: ../../include/items.php:4537 ../../mod/group.php:38 ../../mod/group.php:140
+#: ../../mod/bulksetclose.php:51
+msgid "Collection not found."
+msgstr "A coleção não foi encontrada."
+
+#: ../../include/items.php:4553
+msgid "Collection is empty."
+msgstr "A coleção está vazia."
-#: ../../include/activities.php:57
+#: ../../include/items.php:4560
#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Visite o %2$s de %1$s"
+msgid "Collection: %s"
+msgstr "Coleção: %s"
-#: ../../include/activities.php:60
+#: ../../include/items.php:4570
#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s atualizou %2$s, alterando %3$s."
+msgid "Connection: %s"
+msgstr "Conexão: %s"
+
+#: ../../include/items.php:4572
+msgid "Connection not found."
+msgstr "A conexão não foi encontrada."
#: ../../include/security.php:349
msgid ""
@@ -2473,22 +2593,21 @@ msgstr "Pode escrever em meu armazenamento de arquivos"
msgid "Can edit my webpages"
msgstr "Pode editar minhas páginas web"
-#: ../../include/permissions.php:46
-msgid "Can source my public posts in derived channels"
-msgstr "Pode usar minhas publicações públicas como fonte para canais derivados"
+#: ../../include/group.php:234
+msgid "Default privacy group for new contacts"
+msgstr "Grupo de privacidade padrão para novos contatos"
-#: ../../include/permissions.php:46
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Avançado - muito útil em comunidades abertas"
+#: ../../include/group.php:253 ../../mod/admin.php:737
+msgid "All Channels"
+msgstr "Todos os canais"
-#: ../../include/permissions.php:48
-msgid "Can administer my channel resources"
-msgstr "Pode administrar os recursos do meu canal"
+#: ../../include/group.php:275
+msgid "edit"
+msgstr "editar"
-#: ../../include/permissions.php:48
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Extremamente avançado. Não mexa nisso a não ser que saiba o que está fazendo"
+#: ../../include/group.php:297
+msgid "Collections"
+msgstr "Coleções"
#: ../../include/permissions.php:893
msgid "Social Networking"
@@ -2539,464 +2658,426 @@ msgstr "Outro"
msgid "Custom/Expert Mode"
msgstr "Personalizado/Modo expert"
-#: ../../include/conversation.php:126 ../../mod/like.php:113
-msgid "channel"
-msgstr "canal"
+#: ../../include/identity.php:31 ../../mod/item.php:1312
+msgid "Unable to obtain identity information from database"
+msgstr "Não foi possível obter a informação da identidade a partir do banco de dados"
-#: ../../include/conversation.php:167 ../../mod/like.php:396
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s não gosta de %3$s de %2$s"
+#: ../../include/identity.php:66
+msgid "Empty name"
+msgstr "O nome está em branco"
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s agora está conectado com %2$s"
+#: ../../include/identity.php:68
+msgid "Name too long"
+msgstr "O nome é muito grande"
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s cutucou %2$s"
+#: ../../include/identity.php:169
+msgid "No account identifier"
+msgstr "Sem identificador de conta"
-#: ../../include/conversation.php:260 ../../mod/mood.php:63
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s está %2$s"
+#: ../../include/identity.php:181
+msgid "Nickname is required."
+msgstr "É necessário informar o apelido."
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
-msgctxt "title"
-msgid "Likes"
-msgstr "Curtidas"
+#: ../../include/identity.php:195
+msgid "Reserved nickname. Please choose another."
+msgstr "Apelido reservado. Por favor escolha outro."
-#: ../../include/conversation.php:572 ../../mod/photos.php:996
-msgctxt "title"
-msgid "Dislikes"
-msgstr "Descurtidas"
+#: ../../include/identity.php:200
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "O apelido possui caracteres não suportados ou já está sendo usado nesse site."
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
-msgctxt "title"
-msgid "Agree"
-msgstr "Concordo"
+#: ../../include/identity.php:281
+msgid "Unable to retrieve created identity"
+msgstr "Não foi possível recuperar a identidade criada"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
-msgctxt "title"
-msgid "Disagree"
-msgstr "Não concordo"
+#: ../../include/identity.php:340
+msgid "Default Profile"
+msgstr "Perfil padrão"
-#: ../../include/conversation.php:573 ../../mod/photos.php:997
-msgctxt "title"
-msgid "Abstain"
-msgstr "Abstenções"
+#: ../../include/identity.php:379 ../../include/identity.php:380
+#: ../../include/identity.php:387 ../../include/widgets.php:407
+#: ../../include/profile_selectors.php:80 ../../mod/connedit.php:495
+msgid "Friends"
+msgstr "Amigos"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/identity.php:633
+msgid "Requested channel is not available."
+msgstr "Canal solicitado não está disponível."
+
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Attending"
msgstr "Comparecerão"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Not attending"
msgstr "Não comparecerão"
-#: ../../include/conversation.php:574 ../../mod/photos.php:998
+#: ../../include/conversation.php:574 ../../mod/photos.php:986
msgctxt "title"
msgid "Might attend"
msgstr "Talvez compareçam"
-#: ../../include/conversation.php:692
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Ver o perfil de %s's @ %s"
+#: ../../include/identity.php:850
+msgid "Manage/edit profiles"
+msgstr "Administrar/editar perfis"
-#: ../../include/conversation.php:707
-msgid "Categories:"
-msgstr "Categorias:"
+#: ../../include/identity.php:851 ../../mod/profiles.php:751
+msgid "Create New Profile"
+msgstr "Criar um novo perfil"
-#: ../../include/conversation.php:708
-msgid "Filed under:"
-msgstr "Armazenado sob:"
+#: ../../include/identity.php:854 ../../include/nav.php:102
+msgid "Edit Profile"
+msgstr "Editar perfil"
-#: ../../include/conversation.php:735
-msgid "View in context"
-msgstr "Ver no contexto"
+#: ../../include/identity.php:865 ../../mod/profiles.php:762
+msgid "Profile Image"
+msgstr "Imagem do perfil"
-#: ../../include/conversation.php:846
-msgid "remove"
-msgstr "remover"
+#: ../../include/identity.php:868
+msgid "visible to everybody"
+msgstr "visível para todos"
-#: ../../include/conversation.php:851
-msgid "Delete Selected Items"
-msgstr "Excluir os itens selecionados"
+#: ../../include/identity.php:869 ../../mod/profiles.php:645
+#: ../../mod/profiles.php:766
+msgid "Edit visibility"
+msgstr "Editar a visibilidade"
-#: ../../include/conversation.php:939
-msgid "View Source"
-msgstr "Ver a fonte"
+#: ../../include/identity.php:883 ../../include/identity.php:1120
+#: ../../mod/directory.php:158
+msgid "Gender:"
+msgstr "Gênero:"
-#: ../../include/conversation.php:940
-msgid "Follow Thread"
-msgstr "Acompanhar a discussão"
+#: ../../include/identity.php:884 ../../include/identity.php:1164
+#: ../../mod/directory.php:160
+msgid "Status:"
+msgstr "Situação:"
-#: ../../include/conversation.php:941
-msgid "View Status"
-msgstr "Ver status"
+#: ../../include/identity.php:885 ../../include/identity.php:1175
+#: ../../mod/directory.php:162
+msgid "Homepage:"
+msgstr "Página web:"
-#: ../../include/conversation.php:943
-msgid "View Photos"
-msgstr "Ver fotos"
+#: ../../include/identity.php:886 ../../mod/dirprofile.php:151
+msgid "Online Now"
+msgstr "Online agora"
-#: ../../include/conversation.php:944
-msgid "Matrix Activity"
-msgstr "Atividade na matriz"
+#: ../../include/identity.php:964 ../../include/identity.php:1044
+#: ../../mod/ping.php:298
+msgid "g A l F d"
+msgstr "G l d F"
-#: ../../include/conversation.php:946
-msgid "Edit Contact"
-msgstr "Editar contato"
+#: ../../include/identity.php:965 ../../include/identity.php:1045
+msgid "F d"
+msgstr "F d"
-#: ../../include/conversation.php:947
-msgid "Send PM"
-msgstr "Enviar MP"
+#: ../../include/identity.php:1010 ../../include/identity.php:1085
+#: ../../mod/ping.php:320
+msgid "[today]"
+msgstr "[hoje]"
-#: ../../include/conversation.php:948 ../../include/apps.php:145
-msgid "Poke"
-msgstr "Cutucar"
+#: ../../include/identity.php:1022
+msgid "Birthday Reminders"
+msgstr "Lembres de aniversário"
-#: ../../include/conversation.php:1062
-#, php-format
-msgid "%s likes this."
-msgstr "%s gostou disso."
+#: ../../include/identity.php:1023
+msgid "Birthdays this week:"
+msgstr "Aniversários nesta semana:"
-#: ../../include/conversation.php:1062
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s não gostou disso."
+#: ../../include/identity.php:1078
+msgid "[No description]"
+msgstr "[Sem descrição]"
-#: ../../include/conversation.php:1066
-#, php-format
-msgid "<span %1$s>%2$d people</span> like this."
-msgid_plural "<span %1$s>%2$d people</span> like this."
-msgstr[0] ""
-msgstr[1] "<span %1$s>%2$d pessoas</span> gostaram disso."
+#: ../../include/identity.php:1096
+msgid "Event Reminders"
+msgstr "Lembretes de eventos"
-#: ../../include/conversation.php:1068
-#, php-format
-msgid "<span %1$s>%2$d people</span> don't like this."
-msgid_plural "<span %1$s>%2$d people</span> don't like this."
-msgstr[0] ""
-msgstr[1] "<span %1$s>%2$d pessoas</span> não gostaram disso."
+#: ../../include/identity.php:1097
+msgid "Events this week:"
+msgstr "Eventos nesta semana:"
-#: ../../include/conversation.php:1074
-msgid "and"
-msgstr "e"
+#: ../../include/identity.php:1118 ../../mod/settings.php:953
+msgid "Full Name:"
+msgstr "Nome completo:"
-#: ../../include/conversation.php:1077
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] ", e mais %d outras pessoas"
+#: ../../include/identity.php:1125
+msgid "Like this channel"
+msgstr "Gostar deste canal"
-#: ../../include/conversation.php:1078
-#, php-format
-msgid "%s like this."
-msgstr "%s gostou disso."
+#: ../../include/identity.php:1149
+msgid "j F, Y"
+msgstr "j \\d\\e F, Y"
-#: ../../include/conversation.php:1078
-#, php-format
-msgid "%s don't like this."
-msgstr "%s não gostou disso."
+#: ../../include/identity.php:1150
+msgid "j F"
+msgstr "j \\d\\e F"
-#: ../../include/conversation.php:1140
-msgid "Visible to <strong>everybody</strong>"
-msgstr "Visível para <strong>todos</strong>"
+#: ../../include/identity.php:1157
+msgid "Birthday:"
+msgstr "Aniversário:"
-#: ../../include/conversation.php:1141 ../../mod/mail.php:174
-#: ../../mod/mail.php:289
-msgid "Please enter a link URL:"
-msgstr "Por favor, digite uma URL:"
+#: ../../include/identity.php:1161
+msgid "Age:"
+msgstr "Idade:"
-#: ../../include/conversation.php:1142
-msgid "Please enter a video link/URL:"
-msgstr "Por favor, digite o link/URL do vídeo:"
+#: ../../include/identity.php:1170
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "para %1$d %2$s"
-#: ../../include/conversation.php:1143
-msgid "Please enter an audio link/URL:"
-msgstr "Por favor, digite o link/URL do áudio:"
+#: ../../include/identity.php:1173 ../../mod/profiles.php:667
+msgid "Sexual Preference:"
+msgstr "Preferência sexual:"
-#: ../../include/conversation.php:1144
-msgid "Tag term:"
-msgstr "Etiqueta:"
+#: ../../include/identity.php:1177 ../../mod/profiles.php:669
+msgid "Hometown:"
+msgstr "Cidade natal:"
-#: ../../include/conversation.php:1145 ../../mod/filer.php:49
-msgid "Save to Folder:"
-msgstr "Salvar para a pasta:"
+#: ../../include/identity.php:1179
+msgid "Tags:"
+msgstr "Etiquetas:"
-#: ../../include/conversation.php:1146
-msgid "Where are you right now?"
-msgstr "Onde você está agora?"
+#: ../../include/identity.php:1181 ../../mod/profiles.php:670
+msgid "Political Views:"
+msgstr "Posição política:"
-#: ../../include/conversation.php:1147 ../../mod/editpost.php:47
-#: ../../mod/mail.php:175 ../../mod/mail.php:290
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Expira YYYY-MM-DD HH:MM"
+#: ../../include/identity.php:1183
+msgid "Religion:"
+msgstr "Religião:"
-#: ../../include/conversation.php:1174 ../../mod/webpages.php:182
-#: ../../mod/blocks.php:154 ../../mod/photos.php:961 ../../mod/layouts.php:184
+#: ../../include/conversation.php:1174 ../../mod/webpages.php:181
+#: ../../mod/blocks.php:154 ../../mod/photos.php:949 ../../mod/layouts.php:184
msgid "Share"
msgstr "Compartilhar"
-#: ../../include/conversation.php:1176
-msgid "Page link name"
-msgstr "Nome do Link da Página"
-
-#: ../../include/conversation.php:1179
-msgid "Post as"
-msgstr "Publicar como"
-
-#: ../../include/conversation.php:1186 ../../mod/editpost.php:112
-#: ../../mod/editlayout.php:139 ../../mod/editwebpage.php:184
-#: ../../mod/editblock.php:141 ../../mod/mail.php:238 ../../mod/mail.php:352
-msgid "Upload photo"
-msgstr "Enviar foto"
-
-#: ../../include/conversation.php:1187
-msgid "upload photo"
-msgstr "enviar foto"
-
-#: ../../include/conversation.php:1188 ../../mod/editpost.php:113
-#: ../../mod/editlayout.php:140 ../../mod/editwebpage.php:185
-#: ../../mod/editblock.php:142 ../../mod/mail.php:239 ../../mod/mail.php:353
-msgid "Attach file"
-msgstr "Anexar arquivo"
-
-#: ../../include/conversation.php:1189
-msgid "attach file"
-msgstr "anexar arquivo"
-
-#: ../../include/conversation.php:1190 ../../mod/editpost.php:114
-#: ../../mod/editlayout.php:141 ../../mod/editwebpage.php:186
-#: ../../mod/editblock.php:143 ../../mod/mail.php:240 ../../mod/mail.php:354
-msgid "Insert web link"
-msgstr "Inserir link web"
-
-#: ../../include/conversation.php:1191
-msgid "web link"
-msgstr "link web"
-
-#: ../../include/conversation.php:1192
-msgid "Insert video link"
-msgstr "Inserir link de vídeo"
-
-#: ../../include/conversation.php:1193
-msgid "video link"
-msgstr "link de vídeo"
-
-#: ../../include/conversation.php:1194
-msgid "Insert audio link"
-msgstr "Inserir link de áudio"
-
-#: ../../include/conversation.php:1195
-msgid "audio link"
-msgstr "link de áudio"
-
-#: ../../include/conversation.php:1196 ../../mod/editpost.php:118
-#: ../../mod/editlayout.php:145 ../../mod/editwebpage.php:190
-#: ../../mod/editblock.php:147
-msgid "Set your location"
-msgstr "Definir sua localização"
-
-#: ../../include/conversation.php:1197
-msgid "set location"
-msgstr "definir localização"
-
-#: ../../include/conversation.php:1198 ../../mod/editpost.php:120
-msgid "Toggle voting"
-msgstr "Alternar enquete"
-
-#: ../../include/conversation.php:1201 ../../mod/editpost.php:119
-#: ../../mod/editlayout.php:146 ../../mod/editwebpage.php:191
-#: ../../mod/editblock.php:148
-msgid "Clear browser location"
-msgstr "Limpar a localização do navegador"
-
-#: ../../include/conversation.php:1202
-msgid "clear location"
-msgstr "limpar a localização"
-
-#: ../../include/conversation.php:1204 ../../mod/editpost.php:135
-#: ../../mod/editwebpage.php:207 ../../mod/editblock.php:161
+#: ../../include/identity.php:1187
+msgid "Hobbies/Interests:"
+msgstr "Hobbies/Interesses:"
+
+#: ../../include/identity.php:1189 ../../mod/profiles.php:673
+msgid "Likes:"
+msgstr "Gosta de:"
+
+#: ../../include/identity.php:1191 ../../mod/profiles.php:674
+msgid "Dislikes:"
+msgstr "Não gosta de:"
+
+#: ../../include/identity.php:1194
+msgid "Contact information and Social Networks:"
+msgstr "Informações de contato e redes sociais:"
+
+#: ../../include/identity.php:1196
+msgid "My other channels:"
+msgstr "Meus outros canais:"
+
+#: ../../include/identity.php:1198
+msgid "Musical interests:"
+msgstr "Interesses musicais:"
+
+#: ../../include/identity.php:1200
+msgid "Books, literature:"
+msgstr "Livros, literatura:"
+
+#: ../../include/identity.php:1202
+msgid "Television:"
+msgstr "Televisão:"
+
+#: ../../include/identity.php:1204
+msgid "Film/dance/culture/entertainment:"
+msgstr "Filmes/dança/cultura/entretenimento:"
+
+#: ../../include/identity.php:1206
+msgid "Love/Romance:"
+msgstr "Amor/romance:"
+
+#: ../../include/identity.php:1208
+msgid "Work/employment:"
+msgstr "Trabalho/emprego:"
+
+#: ../../include/identity.php:1210
+msgid "School/education:"
+msgstr "Escola/educação:"
+
+#: ../../include/identity.php:1230
+msgid "Like this thing"
+msgstr "Gostar desta coisa"
+
+#: ../../include/nav.php:94 ../../include/nav.php:126 ../../boot.php:1494
+msgid "Logout"
+msgstr "Sair"
+
+#: ../../include/nav.php:94 ../../include/nav.php:126
+msgid "End this session"
+msgstr "Encerrar essa sessão"
+
+#: ../../include/nav.php:97 ../../include/nav.php:160
+msgid "Home"
+msgstr "Ver canal"
+
+#: ../../include/nav.php:97
+msgid "Your posts and conversations"
+msgstr "Suas publicações e conversas"
+
+#: ../../include/conversation.php:1204 ../../mod/editwebpage.php:207
+#: ../../mod/editpost.php:142 ../../mod/editblock.php:167
msgid "Title (optional)"
msgstr "Título (opcional)"
-#: ../../include/conversation.php:1208 ../../mod/editpost.php:137
-#: ../../mod/editlayout.php:162 ../../mod/editwebpage.php:209
-#: ../../mod/editblock.php:164
+#: ../../include/conversation.php:1208 ../../mod/editlayout.php:168
+#: ../../mod/editwebpage.php:209 ../../mod/editpost.php:144
+#: ../../mod/editblock.php:170
msgid "Categories (optional, comma-separated list)"
msgstr "categorias (opcional, lista separada por vírgulas)"
-#: ../../include/conversation.php:1210 ../../mod/editpost.php:124
-#: ../../mod/editlayout.php:148 ../../mod/editwebpage.php:193
-#: ../../mod/editblock.php:150
-msgid "Permission settings"
-msgstr "Configurações de permissão"
+#: ../../include/nav.php:100
+msgid "Manage/Edit profiles"
+msgstr "Administrar/Editar perfis"
-#: ../../include/conversation.php:1211
-msgid "permissions"
-msgstr "permissões"
+#: ../../include/nav.php:102
+msgid "Edit your profile"
+msgstr "Editar seu perfil"
-#: ../../include/conversation.php:1219 ../../mod/editpost.php:132
-#: ../../mod/editlayout.php:155 ../../mod/editwebpage.php:202
-#: ../../mod/editblock.php:158
+#: ../../include/conversation.php:1219 ../../mod/editlayout.php:161
+#: ../../mod/editwebpage.php:202 ../../mod/editpost.php:139
+#: ../../mod/editblock.php:164
msgid "Public post"
msgstr "Publicação pública"
-#: ../../include/conversation.php:1221 ../../mod/editpost.php:138
-#: ../../mod/editlayout.php:163 ../../mod/editwebpage.php:210
-#: ../../mod/editblock.php:165
+#: ../../include/conversation.php:1221 ../../mod/editlayout.php:169
+#: ../../mod/editwebpage.php:210 ../../mod/editpost.php:145
+#: ../../mod/editblock.php:171
msgid "Example: bob@example.com, mary@example.com"
msgstr "Por exemplo: joao@exemplo.com, maria@exemplo.com"
-#: ../../include/conversation.php:1234 ../../mod/editpost.php:149
-#: ../../mod/editlayout.php:172 ../../mod/editwebpage.php:219
-#: ../../mod/editblock.php:175 ../../mod/mail.php:245 ../../mod/mail.php:359
+#: ../../include/conversation.php:1234 ../../mod/editlayout.php:178
+#: ../../mod/editwebpage.php:219 ../../mod/editpost.php:156
+#: ../../mod/editblock.php:181 ../../mod/mail.php:245 ../../mod/mail.php:359
msgid "Set expiration date"
msgstr "Definir data de expiração"
#: ../../include/conversation.php:1238 ../../mod/events.php:637
-#: ../../mod/editpost.php:153
+#: ../../mod/editpost.php:160
msgid "OK"
msgstr "Ok"
-#: ../../include/conversation.php:1239 ../../mod/tagrm.php:11
-#: ../../mod/tagrm.php:134 ../../mod/events.php:636 ../../mod/fbrowser.php:82
-#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:154
-#: ../../mod/settings.php:589 ../../mod/settings.php:615
+#: ../../include/conversation.php:1239 ../../mod/settings.php:588
+#: ../../mod/settings.php:614 ../../mod/tagrm.php:11 ../../mod/tagrm.php:134
+#: ../../mod/events.php:636 ../../mod/fbrowser.php:82
+#: ../../mod/fbrowser.php:117 ../../mod/editpost.php:161
msgid "Cancel"
msgstr "Cancelar"
-#: ../../include/conversation.php:1481
-msgid "Discover"
-msgstr "Descubra"
+#: ../../include/nav.php:124
+msgid "Sign in"
+msgstr "Entrar"
-#: ../../include/conversation.php:1484
-msgid "Imported public streams"
-msgstr "Fluxos públicos importados"
+#: ../../include/nav.php:141
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - clique para sair"
-#: ../../include/conversation.php:1489
-msgid "Commented Order"
-msgstr "Recentes e comentados"
+#: ../../include/nav.php:146
+msgid "Click to authenticate to your home hub"
+msgstr "Clique para se autenticar com seu hub de origem"
-#: ../../include/conversation.php:1492
-msgid "Sort by Comment Date"
-msgstr "Ordenar pela data do último comentário"
+#: ../../include/nav.php:160
+msgid "Home Page"
+msgstr "Página inicial"
-#: ../../include/conversation.php:1496
-msgid "Posted Order"
-msgstr "Recentemente publicados"
+#: ../../include/nav.php:164 ../../mod/register.php:220 ../../boot.php:1471
+msgid "Register"
+msgstr "Registrar"
-#: ../../include/conversation.php:1499
-msgid "Sort by Post Date"
-msgstr "Ordenar pela data da publicação"
+#: ../../include/nav.php:164
+msgid "Create an account"
+msgstr "Criar uma conta"
-#: ../../include/conversation.php:1507
-msgid "Posts that mention or involve you"
-msgstr "Publicações que mencionam ou envolvem você"
+#: ../../include/nav.php:169
+msgid "Help and documentation"
+msgstr "Ajuda e documentação"
-#: ../../include/conversation.php:1513 ../../mod/connections.php:212
-#: ../../mod/connections.php:225 ../../mod/menu.php:107
-msgid "New"
-msgstr "Novo"
+#: ../../include/nav.php:172 ../../include/widgets.php:86
+#: ../../mod/apps.php:33
+msgid "Apps"
+msgstr "Aplicações"
-#: ../../include/conversation.php:1516
-msgid "Activity Stream - by date"
-msgstr "Fluxo de atividades - por data"
+#: ../../include/nav.php:172
+msgid "Applications, utilities, links, games"
+msgstr "Aplicações, utilitários, links, jogos"
-#: ../../include/conversation.php:1522
-msgid "Starred"
-msgstr "Estrelados"
+#: ../../include/nav.php:174
+msgid "Search site content"
+msgstr "Pesquisar o conteúdo do site"
-#: ../../include/conversation.php:1525
-msgid "Favourite Posts"
-msgstr "Publicações favoritas"
+#: ../../include/nav.php:177
+msgid "Channel Locator"
+msgstr "Localizador de canais"
-#: ../../include/conversation.php:1532
-msgid "Spam"
-msgstr "Spam"
+#: ../../include/nav.php:188
+msgid "Your matrix"
+msgstr "Sua matriz"
-#: ../../include/conversation.php:1535
-msgid "Posts flagged as SPAM"
-msgstr "Publicações marcadas como SPAM"
+#: ../../include/nav.php:189
+msgid "Mark all matrix notifications seen"
+msgstr "Marcar todas as notificações da matriz como vistas"
-#: ../../include/conversation.php:1579 ../../mod/admin.php:993
-msgid "Channel"
-msgstr "Canal"
+#: ../../include/nav.php:191
+msgid "Channel home"
+msgstr "Página inicial do canal"
-#: ../../include/conversation.php:1582
-msgid "Status Messages and Posts"
-msgstr "Mensagens de status e publicações"
+#: ../../include/nav.php:192
+msgid "Mark all channel notifications seen"
+msgstr "Marcar todas as notificações de canais como vistas"
-#: ../../include/conversation.php:1591
-msgid "About"
-msgstr "Sobre"
+#: ../../include/nav.php:195 ../../mod/connections.php:406
+msgid "Connections"
+msgstr "Conexões"
-#: ../../include/conversation.php:1594
-msgid "Profile Details"
-msgstr "Detalhes do perfil"
+#: ../../include/nav.php:198
+msgid "Notices"
+msgstr "Notificações"
-#: ../../include/conversation.php:1603 ../../include/photos.php:359
-msgid "Photo Albums"
-msgstr "Álbuns de fotos"
+#: ../../include/nav.php:198
+msgid "Notifications"
+msgstr "Notificações"
-#: ../../include/conversation.php:1612
-msgid "Files and Storage"
-msgstr "Arquivos e armazenamento"
+#: ../../include/nav.php:199
+msgid "See all notifications"
+msgstr "Ver todas as notificações"
-#: ../../include/conversation.php:1622 ../../include/conversation.php:1625
-msgid "Chatrooms"
-msgstr "Salas de bate-papo"
+#: ../../include/nav.php:200 ../../mod/notifications.php:99
+msgid "Mark all system notifications seen"
+msgstr "Marcar todas as notificações de sistema como vistas"
-#: ../../include/conversation.php:1638
-msgid "Saved Bookmarks"
-msgstr "Links guardados"
+#: ../../include/nav.php:202
+msgid "Private mail"
+msgstr "Mensagens privadas"
-#: ../../include/conversation.php:1648
-msgid "Manage Webpages"
-msgstr "Administrar páginas web"
+#: ../../include/nav.php:203
+msgid "See all private messages"
+msgstr "Ver todas as mensagens privadas"
-#: ../../include/conversation.php:1707
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Comparecerá"
-msgstr[1] "Comparecerão"
+#: ../../include/nav.php:204
+msgid "Mark all private messages seen"
+msgstr "Marcar todas as mensagens privadas como vistas"
-#: ../../include/conversation.php:1710
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "Não comparecerá"
-msgstr[1] "Não comparecerão"
+#: ../../include/nav.php:205
+msgid "Inbox"
+msgstr "Recebidas"
-#: ../../include/conversation.php:1713
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "Indeciso"
-msgstr[1] "Indecisos"
+#: ../../include/nav.php:206
+msgid "Outbox"
+msgstr "Enviadas"
-#: ../../include/conversation.php:1716
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "Concorda"
-msgstr[1] "Concordam"
+#: ../../include/nav.php:207 ../../include/widgets.php:543
+msgid "New Message"
+msgstr "Nova mensagem"
-#: ../../include/conversation.php:1719
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "Discordo"
-msgstr[1] "Discordo"
+#: ../../include/nav.php:210
+msgid "Event Calendar"
+msgstr "Agenda de eventos"
#: ../../include/conversation.php:1722
msgctxt "noun"
@@ -3005,232 +3086,127 @@ msgid_plural "Abstains"
msgstr[0] "Abstenção"
msgstr[1] "Abstenções"
-#: ../../include/items.php:413 ../../mod/like.php:270
-#: ../../mod/subthread.php:49 ../../mod/group.php:68 ../../mod/profperm.php:23
-#: ../../mod/bulksetclose.php:11 ../../index.php:392
-msgid "Permission denied"
-msgstr "Permissão negada"
-
-#: ../../include/items.php:1035 ../../include/items.php:1081
-msgid "(Unknown)"
-msgstr "(Desconhecido)"
-
-#: ../../include/items.php:1307
-msgid "Visible to anybody on the internet."
-msgstr "Visível para todos na internet."
-
-#: ../../include/items.php:1309
-msgid "Visible to you only."
-msgstr "Visível somente para você."
-
-#: ../../include/items.php:1311
-msgid "Visible to anybody in this network."
-msgstr "Visível para todos nesta rede."
-
-#: ../../include/items.php:1313
-msgid "Visible to anybody authenticated."
-msgstr "Visível para todos autenticados."
-
-#: ../../include/items.php:1315
+#: ../../include/photos.php:94
#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visível para todos em %s."
-
-#: ../../include/items.php:1317
-msgid "Visible to all connections."
-msgstr "Visível para todas as conexões."
-
-#: ../../include/items.php:1319
-msgid "Visible to approved connections."
-msgstr "Visível para conexões aprovadas."
-
-#: ../../include/items.php:1321
-msgid "Visible to specific connections."
-msgstr "Visível para conexões específicas."
-
-#: ../../include/items.php:4198 ../../mod/thing.php:74
-#: ../../mod/filestorage.php:27 ../../mod/viewsrc.php:20
-#: ../../mod/admin.php:167 ../../mod/admin.php:1025 ../../mod/admin.php:1225
-#: ../../mod/display.php:36
-msgid "Item not found."
-msgstr "O item não foi encontrado."
-
-#: ../../include/items.php:4271 ../../include/attach.php:137
-#: ../../include/attach.php:184 ../../include/attach.php:247
-#: ../../include/attach.php:261 ../../include/attach.php:305
-#: ../../include/attach.php:319 ../../include/attach.php:350
-#: ../../include/attach.php:546 ../../include/attach.php:618
-#: ../../include/chat.php:131 ../../include/photos.php:26
-#: ../../mod/profile.php:64 ../../mod/profile.php:72
-#: ../../mod/achievements.php:30 ../../mod/manage.php:6 ../../mod/api.php:26
-#: ../../mod/api.php:31 ../../mod/webpages.php:69 ../../mod/thing.php:241
-#: ../../mod/thing.php:256 ../../mod/thing.php:290
-#: ../../mod/profile_photo.php:264 ../../mod/profile_photo.php:277
-#: ../../mod/block.php:22 ../../mod/block.php:72 ../../mod/like.php:178
-#: ../../mod/events.php:219 ../../mod/group.php:9 ../../mod/item.php:206
-#: ../../mod/item.php:214 ../../mod/item.php:978 ../../mod/network.php:12
-#: ../../mod/common.php:35 ../../mod/connections.php:169
-#: ../../mod/blocks.php:69 ../../mod/blocks.php:76 ../../mod/editpost.php:13
-#: ../../mod/photos.php:69 ../../mod/pdledit.php:21 ../../mod/authtest.php:13
-#: ../../mod/editlayout.php:63 ../../mod/editlayout.php:87
-#: ../../mod/chat.php:90 ../../mod/chat.php:95 ../../mod/mitem.php:109
-#: ../../mod/editwebpage.php:64 ../../mod/editwebpage.php:86
-#: ../../mod/editwebpage.php:101 ../../mod/editwebpage.php:125
-#: ../../mod/rate.php:110 ../../mod/editblock.php:65 ../../mod/invite.php:13
-#: ../../mod/invite.php:104 ../../mod/locs.php:77 ../../mod/sources.php:66
-#: ../../mod/menu.php:69 ../../mod/filestorage.php:18
-#: ../../mod/filestorage.php:73 ../../mod/filestorage.php:88
-#: ../../mod/filestorage.php:115 ../../mod/fsuggest.php:78
-#: ../../mod/poke.php:128 ../../mod/profiles.php:188
-#: ../../mod/profiles.php:576 ../../mod/viewsrc.php:14 ../../mod/setup.php:223
-#: ../../mod/viewconnections.php:22 ../../mod/viewconnections.php:27
-#: ../../mod/register.php:72 ../../mod/settings.php:570 ../../mod/id.php:71
-#: ../../mod/message.php:16 ../../mod/mood.php:111 ../../mod/connedit.php:336
-#: ../../mod/mail.php:114 ../../mod/notifications.php:66
-#: ../../mod/regmod.php:17 ../../mod/new_channel.php:68
-#: ../../mod/new_channel.php:99 ../../mod/appman.php:66
-#: ../../mod/layouts.php:69 ../../mod/layouts.php:76 ../../mod/layouts.php:87
-#: ../../mod/page.php:31 ../../mod/page.php:86 ../../mod/bookmarks.php:46
-#: ../../mod/channel.php:100 ../../mod/channel.php:219
-#: ../../mod/channel.php:262 ../../mod/suggest.php:26
-#: ../../mod/service_limits.php:7 ../../mod/sharedwithme.php:7
-#: ../../index.php:182 ../../index.php:393
-msgid "Permission denied."
-msgstr "Permissão negada."
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "A imagem excede o limite de tamanho do site, que é de %"
-#: ../../include/items.php:4673 ../../mod/group.php:38 ../../mod/group.php:140
-#: ../../mod/bulksetclose.php:51
-msgid "Collection not found."
-msgstr "A coleção não foi encontrada."
+#: ../../include/message.php:200
+msgid "Stored post could not be verified."
+msgstr "Não foi possível verificar a publicação armazenada."
-#: ../../include/items.php:4689
-msgid "Collection is empty."
-msgstr "A coleção está vazia."
+#: ../../include/widgets.php:87
+msgid "System"
+msgstr "Sistema"
-#: ../../include/items.php:4696
-#, php-format
-msgid "Collection: %s"
-msgstr "Coleção: %s"
+#: ../../include/widgets.php:90
+msgid "Create Personal App"
+msgstr "Crie aplicações pessoais"
-#: ../../include/items.php:4706 ../../mod/connedit.php:658
-#, php-format
-msgid "Connection: %s"
-msgstr "Conexão: %s"
+#: ../../include/widgets.php:91
+msgid "Edit Personal App"
+msgstr "Edite aplicações pessoais"
-#: ../../include/items.php:4708
-msgid "Connection not found."
-msgstr "A conexão não foi encontrada."
+#: ../../include/widgets.php:137 ../../mod/suggest.php:53
+msgid "Ignore/Hide"
+msgstr "Ignorar/Ocultar"
-#: ../../include/zot.php:666
-msgid "Invalid data packet"
-msgstr "Pacote de dados inválido"
+#: ../../include/widgets.php:143 ../../mod/connections.php:267
+msgid "Suggestions"
+msgstr "Sugestões"
-#: ../../include/zot.php:682
-msgid "Unable to verify channel signature"
-msgstr "Não foi possível verificar a assinatura do canal"
+#: ../../include/widgets.php:144
+msgid "See more..."
+msgstr "Veja mais..."
-#: ../../include/zot.php:2131
+#: ../../include/widgets.php:166
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Não foi possível verificar a assinatura do site para %s"
-
-#: ../../include/oembed.php:183
-msgid "Embedded content"
-msgstr "Conteúdo incorporado"
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Você tem %1$.0f de %2$.0f conexões permitidas."
-#: ../../include/oembed.php:192
-msgid "Embedding disabled"
-msgstr "A incorporação está desabilitada"
+#: ../../include/widgets.php:172
+msgid "Add New Connection"
+msgstr "Adicionar nova conexão"
-#: ../../include/auth.php:131
-msgid "Logged out."
-msgstr "Você saiu."
+#: ../../include/widgets.php:173
+msgid "Enter the channel address"
+msgstr "Digite o endereço do canal"
-#: ../../include/auth.php:272
-msgid "Failed authentication"
-msgstr "Não foi possível autenticar"
+#: ../../include/widgets.php:174
+msgid "Example: bob@example.com, http://example.com/barbara"
+msgstr "Por exemplo: joao@exemplo.com, http://exemplo.com/maria"
-#: ../../include/auth.php:286 ../../mod/openid.php:190
-msgid "Login failed."
-msgstr "Não foi possível entrar."
+#: ../../include/widgets.php:191
+msgid "Notes"
+msgstr "Notas"
-#: ../../include/contact_widgets.php:14
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d convite disponível"
-msgstr[1] "%d convites disponíveis"
+#: ../../include/widgets.php:263
+msgid "Remove term"
+msgstr "Remover termo"
-#: ../../include/contact_widgets.php:19 ../../mod/admin.php:457
-msgid "Advanced"
-msgstr "Avançado"
+#: ../../include/widgets.php:342
+msgid "Archives"
+msgstr "Arquivos"
-#: ../../include/contact_widgets.php:22
-msgid "Find Channels"
-msgstr "Pesquisar canais"
+#: ../../include/widgets.php:404
+msgid "Refresh"
+msgstr "Atualizar"
-#: ../../include/contact_widgets.php:23
-msgid "Enter name or interest"
-msgstr "Digite um nome ou interesse"
+#: ../../include/widgets.php:405 ../../mod/connedit.php:492
+msgid "Me"
+msgstr "Eu"
-#: ../../include/contact_widgets.php:24
-msgid "Connect/Follow"
-msgstr "Conectar/Acompanhar"
+#: ../../include/widgets.php:406 ../../mod/connedit.php:494
+msgid "Best Friends"
+msgstr "Melhores amigos"
-#: ../../include/contact_widgets.php:25
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Por exemplo: José da Silva, Pescaria"
+#: ../../include/widgets.php:408
+msgid "Co-workers"
+msgstr "Colegas de trabalho"
-#: ../../include/contact_widgets.php:26 ../../mod/directory.php:379
-#: ../../mod/directory.php:384 ../../mod/connections.php:413
-msgid "Find"
-msgstr "Pesquisar"
+#: ../../include/widgets.php:409 ../../mod/connedit.php:496
+msgid "Former Friends"
+msgstr "Amigos afastados"
-#: ../../include/contact_widgets.php:27 ../../mod/directory.php:383
-#: ../../mod/suggest.php:60
-msgid "Channel Suggestions"
-msgstr "Sugestões de canais"
+#: ../../include/widgets.php:410 ../../mod/connedit.php:497
+msgid "Acquaintances"
+msgstr "Conhecidos"
-#: ../../include/contact_widgets.php:29
-msgid "Random Profile"
-msgstr "Perfil aleatório"
+#: ../../include/widgets.php:411
+msgid "Everybody"
+msgstr "Todos"
-#: ../../include/contact_widgets.php:30
-msgid "Invite Friends"
-msgstr "Convidar amigos"
+#: ../../include/widgets.php:443
+msgid "Account settings"
+msgstr "Configurações da conta"
-#: ../../include/contact_widgets.php:32
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Exemplo avançado: name=raoni and country=peru"
+#: ../../include/widgets.php:449
+msgid "Channel settings"
+msgstr "Configurações do canal"
-#: ../../include/contact_widgets.php:125
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d conexão em comum"
-msgstr[1] "%d conexões em comum"
+#: ../../include/widgets.php:455
+msgid "Additional features"
+msgstr "Recursos adicionais"
-#: ../../include/contact_widgets.php:130
-msgid "show more"
-msgstr "exibir mais"
+#: ../../include/widgets.php:461
+msgid "Feature settings"
+msgstr "Configurações dos recursos"
-#: ../../include/acl_selectors.php:240
-msgid "Visible to your default audience"
-msgstr "Visível para seu público padrão"
+#: ../../include/widgets.php:467
+msgid "Display settings"
+msgstr "Configurações de exibição"
-#: ../../include/acl_selectors.php:241
-msgid "Show"
-msgstr "Exibir"
+#: ../../include/widgets.php:473
+msgid "Connected apps"
+msgstr "Aplicações conectadas"
-#: ../../include/acl_selectors.php:242
-msgid "Don't show"
-msgstr "Não exibir"
+#: ../../include/widgets.php:479
+msgid "Export channel"
+msgstr "Exportar o canal"
-#: ../../include/acl_selectors.php:248 ../../mod/events.php:654
-#: ../../mod/photos.php:571 ../../mod/photos.php:934 ../../mod/chat.php:209
-#: ../../mod/filestorage.php:147
-msgid "Permissions"
-msgstr "Permissões"
+#: ../../include/widgets.php:485
+msgid "Export content"
+msgstr "Exportar conteúdo"
#: ../../include/attach.php:242 ../../include/attach.php:300
msgid "Item was not found."
@@ -3290,253 +3266,278 @@ msgstr "mkdir falhou."
msgid "database storage failed."
msgstr "armazenamento de banco de dados falhou."
-#: ../../include/identity.php:33
-msgid "Unable to obtain identity information from database"
-msgstr "Não foi possível obter a informação da identidade a partir do banco de dados"
+#: ../../include/ItemObject.php:220 ../../mod/photos.php:1008
+msgid "I like this (toggle)"
+msgstr "Eu gostei disso (alterna)"
-#: ../../include/identity.php:67
-msgid "Empty name"
-msgstr "O nome está em branco"
+#: ../../include/ItemObject.php:221 ../../mod/photos.php:1009
+msgid "I don't like this (toggle)"
+msgstr "Eu não gostei disso (alterna)"
-#: ../../include/identity.php:70
-msgid "Name too long"
-msgstr "O nome é muito grande"
+#: ../../include/ItemObject.php:225
+msgid "Share This"
+msgstr "Compartilhe isso"
-#: ../../include/identity.php:186
-msgid "No account identifier"
-msgstr "Sem identificador de conta"
+#: ../../include/ItemObject.php:225
+msgid "share"
+msgstr "compartilhar"
-#: ../../include/identity.php:198
-msgid "Nickname is required."
-msgstr "É necessário informar o apelido."
+#: ../../include/ItemObject.php:248 ../../include/ItemObject.php:249
+#, php-format
+msgid "View %s's profile - %s"
+msgstr "Ver o perfil de %s - %s"
-#: ../../include/identity.php:212
-msgid "Reserved nickname. Please choose another."
-msgstr "Apelido reservado. Por favor escolha outro."
+#: ../../include/ItemObject.php:250
+msgid "to"
+msgstr "para"
-#: ../../include/identity.php:217 ../../include/dimport.php:34
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "O apelido possui caracteres não suportados ou já está sendo usado nesse site."
+#: ../../include/ItemObject.php:251
+msgid "via"
+msgstr "via"
-#: ../../include/identity.php:292
-msgid "Unable to retrieve created identity"
-msgstr "Não foi possível recuperar a identidade criada"
+#: ../../include/ItemObject.php:252
+msgid "Wall-to-Wall"
+msgstr "Mural-para-mural"
-#: ../../include/identity.php:350
-msgid "Default Profile"
-msgstr "Perfil padrão"
+#: ../../include/ItemObject.php:253
+msgid "via Wall-To-Wall:"
+msgstr "via Mural-para-mural"
-#: ../../include/identity.php:660
-msgid "Requested channel is not available."
-msgstr "Canal solicitado não está disponível."
+#: ../../include/ItemObject.php:288
+msgid "Save Bookmarks"
+msgstr "Salve Favoritos"
-#: ../../include/identity.php:707 ../../mod/profile.php:16
-#: ../../mod/achievements.php:11 ../../mod/webpages.php:29
-#: ../../mod/connect.php:13 ../../mod/hcard.php:8 ../../mod/blocks.php:29
-#: ../../mod/editlayout.php:27 ../../mod/editwebpage.php:28
-#: ../../mod/editblock.php:29 ../../mod/filestorage.php:54
-#: ../../mod/layouts.php:29
-msgid "Requested profile is not available."
-msgstr "O perfil solicitado não está disponível."
+#: ../../include/ItemObject.php:289
+msgid "Add to Calendar"
+msgstr "Adicione ao calendário"
-#: ../../include/identity.php:870 ../../mod/profiles.php:774
-msgid "Change profile photo"
-msgstr "Mudar a foto do perfil"
+#: ../../include/ItemObject.php:297
+msgctxt "noun"
+msgid "Likes"
+msgstr "Gostaram"
-#: ../../include/identity.php:876
-msgid "Profiles"
-msgstr "Perfis"
+#: ../../include/ItemObject.php:298
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "Desgostaram"
-#: ../../include/identity.php:876
-msgid "Manage/edit profiles"
-msgstr "Administrar/editar perfis"
+#: ../../include/ItemObject.php:329
+#, php-format
+msgid "%d comment"
+msgid_plural "%d comments"
+msgstr[0] "%d comentário"
+msgstr[1] "%d comentários"
-#: ../../include/identity.php:877 ../../mod/profiles.php:775
-msgid "Create New Profile"
-msgstr "Criar um novo perfil"
+#: ../../include/ItemObject.php:330 ../../include/js_strings.php:7
+msgid "[+] show all"
+msgstr "[+] mostrar todos"
-#: ../../include/identity.php:892 ../../mod/profiles.php:786
-msgid "Profile Image"
-msgstr "Imagem do perfil"
+#: ../../include/ItemObject.php:594 ../../mod/photos.php:1027
+#: ../../mod/photos.php:1114
+msgid "This is you"
+msgstr "Este(a) é você"
-#: ../../include/identity.php:895
-msgid "visible to everybody"
-msgstr "visível para todos"
+#: ../../include/ItemObject.php:596 ../../include/js_strings.php:6
+#: ../../mod/photos.php:1029 ../../mod/photos.php:1116
+msgid "Comment"
+msgstr "Comentar"
-#: ../../include/identity.php:896 ../../mod/profiles.php:669
-#: ../../mod/profiles.php:790
-msgid "Edit visibility"
-msgstr "Editar a visibilidade"
+#: ../../include/ItemObject.php:597 ../../mod/mood.php:135
+#: ../../mod/settings.php:519 ../../mod/settings.php:631
+#: ../../mod/settings.php:660 ../../mod/settings.php:684
+#: ../../mod/settings.php:760 ../../mod/settings.php:945
+#: ../../mod/poke.php:166 ../../mod/profiles.php:643 ../../mod/chat.php:177
+#: ../../mod/chat.php:211 ../../mod/connect.php:92 ../../mod/connedit.php:540
+#: ../../mod/setup.php:307 ../../mod/setup.php:350 ../../mod/pdledit.php:58
+#: ../../mod/photos.php:563 ../../mod/photos.php:675 ../../mod/photos.php:990
+#: ../../mod/photos.php:1030 ../../mod/photos.php:1117
+#: ../../mod/sources.php:104 ../../mod/sources.php:138
+#: ../../mod/events.php:586 ../../mod/filestorage.php:137
+#: ../../mod/fsuggest.php:108 ../../mod/group.php:81 ../../mod/admin.php:414
+#: ../../mod/admin.php:725 ../../mod/admin.php:861 ../../mod/admin.php:994
+#: ../../mod/admin.php:1193 ../../mod/admin.php:1280 ../../mod/thing.php:284
+#: ../../mod/thing.php:327 ../../mod/import.php:475 ../../mod/invite.php:142
+#: ../../mod/mail.php:345 ../../mod/appman.php:99 ../../mod/poll.php:68
+#: ../../view/theme/apw/php/config.php:256
+#: ../../view/theme/blogga/php/config.php:67
+#: ../../view/theme/blogga/view/theme/blog/config.php:67
+#: ../../view/theme/redbasic/php/config.php:99
+msgid "Submit"
+msgstr "Enviar"
-#: ../../include/identity.php:912 ../../include/identity.php:1151
-msgid "Gender:"
-msgstr "Gênero:"
+#: ../../include/ItemObject.php:598
+msgid "Bold"
+msgstr "Negrito"
-#: ../../include/identity.php:913 ../../include/identity.php:1195
-msgid "Status:"
-msgstr "Situação:"
+#: ../../include/ItemObject.php:599
+msgid "Italic"
+msgstr "Itálico"
-#: ../../include/identity.php:914 ../../include/identity.php:1206
-msgid "Homepage:"
-msgstr "Página web:"
+#: ../../include/ItemObject.php:600
+msgid "Underline"
+msgstr "Sublinhado"
-#: ../../include/identity.php:915
-msgid "Online Now"
-msgstr "Online agora"
+#: ../../include/ItemObject.php:601
+msgid "Quote"
+msgstr "Citação"
-#: ../../include/identity.php:998 ../../include/identity.php:1076
-#: ../../mod/ping.php:324
-msgid "g A l F d"
-msgstr "G l d F"
+#: ../../include/ItemObject.php:602
+msgid "Code"
+msgstr "Código"
-#: ../../include/identity.php:999 ../../include/identity.php:1077
-msgid "F d"
-msgstr "F d"
+#: ../../include/ItemObject.php:603
+msgid "Image"
+msgstr "Imagem"
-#: ../../include/identity.php:1044 ../../include/identity.php:1116
-#: ../../mod/ping.php:346
-msgid "[today]"
-msgstr "[hoje]"
+#: ../../include/ItemObject.php:604
+msgid "Link"
+msgstr "Link"
-#: ../../include/identity.php:1055
-msgid "Birthday Reminders"
-msgstr "Lembres de aniversário"
+#: ../../include/ItemObject.php:605
+msgid "Video"
+msgstr "Vídeo"
-#: ../../include/identity.php:1056
-msgid "Birthdays this week:"
-msgstr "Aniversários nesta semana:"
+#: ../../include/js_strings.php:5
+msgid "Delete this item?"
+msgstr "Excluir este item?"
-#: ../../include/identity.php:1109
-msgid "[No description]"
-msgstr "[Sem descrição]"
+#: ../../include/js_strings.php:8
+msgid "[-] show less"
+msgstr "[-] mostra menos"
-#: ../../include/identity.php:1127
-msgid "Event Reminders"
-msgstr "Lembretes de eventos"
+#: ../../include/js_strings.php:9
+msgid "[+] expand"
+msgstr "[+] expandir"
-#: ../../include/identity.php:1128
-msgid "Events this week:"
-msgstr "Eventos nesta semana:"
+#: ../../include/js_strings.php:10
+msgid "[-] collapse"
+msgstr "[-] colapsar"
-#: ../../include/identity.php:1141 ../../include/identity.php:1258
-#: ../../include/apps.php:138 ../../mod/profperm.php:112
-msgid "Profile"
-msgstr "Perfil"
+#: ../../include/js_strings.php:11
+msgid "Password too short"
+msgstr "A senha é muito curta"
-#: ../../include/identity.php:1149 ../../mod/settings.php:1056
+#: ../../include/identity.php:1115 ../../mod/settings.php:1050
msgid "Full Name:"
msgstr "Nome completo:"
-#: ../../include/identity.php:1156
-msgid "Like this channel"
-msgstr "Gostar deste canal"
+#: ../../include/js_strings.php:13 ../../mod/photos.php:39
+msgid "everybody"
+msgstr "todos"
-#: ../../include/identity.php:1180
-msgid "j F, Y"
-msgstr "j \\d\\e F, Y"
+#: ../../include/js_strings.php:14
+msgid "Secret Passphrase"
+msgstr "Frase secreta"
-#: ../../include/identity.php:1181
-msgid "j F"
-msgstr "j \\d\\e F"
+#: ../../include/js_strings.php:15
+msgid "Passphrase hint"
+msgstr "Dica da frase secreta"
-#: ../../include/identity.php:1188
-msgid "Birthday:"
-msgstr "Aniversário:"
+#: ../../include/js_strings.php:16
+msgid "Notice: Permissions have changed but have not yet been submitted."
+msgstr "Atenção: permissões foram modificadas mas ainda não foram enviadas."
-#: ../../include/identity.php:1192 ../../mod/directory.php:297
-msgid "Age:"
-msgstr "Idade:"
+#: ../../include/js_strings.php:17
+msgid "close all"
+msgstr "fechar tudo"
-#: ../../include/identity.php:1201
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "para %1$d %2$s"
+#: ../../include/js_strings.php:18
+msgid "Nothing new here"
+msgstr "Nada de novo aqui"
-#: ../../include/identity.php:1204 ../../mod/profiles.php:691
-msgid "Sexual Preference:"
-msgstr "Preferência sexual:"
+#: ../../include/js_strings.php:20
+msgid "timeago.prefixAgo"
+msgstr "timeago.prefixAgo"
-#: ../../include/identity.php:1208 ../../mod/directory.php:313
-#: ../../mod/profiles.php:693
-msgid "Hometown:"
-msgstr "Cidade natal:"
+#: ../../include/js_strings.php:21
+msgid "timeago.prefixFromNow"
+msgstr "timeago.prefixFromNow"
-#: ../../include/identity.php:1210
-msgid "Tags:"
-msgstr "Etiquetas:"
+#: ../../include/js_strings.php:22
+msgid "ago"
+msgstr "atrás"
-#: ../../include/identity.php:1212 ../../mod/profiles.php:694
-msgid "Political Views:"
-msgstr "Posição política:"
+#: ../../include/js_strings.php:23
+msgid "from now"
+msgstr "de agora"
-#: ../../include/identity.php:1214
-msgid "Religion:"
-msgstr "Religião:"
+#: ../../include/js_strings.php:24
+msgid "less than a minute"
+msgstr "menos de um minuto"
-#: ../../include/identity.php:1216 ../../mod/directory.php:315
-msgid "About:"
-msgstr "Sobre:"
+#: ../../include/js_strings.php:25
+msgid "about a minute"
+msgstr "aproximadamente um minuto"
-#: ../../include/identity.php:1218
-msgid "Hobbies/Interests:"
-msgstr "Hobbies/Interesses:"
+#: ../../include/js_strings.php:26
+#, php-format
+msgid "%d minutes"
+msgstr "%d minutos"
-#: ../../include/identity.php:1220 ../../mod/profiles.php:697
-msgid "Likes:"
-msgstr "Gosta de:"
+#: ../../include/js_strings.php:27
+msgid "about an hour"
+msgstr "aproximadamente uma hora"
-#: ../../include/identity.php:1222 ../../mod/profiles.php:698
-msgid "Dislikes:"
-msgstr "Não gosta de:"
+#: ../../include/js_strings.php:28
+#, php-format
+msgid "about %d hours"
+msgstr "aproximadamente %d horas"
-#: ../../include/identity.php:1224
-msgid "Contact information and Social Networks:"
-msgstr "Informações de contato e redes sociais:"
+#: ../../include/js_strings.php:29
+msgid "a day"
+msgstr "um dia"
-#: ../../include/identity.php:1226
-msgid "My other channels:"
-msgstr "Meus outros canais:"
+#: ../../include/js_strings.php:30
+#, php-format
+msgid "%d days"
+msgstr "%d dias"
-#: ../../include/identity.php:1228
-msgid "Musical interests:"
-msgstr "Interesses musicais:"
+#: ../../include/js_strings.php:31
+msgid "about a month"
+msgstr "aproximadamente um mês"
-#: ../../include/identity.php:1230
-msgid "Books, literature:"
-msgstr "Livros, literatura:"
+#: ../../include/js_strings.php:32
+#, php-format
+msgid "%d months"
+msgstr "%d meses"
-#: ../../include/identity.php:1232
-msgid "Television:"
-msgstr "Televisão:"
+#: ../../include/js_strings.php:33
+msgid "about a year"
+msgstr "aproximadamente um ano"
-#: ../../include/identity.php:1234
-msgid "Film/dance/culture/entertainment:"
-msgstr "Filmes/dança/cultura/entretenimento:"
+#: ../../include/js_strings.php:34
+#, php-format
+msgid "%d years"
+msgstr "%d anos"
-#: ../../include/identity.php:1236
-msgid "Love/Romance:"
-msgstr "Amor/romance:"
+#: ../../include/js_strings.php:35
+msgid " "
+msgstr " "
-#: ../../include/identity.php:1238
-msgid "Work/employment:"
-msgstr "Trabalho/emprego:"
+#: ../../include/js_strings.php:36
+msgid "timeago.numbers"
+msgstr "timeago.numbers"
-#: ../../include/identity.php:1240
-msgid "School/education:"
-msgstr "Escola/educação:"
+#: ../../include/Contact.php:123
+msgid "New window"
+msgstr "Nova janela"
-#: ../../include/identity.php:1260
-msgid "Like this thing"
-msgstr "Gostar desta coisa"
+#: ../../include/Contact.php:124
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Abre a localização selecionada em outra aba ou janela"
+
+#: ../../include/Contact.php:211 ../../mod/admin.php:649
+#, php-format
+msgid "User '%s' deleted"
+msgstr "O usuário/a '%s' foi deletado/a"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:103
+#: ../../include/profile_selectors.php:23
msgid "Male"
msgstr "Masculino"
#: ../../include/profile_selectors.php:6
-#: ../../include/profile_selectors.php:23 ../../mod/id.php:105
+#: ../../include/profile_selectors.php:23
msgid "Female"
msgstr "Feminino"
@@ -3581,6 +3582,13 @@ msgid "Non-specific"
msgstr "Não específico"
#: ../../include/profile_selectors.php:6
+#: ../../include/profile_selectors.php:23
+#: ../../include/profile_selectors.php:61
+#: ../../include/profile_selectors.php:97 ../../include/permissions.php:746
+msgid "Other"
+msgstr "Outro"
+
+#: ../../include/profile_selectors.php:6
msgid "Undecided"
msgstr "Indeciso"
@@ -3766,303 +3774,876 @@ msgstr "Não importa"
msgid "Ask me"
msgstr "Pergunte-me"
-#: ../../include/apps.php:128
-msgid "Site Admin"
-msgstr "Administração do site"
+#: ../../include/auth.php:103
+msgid "Logged out."
+msgstr "Você saiu."
-#: ../../include/apps.php:130
-msgid "Address Book"
-msgstr "Livro de Endereços"
+#: ../../include/auth.php:249
+msgid "Failed authentication"
+msgstr "Não foi possível autenticar"
-#: ../../include/apps.php:144 ../../mod/mood.php:130
-msgid "Mood"
-msgstr "Humor"
+#: ../../include/auth.php:264 ../../mod/openid.php:188
+msgid "Login failed."
+msgstr "Não foi possível entrar."
-#: ../../include/apps.php:148
-msgid "Probe"
-msgstr "Sonda"
+#: ../../include/permissions.php:13
+msgid "Can view my normal stream and posts"
+msgstr "Pode ver meus fluxo e publicações normais"
-#: ../../include/apps.php:149
-msgid "Suggest"
-msgstr "Sugerir"
+#: ../../include/permissions.php:14
+msgid "Can view my default channel profile"
+msgstr "Pode ver o perfil padrão do meu canal"
-#: ../../include/apps.php:150
-msgid "Random Channel"
-msgstr "Canal aleatório"
+#: ../../include/permissions.php:15
+msgid "Can view my photo albums"
+msgstr "Pode ver meus álbuns de fotos"
-#: ../../include/apps.php:151
-msgid "Invite"
-msgstr "Convidar"
+#: ../../include/permissions.php:16
+msgid "Can view my connections"
+msgstr "Pode ver minhas conexões"
-#: ../../include/apps.php:152
-msgid "Features"
-msgstr "Recursos"
+#: ../../include/permissions.php:17
+msgid "Can view my file storage"
+msgstr "Pode ver meu armazenamento de arquivos"
-#: ../../include/apps.php:153 ../../mod/id.php:28
-msgid "Language"
-msgstr "Idioma"
+#: ../../include/permissions.php:18
+msgid "Can view my webpages"
+msgstr "Pode ver minhas páginas web"
-#: ../../include/apps.php:154
-msgid "Post"
-msgstr "Publicação"
+#: ../../include/permissions.php:21
+msgid "Can send me their channel stream and posts"
+msgstr "Pode me enviar seu fluxo e publicações"
-#: ../../include/apps.php:155 ../../mod/id.php:17 ../../mod/id.php:18
-#: ../../mod/id.php:19
-msgid "Profile Photo"
-msgstr "Foto do perfil"
+#: ../../include/permissions.php:22
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Pode publicar na página do meu canal (\"mural\")"
#: ../../include/apps.php:247 ../../mod/settings.php:84
-#: ../../mod/settings.php:614
+#: ../../mod/settings.php:613
msgid "Update"
msgstr "Atualizar"
-#: ../../include/apps.php:247
-msgid "Install"
-msgstr "Instalar"
-
-#: ../../include/apps.php:252
-msgid "Purchase"
-msgstr "Compras"
-
-#: ../../include/bbcode.php:122 ../../include/bbcode.php:768
-#: ../../include/bbcode.php:771 ../../include/bbcode.php:776
-#: ../../include/bbcode.php:779 ../../include/bbcode.php:782
-#: ../../include/bbcode.php:785 ../../include/bbcode.php:790
-#: ../../include/bbcode.php:793 ../../include/bbcode.php:798
-#: ../../include/bbcode.php:801 ../../include/bbcode.php:804
-#: ../../include/bbcode.php:807
-msgid "Image/photo"
-msgstr "Imagem/foto"
+#: ../../include/permissions.php:24
+msgid "Can send me private mail messages"
+msgstr "Pode me enviar mensagens privadas"
-#: ../../include/bbcode.php:161 ../../include/bbcode.php:818
-msgid "Encrypted content"
-msgstr "Conteúdo criptografado"
+#: ../../include/permissions.php:25
+msgid "Can post photos to my photo albums"
+msgstr "Pode publicar fotos nos meus álbuns de fotos"
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Instalar elemento %s:"
+#: ../../include/permissions.php:26
+msgid "Can like/dislike stuff"
+msgstr "Pode gostar/desgostar de coisas"
-#: ../../include/bbcode.php:182
-#, php-format
+#: ../../include/permissions.php:26
+msgid "Profiles and things other than posts/comments"
+msgstr "Perfis e coisas que não publicações/comentários"
+
+#: ../../include/permissions.php:28
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Pode encaminhar para todos os contatos do meu canal via @menções na publicação"
+
+#: ../../include/permissions.php:28
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Avançado - útil para criar canais de fóruns de grupos"
+
+#: ../../include/permissions.php:29
+msgid "Can chat with me (when available)"
+msgstr "Pode conversar comigo (quando disponívei)"
+
+#: ../../include/permissions.php:30
+msgid "Can write to my file storage"
+msgstr "Pode escrever em meu armazenamento de arquivos"
+
+#: ../../include/permissions.php:31
+msgid "Can edit my webpages"
+msgstr "Pode editar minhas páginas web"
+
+#: ../../include/permissions.php:33
+msgid "Can source my public posts in derived channels"
+msgstr "Pode usar minhas publicações públicas como fonte para canais derivados"
+
+#: ../../include/permissions.php:33
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Avançado - muito útil em comunidades abertas"
+
+#: ../../include/permissions.php:35
+msgid "Can administer my channel resources"
+msgstr "Pode administrar os recursos do meu canal"
+
+#: ../../include/permissions.php:35
msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Esta publicação contém um elemento %s instalável, porém você não tem permissões para instalá-lo neste site."
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Extremamente avançado. Não mexa nisso a não ser que saiba o que está fazendo"
-#: ../../include/bbcode.php:192 ../../mod/impel.php:37
-msgid "webpage"
-msgstr "página web"
+#: ../../include/permissions.php:738
+msgid "Social Networking"
+msgstr "Rede social"
-#: ../../include/bbcode.php:195 ../../mod/impel.php:47
-msgid "layout"
-msgstr "layout"
+#: ../../include/permissions.php:739 ../../include/permissions.php:741
+#: ../../include/permissions.php:743 ../../include/permissions.php:745
+msgid "Mostly Public"
+msgstr "Padrão público"
-#: ../../include/bbcode.php:198 ../../mod/impel.php:42
-msgid "block"
-msgstr "bloco"
+#: ../../include/permissions.php:739 ../../include/permissions.php:741
+#: ../../include/permissions.php:743
+msgid "Restricted"
+msgstr "Restrito"
-#: ../../include/bbcode.php:201 ../../mod/impel.php:54
-msgid "menu"
-msgstr "menu"
+#: ../../include/permissions.php:739 ../../include/permissions.php:741
+msgid "Private"
+msgstr "Privado"
-#: ../../include/bbcode.php:215
-msgid "QR code"
-msgstr "código QR"
+#: ../../include/permissions.php:740
+msgid "Community Forum"
+msgstr "Fórum de comunidade"
-#: ../../include/bbcode.php:266
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s escreveu a seguinte %2$s %3$s"
+#: ../../include/permissions.php:742
+msgid "Feed Republish"
+msgstr "Republicação de feed"
-#: ../../include/bbcode.php:268 ../../mod/tagger.php:51
-msgid "post"
-msgstr "publicação"
+#: ../../include/permissions.php:744
+msgid "Celebrity/Soapbox"
+msgstr "Personalidade/Palanque"
-#: ../../include/bbcode.php:518
-msgid "Different viewers will see this text differently"
-msgstr "Visualizadores diferentes verão esse texto diferentemente"
+#: ../../include/permissions.php:747
+msgid "Custom/Expert Mode"
+msgstr "Personalizado/Modo expert"
-#: ../../include/bbcode.php:729
-msgid "$1 spoiler"
-msgstr "$1 spoiler"
+#: ../../mod/mood.php:132
+msgid "Set your current mood and tell your friends"
+msgstr "Marque seu humor atual e compartilhe com seus amigos"
-#: ../../include/bbcode.php:756
-msgid "$1 wrote:"
-msgstr "$1 escreveu:"
+#: ../../mod/mitem.php:14 ../../mod/menu.php:92
+msgid "Menu not found."
+msgstr "O menu não foi encontrado."
-#: ../../include/chat.php:23
-msgid "Missing room name"
-msgstr "Nome da sala vazio"
+#: ../../mod/mitem.php:47
+msgid "Menu element updated."
+msgstr "O elemento de menu foi atualizado."
-#: ../../include/chat.php:32
-msgid "Duplicate room name"
-msgstr "Nome da sala duplicado"
+#: ../../mod/mitem.php:51
+msgid "Unable to update menu element."
+msgstr "Não foi possível atualizar o elemento de menu."
-#: ../../include/chat.php:82 ../../include/chat.php:90
-msgid "Invalid room specifier."
-msgstr "Especificador de sala inválido."
+#: ../../mod/mitem.php:57
+msgid "Menu element added."
+msgstr "O elemento de menu foi adicionado."
-#: ../../include/chat.php:120
-msgid "Room not found."
-msgstr "A sala não foi encontrada."
+#: ../../mod/mitem.php:61
+msgid "Unable to add menu element."
+msgstr "Não foi possível adicionar o elemento de menu."
-#: ../../include/chat.php:141
-msgid "Room is full"
-msgstr "A sala está cheia"
+#: ../../mod/mitem.php:78 ../../mod/dirprofile.php:175 ../../mod/menu.php:120
+#: ../../mod/xchan.php:38
+msgid "Not found."
+msgstr "Não encontrado."
-#: ../../include/photos.php:94
-#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "A imagem excede o limite de tamanho do site, que é de %"
+#: ../../mod/mitem.php:96
+msgid "Manage Menu Elements"
+msgstr "Administrar elementos de menu"
+
+#: ../../mod/mitem.php:99
+msgid "Edit menu"
+msgstr "Editar menu"
+
+#: ../../mod/mitem.php:102
+msgid "Edit element"
+msgstr "Editar elemento"
+
+#: ../../mod/mitem.php:103
+msgid "Drop element"
+msgstr "Descartar elemento"
-#: ../../include/photos.php:101
-msgid "Image file is empty."
-msgstr "O arquivo de imagem está vazio."
+#: ../../mod/mitem.php:104
+msgid "New element"
+msgstr "Novo elemento"
-#: ../../include/photos.php:128 ../../mod/profile_photo.php:217
-msgid "Unable to process image"
-msgstr "Não foi possível processar a imagem"
+#: ../../mod/mitem.php:105
+msgid "Edit this menu container"
+msgstr "Editar esta caixa de menu"
-#: ../../include/photos.php:199
-msgid "Photo storage failed."
-msgstr "Não foi possível armazenar a foto."
+#: ../../mod/mitem.php:106
+msgid "Add menu element"
+msgstr "Adicionar um elemento de menu"
-#: ../../include/photos.php:363
-msgid "Upload New Photos"
-msgstr "Enviar novas fotos"
+#: ../../mod/mitem.php:107
+msgid "Delete this menu item"
+msgstr "Deleter este item de menu"
+
+#: ../../mod/mitem.php:108
+msgid "Edit this menu item"
+msgstr "Editar este item de menu"
+
+#: ../../mod/mitem.php:131
+msgid "New Menu Element"
+msgstr "Novo elemento de menu"
+
+#: ../../mod/mitem.php:133 ../../mod/mitem.php:176
+msgid "Menu Item Permissions"
+msgstr "Permissões do item do menu"
+
+#: ../../mod/mitem.php:134 ../../mod/mitem.php:177 ../../mod/settings.php:980
+msgid "(click to open/close)"
+msgstr "(clique para abrir/fechar)"
+
+#: ../../mod/mitem.php:136 ../../mod/mitem.php:180
+msgid "Link text"
+msgstr "Texto do link"
+
+#: ../../mod/mitem.php:137 ../../mod/mitem.php:181
+msgid "URL of link"
+msgstr "URL do link"
+
+#: ../../mod/mitem.php:138 ../../mod/mitem.php:182
+msgid "Use Red magic-auth if available"
+msgstr "Usar <em>Red magic-auth</em> se disponível"
+
+#: ../../mod/mitem.php:139 ../../mod/mitem.php:183
+msgid "Open link in new window"
+msgstr "Abrir link em uma nova janela"
+
+#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
+msgid "Order in list"
+msgstr "Ordem na lista"
+
+#: ../../mod/mitem.php:141 ../../mod/mitem.php:185
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Números mais altos descem para o fim da lista"
+
+#: ../../mod/mitem.php:154
+msgid "Menu item not found."
+msgstr "O item de menu não foi encontrado."
+
+#: ../../mod/mitem.php:163
+msgid "Menu item deleted."
+msgstr "O item de menu foi deletado."
+
+#: ../../mod/mitem.php:165
+msgid "Menu item could not be deleted."
+msgstr "Não foi possível deletar o item de menu."
+
+#: ../../mod/mitem.php:174
+msgid "Edit Menu Element"
+msgstr "Editar elemento de menu"
+
+#: ../../mod/mitem.php:186 ../../mod/menu.php:114
+msgid "Modify"
+msgstr "Modificar"
#: ../../mod/achievements.php:34
msgid "Some blurb about what to do when you're new here"
msgstr "Alguma coisa sobre o que fazer quando se é novo aqui"
-#: ../../mod/manage.php:136
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Você criou %1$.0f de %2$.0f canais permitidos."
+#: ../../mod/ping.php:237
+msgid "sent you a private message"
+msgstr "lhe enviou uma mensagem privada"
-#: ../../mod/manage.php:144
-msgid "Create a new channel"
-msgstr "Criar um novo canal"
+#: ../../mod/ping.php:288
+msgid "added your channel"
+msgstr "adicionou seu canal"
-#: ../../mod/manage.php:167
-msgid "Current Channel"
-msgstr "Canal atual"
+#: ../../mod/ping.php:329
+msgid "posted an event"
+msgstr "publicou um evento"
-#: ../../mod/manage.php:169
-msgid "Switch to one of your channels by selecting it."
-msgstr "Troque para um de seus canais selecionando-o."
+#: ../../mod/acl.php:244
+msgid "network"
+msgstr "+ rede"
-#: ../../mod/manage.php:170
-msgid "Default Channel"
-msgstr "Canal padrão"
+#: ../../mod/settings.php:71
+msgid "Name is required"
+msgstr "É necessário informar o nome"
-#: ../../mod/manage.php:171
-msgid "Make Default"
-msgstr "Tornar padrão"
+#: ../../mod/settings.php:75
+msgid "Key and Secret are required"
+msgstr "A chave e o segredo são obrigatórios"
-#: ../../mod/manage.php:174
-#, php-format
-msgid "%d new messages"
-msgstr "%d novas mensagens"
+#: ../../mod/settings.php:129
+msgid "Diaspora Policy Settings updated."
+msgstr "Configurações da política do Diáspora atualizadas."
-#: ../../mod/manage.php:175
-#, php-format
-msgid "%d new introductions"
-msgstr "%d novas apresentações"
+#: ../../mod/settings.php:237
+msgid "Passwords do not match. Password unchanged."
+msgstr "As senhas não correspondem. A senha não foi modificada."
+
+#: ../../mod/settings.php:241
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Não é permitido uma senha em branco. A senha não foi modificada."
-#: ../../mod/manage.php:177
-msgid "Delegated Channels"
-msgstr "Canais delegados"
+#: ../../mod/settings.php:255
+msgid "Password changed."
+msgstr "A senha foi modificada."
-#: ../../mod/directory.php:59 ../../mod/photos.php:441 ../../mod/search.php:13
-#: ../../mod/ratings.php:82 ../../mod/viewconnections.php:17
-#: ../../mod/display.php:13
-msgid "Public access denied."
-msgstr "Acesso público negado."
+#: ../../mod/settings.php:257
+msgid "Password update failed. Please try again."
+msgstr "Não foi possível atualizar a senha. Por favor, tente novamente."
-#: ../../mod/directory.php:234
+#: ../../mod/settings.php:271
+msgid "Not valid email."
+msgstr "Não é um e-mail válido"
+
+#: ../../mod/settings.php:274
+msgid "Protected email address. Cannot change to that email."
+msgstr "Endereço de e-mail protegido. Não é possível mudar para esse e-mail."
+
+#: ../../mod/settings.php:283
+msgid "System failure storing new email. Please try again."
+msgstr "Falha do sistema ao armazenar novo e-mail. Por favor, tente novamente."
+
+#: ../../mod/settings.php:522
+msgid "Settings updated."
+msgstr "As configurações foram atualizadas."
+
+#: ../../mod/settings.php:578 ../../mod/api.php:106 ../../mod/photos.php:556
+#: ../../mod/menu.php:88 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:424
+#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1554
+msgid "No"
+msgstr "Não"
+
+#: ../../mod/settings.php:578 ../../mod/api.php:105 ../../mod/photos.php:556
+#: ../../mod/menu.php:88 ../../mod/filestorage.php:151
+#: ../../mod/filestorage.php:159 ../../mod/admin.php:426
+#: ../../mod/removeme.php:60 ../../view/theme/redbasic/php/config.php:102
+#: ../../view/theme/redbasic/php/config.php:127 ../../boot.php:1554
+msgid "Yes"
+msgstr "Sim"
+
+#: ../../mod/settings.php:586 ../../mod/settings.php:612
+#: ../../mod/settings.php:648
+msgid "Add application"
+msgstr "Adicionar aplicação"
+
+#: ../../mod/settings.php:589
+msgid "Name of application"
+msgstr "Nome da aplicação"
+
+#: ../../mod/settings.php:590 ../../mod/settings.php:616
+msgid "Consumer Key"
+msgstr "Chave de consumidor"
+
+#: ../../mod/settings.php:590 ../../mod/settings.php:591
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Gerado automaticamente - troque se desejável. Comprimento máximo 20"
+
+#: ../../mod/settings.php:591 ../../mod/settings.php:617
+msgid "Consumer Secret"
+msgstr "Segredo de consumidor"
+
+#: ../../mod/settings.php:592 ../../mod/settings.php:618
+msgid "Redirect"
+msgstr "Redirecionamento"
+
+#: ../../mod/settings.php:592
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI de redirecionamento - deixe em branco, a não ser que sua aplicação especificamente requeira isso"
+
+#: ../../mod/settings.php:593 ../../mod/settings.php:619
+msgid "Icon url"
+msgstr "URL do ícone"
+
+#: ../../mod/settings.php:593
+msgid "Optional"
+msgstr "Opcional"
+
+#: ../../mod/settings.php:604
+msgid "You can't edit this application."
+msgstr "Você não pode editar esta aplicação."
+
+#: ../../mod/settings.php:647
+msgid "Connected Apps"
+msgstr "Aplicações conectadas"
+
+#: ../../mod/settings.php:651
+msgid "Client key starts with"
+msgstr "Chave do cliente começa com"
+
+#: ../../mod/settings.php:652
+msgid "No name"
+msgstr "Sem nome"
+
+#: ../../mod/settings.php:653
+msgid "Remove authorization"
+msgstr "Remover autorização"
+
+#: ../../mod/settings.php:667
+msgid "No feature settings configured"
+msgstr "Não foi definida nenhuma configuração do recurso"
+
+#: ../../mod/settings.php:683
+msgid "Feature/Addon Settings"
+msgstr "Configuração de Característica/Plugins"
+
+#: ../../mod/settings.php:685
+msgid "Settings for the built-in Diaspora emulator"
+msgstr "Configurações para construir um emulador de Diáspora"
+
+#: ../../mod/settings.php:686
+msgid "Allow any Diaspora member to comment on your public posts"
+msgstr "Permitir que qualquer membro do Diaspora comente em suas postagens públicas"
+
+#: ../../mod/settings.php:687
+msgid "Diaspora Policy Settings"
+msgstr "Configurações de Política do Diáspora"
+
+#: ../../mod/settings.php:688
+msgid "Prevent your hashtags from being redirected to other sites"
+msgstr "Previne que suas hashtags sejam redirecionadas para outros sítios"
+
+#: ../../mod/settings.php:712
+msgid "Account Settings"
+msgstr "Configurações da conta"
+
+#: ../../mod/settings.php:713
+msgid "Enter New Password:"
+msgstr "Digite a Nova Senha:"
+
+#: ../../mod/settings.php:714
+msgid "Confirm New Password:"
+msgstr "Confirme a Nova Senha:"
+
+#: ../../mod/settings.php:714
+msgid "Leave password fields blank unless changing"
+msgstr "Deixe os campos de senha em branco, a não ser que você queira alterá-la"
+
+#: ../../mod/settings.php:716 ../../mod/settings.php:1051
+msgid "Email Address:"
+msgstr "Endereço de e-mail:"
+
+#: ../../mod/settings.php:717 ../../mod/removeaccount.php:61
+msgid "Remove Account"
+msgstr "Remover conta"
+
+#: ../../mod/settings.php:718
+msgid "Remove this account including all its channels"
+msgstr "Exclua esta conta, incluindo todos seus canais"
+
+#: ../../mod/settings.php:734
+msgid "Off"
+msgstr "Desligado"
+
+#: ../../mod/settings.php:734
+msgid "On"
+msgstr "Ligado"
+
+#: ../../mod/settings.php:741
+msgid "Additional Features"
+msgstr "Recursos adicionais"
+
+#: ../../mod/settings.php:765
+msgid "Connector Settings"
+msgstr "Configurações do conector"
+
+#: ../../mod/settings.php:804
+msgid "No special theme for mobile devices"
+msgstr "Sem tema especial para aparelhos móveis"
+
+#: ../../mod/settings.php:807
#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d avaliação"
-msgstr[1] "%d avaliações"
+msgid "%s - (Experimental)"
+msgstr "%s - (Experimental)"
-#: ../../mod/directory.php:245
-msgid "Gender: "
-msgstr "Gênero: "
+#: ../../mod/settings.php:810 ../../mod/admin.php:396
+msgid "mobile"
+msgstr "móvel"
-#: ../../mod/directory.php:247
-msgid "Status: "
-msgstr "Status:"
+#: ../../mod/settings.php:846
+msgid "Display Settings"
+msgstr "Configurações de exibição"
-#: ../../mod/directory.php:249
-msgid "Homepage: "
-msgstr "Website:"
+#: ../../mod/settings.php:852
+msgid "Display Theme:"
+msgstr "Tema do perfil:"
-#: ../../mod/directory.php:308 ../../mod/events.php:645
-msgid "Description:"
-msgstr "Descrição:"
+#: ../../mod/settings.php:853
+msgid "Mobile Theme:"
+msgstr "Tema móvel:"
-#: ../../mod/directory.php:317
-msgid "Public Forum:"
-msgstr "Fórum público:"
+#: ../../mod/settings.php:854
+msgid "Enable user zoom on mobile devices"
+msgstr "Permitir zoom pelo usuário em dispositivos móveis"
-#: ../../mod/directory.php:320
-msgid "Keywords: "
-msgstr "Palavras-chave:"
+#: ../../mod/settings.php:855
+msgid "Update browser every xx seconds"
+msgstr "Atualizar navegador a cada xx segundos"
-#: ../../mod/directory.php:323
-msgid "Don't suggest"
-msgstr "Não sugerir"
+#: ../../mod/settings.php:855
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Mínimo de 10 segundos, sem máximo"
-#: ../../mod/directory.php:325
-msgid "Common connections:"
-msgstr "Conexões em comum:"
+#: ../../mod/settings.php:856
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Número máximo permitido de conversas carregadas:"
-#: ../../mod/directory.php:374
-msgid "Global Directory"
-msgstr "Diretório global"
+#: ../../mod/settings.php:856
+msgid "Maximum of 100 items"
+msgstr "Máximo de 100 itens"
-#: ../../mod/directory.php:374
-msgid "Local Directory"
-msgstr "Diretório local"
+#: ../../mod/settings.php:857
+msgid "Show emoticons (smilies) as images"
+msgstr "Mostrar emoticons (smilies) como imagens"
-#: ../../mod/directory.php:380
-msgid "Finding:"
-msgstr "Pesquisando:"
+#: ../../mod/settings.php:858
+msgid "Link post titles to source"
+msgstr "Ligar o título dos posts à fonte"
-#: ../../mod/directory.php:385
-msgid "next page"
-msgstr "próxima página"
+#: ../../mod/settings.php:859
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Editor de layout de página do sistema - (avançado)"
-#: ../../mod/directory.php:385
-msgid "previous page"
-msgstr "página anterior"
+#: ../../mod/settings.php:862
+msgid "Use blog/list mode on channel page"
+msgstr "Usar modo blog/lista na página do canal"
-#: ../../mod/directory.php:386
-msgid "Sort options"
-msgstr "Opções de ordenação"
+#: ../../mod/settings.php:862 ../../mod/settings.php:863
+msgid "(comments displayed separately)"
+msgstr "(comentários mostrados separadamente)"
-#: ../../mod/directory.php:387
-msgid "Alphabetic"
-msgstr "Alfabética"
+#: ../../mod/settings.php:863
+msgid "Use blog/list mode on matrix page"
+msgstr "Use modo de blogue/lista na página da matriz"
-#: ../../mod/directory.php:388
-msgid "Reverse Alphabetic"
-msgstr "Alfabética reversa"
+#: ../../mod/settings.php:864
+msgid "Channel page max height of content (in pixels)"
+msgstr "Altura máxima do conteúdo na página (em pixels)"
-#: ../../mod/directory.php:389
-msgid "Newest to Oldest"
-msgstr "Das mais recentes para as mais antigas"
+#: ../../mod/settings.php:864 ../../mod/settings.php:865
+msgid "click to expand content exceeding this height"
+msgstr "clique para expandir o conteúdo que excede essa altura"
-#: ../../mod/directory.php:390
-msgid "Oldest to Newest"
-msgstr "Do mais Antigo para o mais Novo"
+#: ../../mod/settings.php:865
+msgid "Matrix page max height of content (in pixels)"
+msgstr "Máxima altura de conteúdo na página Matriz (in pixesl)"
-#: ../../mod/directory.php:407
-msgid "No entries (some entries may be hidden)."
-msgstr "Nenhuma entrada (algumas entradas podem estar escondidas)."
+#: ../../mod/settings.php:899
+msgid "Nobody except yourself"
+msgstr "Ninguém exceto você mesmo"
+
+#: ../../mod/settings.php:900
+msgid "Only those you specifically allow"
+msgstr "Apenas quem você der permissão"
+
+#: ../../mod/settings.php:901
+msgid "Approved connections"
+msgstr "Conexões aprovadas"
+
+#: ../../mod/settings.php:902
+msgid "Any connections"
+msgstr "Quaisquer conexões"
+
+#: ../../mod/settings.php:903
+msgid "Anybody on this website"
+msgstr "Qualquer um neste site"
+
+#: ../../mod/settings.php:904
+msgid "Anybody in this network"
+msgstr "Qualquer um nesta rede"
+
+#: ../../mod/settings.php:905
+msgid "Anybody authenticated"
+msgstr "Qualquer um autenticado"
+
+#: ../../mod/settings.php:906
+msgid "Anybody on the internet"
+msgstr "Qualquer um na internet"
+
+#: ../../mod/settings.php:980
+msgid "Publish your default profile in the network directory"
+msgstr "Publicar seu perfil padrão no diretório da rede?"
+
+#: ../../mod/settings.php:985
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Permitir sugerir você como amigo potencial para outros membros?"
+
+#: ../../mod/settings.php:989 ../../mod/profile_photo.php:366
+msgid "or"
+msgstr "ou"
+
+#: ../../mod/settings.php:994
+msgid "Your channel address is"
+msgstr "O endereço do seu canal é"
+
+#: ../../mod/settings.php:1042
+msgid "Channel Settings"
+msgstr "Configurações do canal"
+
+#: ../../mod/settings.php:1049
+msgid "Basic Settings"
+msgstr "Configurações básicas"
+
+#: ../../mod/settings.php:1052
+msgid "Your Timezone:"
+msgstr "Seu fuso horário:"
+
+#: ../../mod/settings.php:1053
+msgid "Default Post Location:"
+msgstr "Localização padrão de suas publicações:"
+
+#: ../../mod/settings.php:1053
+msgid "Geographical location to display on your posts"
+msgstr "Localização geográfica para exibir em suas publicações"
+
+#: ../../mod/settings.php:1054
+msgid "Use Browser Location:"
+msgstr "Usar localizador do navegador:"
+
+#: ../../mod/settings.php:1056
+msgid "Adult Content"
+msgstr "Conteúdo adulto"
+
+#: ../../mod/settings.php:1056
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "Este canal frequentemente ou regularmente publica conteúdo adulto. (Por favor marque qualquer material adulto e/ou nudez com #NSFW)"
+
+#: ../../mod/settings.php:1058
+msgid "Security and Privacy Settings"
+msgstr "Configurações de segurança e privacidade"
+
+#: ../../mod/settings.php:1060
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "Suas permissões já foram configuradas. Clique para vê-las/ajustá-las"
+
+#: ../../mod/settings.php:1062
+msgid "Hide my online presence"
+msgstr "Esconda minha presença online"
+
+#: ../../mod/settings.php:1062
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Previne exibir em seu perfil que você está online"
+
+#: ../../mod/settings.php:1064
+msgid "Simple Privacy Settings:"
+msgstr "Configurações de privacidade simples:"
+
+#: ../../mod/settings.php:1065
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "Muito público - <em>extremamente permissivo (deve ser usado com cuidado)</em>"
+
+#: ../../mod/settings.php:1066
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "Típico - <em>público por padrão, privado quando desejável (similar às permissões de redes sociais, mas com melhor privacidade)</em>"
+
+#: ../../mod/settings.php:1067
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Privado - <em>privado por padrão, nunca aberto ou público</em>"
+
+#: ../../mod/settings.php:1068
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Bloqueado - <em>por padrão bloquado de/para todos</em>"
+
+#: ../../mod/settings.php:1070
+msgid "Allow others to tag your posts"
+msgstr "Permitir que outros etiquetem suas publicações"
+
+#: ../../mod/settings.php:1070
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr "Frequentemente utilizado pela comunidade para retroativamente sinalizar conteúdo inapropriado"
+
+#: ../../mod/settings.php:1072
+msgid "Advanced Privacy Settings"
+msgstr "Configurações de privacidade avançadas"
+
+#: ../../mod/settings.php:1074
+msgid "Expire other channel content after this many days"
+msgstr "Expirar outros conteúdos do canal após este número de dias"
+
+#: ../../mod/settings.php:1074
+msgid "0 or blank prevents expiration"
+msgstr "0 ou em branco previne expiração"
+
+#: ../../mod/settings.php:1075
+msgid "Maximum Friend Requests/Day:"
+msgstr "Número máximo de requisições de amizade por dia:"
+
+#: ../../mod/settings.php:1075
+msgid "May reduce spam activity"
+msgstr "Pode reduzir a frequência de spam"
+
+#: ../../mod/settings.php:1076
+msgid "Default Post Permissions"
+msgstr "Permissões padrão de publicação"
+
+#: ../../mod/settings.php:1077 ../../mod/mitem.php:159 ../../mod/mitem.php:229
+msgid "(click to open/close)"
+msgstr "(clique para abrir/fechar)"
+
+#: ../../mod/settings.php:1081
+msgid "Channel permissions category:"
+msgstr "Categoria de permissões do canal:"
+
+#: ../../mod/settings.php:1087
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Máximo número de mensagens privadas por dia de pessoas desconhecidas:"
+
+#: ../../mod/settings.php:1087
+msgid "Useful to reduce spamming"
+msgstr "Útil para reduzir a frequência de spam"
+
+#: ../../mod/settings.php:1090
+msgid "Notification Settings"
+msgstr "Configurações de notificação"
+
+#: ../../mod/settings.php:1091
+msgid "By default post a status message when:"
+msgstr "Por padrão, publicar uma mensagem de status quando:"
+
+#: ../../mod/settings.php:1092
+msgid "accepting a friend request"
+msgstr "aceitar um pedido de amizade"
+
+#: ../../mod/settings.php:1093
+msgid "joining a forum/community"
+msgstr "associar-se a um fórum/comunidade"
+
+#: ../../mod/settings.php:1094
+msgid "making an <em>interesting</em> profile change"
+msgstr "modificar algo <em>interessante</em> em seu perfil"
+
+#: ../../mod/settings.php:1095
+msgid "Send a notification email when:"
+msgstr "Enviar um e-mail de notificação quando:"
+
+#: ../../mod/settings.php:1096
+msgid "You receive a connection request"
+msgstr "Você recebe uma solicitação de conexão"
+
+#: ../../mod/settings.php:1097
+msgid "Your connections are confirmed"
+msgstr "Suas conexões são confirmadas"
+
+#: ../../mod/settings.php:1098
+msgid "Someone writes on your profile wall"
+msgstr "Alguém escrever no mural do seu perfil"
+
+#: ../../mod/settings.php:1099
+msgid "Someone writes a followup comment"
+msgstr "Alguém comenta uma publicação"
+
+#: ../../mod/settings.php:1100
+msgid "You receive a private message"
+msgstr "Você recebeu uma mensagem privada"
+
+#: ../../mod/settings.php:1101
+msgid "You receive a friend suggestion"
+msgstr "Você recebe uma sugestão de amizade"
+
+#: ../../mod/settings.php:1102
+msgid "You are tagged in a post"
+msgstr "Você é mencionado num post"
+
+#: ../../mod/settings.php:1103
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Você foi cutucado/espetado/etc. numa publicação"
+
+#: ../../mod/settings.php:1106
+msgid "Show visual notifications including:"
+msgstr "Exibir notificações visuais incluindo:"
+
+#: ../../mod/settings.php:1108
+msgid "Unseen matrix activity"
+msgstr "Atividade não vista na matriz"
+
+#: ../../mod/settings.php:1109
+msgid "Unseen channel activity"
+msgstr "Atividade não vista no canal"
+
+#: ../../mod/settings.php:1110
+msgid "Unseen private messages"
+msgstr "Mensagens privadas não vistas"
+
+#: ../../mod/settings.php:1110 ../../mod/settings.php:1115
+#: ../../mod/settings.php:1116 ../../mod/settings.php:1117
+msgid "Recommended"
+msgstr "Recomendado"
+
+#: ../../mod/settings.php:1111
+msgid "Upcoming events"
+msgstr "Eventos próximos"
+
+#: ../../mod/settings.php:1112
+msgid "Events today"
+msgstr "Eventos hoje"
+
+#: ../../mod/settings.php:1113
+msgid "Upcoming birthdays"
+msgstr "Aniversários próximos"
+
+#: ../../mod/settings.php:1113
+msgid "Not available in all themes"
+msgstr "Não disponível em todos os temas"
+
+#: ../../mod/settings.php:1114
+msgid "System (personal) notifications"
+msgstr "Notificações de sistema (pessoais)"
+
+#: ../../mod/settings.php:1115
+msgid "System info messages"
+msgstr "Mensagens de informação do sistema"
+
+#: ../../mod/settings.php:1116
+msgid "System critical alerts"
+msgstr "Alertas críticos do sistema"
+
+#: ../../mod/settings.php:1117
+msgid "New connections"
+msgstr "Novas conexões"
+
+#: ../../mod/settings.php:1118
+msgid "System Registrations"
+msgstr "Registros no sistema"
+
+#: ../../mod/settings.php:1119
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr "Também mostra novos textos, mensagens privadas e conexões nos Avisos"
+
+#: ../../mod/settings.php:1121
+msgid "Notify me of events this many days in advance"
+msgstr "Notifique-me de eventos adiante esse número de dias"
+
+#: ../../mod/settings.php:1121
+msgid "Must be greater than 0"
+msgstr "Deve ser maior que 0"
+
+#: ../../mod/settings.php:1123
+msgid "Advanced Account/Page Type Settings"
+msgstr "Configurações avançadas de conta/tipo de página"
+
+#: ../../mod/settings.php:1124
+msgid "Change the behaviour of this account for special situations"
+msgstr "Mudar o comportamento dessa conta em situações especiais"
+
+#: ../../mod/settings.php:1127
+msgid ""
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr "Por favor, habilite o modo expert (em <a href=\"settings/features\">Configurações > Recursos adicionais</a>) para ajustar!"
+
+#: ../../mod/settings.php:1128
+msgid "Miscellaneous Settings"
+msgstr "Configurações miscelâneas"
+
+#: ../../mod/settings.php:1130
+msgid "Personal menu to display in your channel pages"
+msgstr "Menu pessoal para exibir nas páginas dos seus canais"
+
+#: ../../mod/settings.php:1131 ../../mod/removeme.php:61
+msgid "Remove Channel"
+msgstr "Remover canal"
+
+#: ../../mod/settings.php:1132
+msgid "Remove this channel."
+msgstr "Remover este canal"
#: ../../mod/xchan.php:6
msgid "Xchan Lookup"
@@ -4072,7 +4653,7 @@ msgstr "Encontrar Xchan"
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Encontrar xchan iniciado por (ou webbie):"
-#: ../../mod/xchan.php:37 ../../mod/mitem.php:114 ../../mod/menu.php:156
+#: ../../mod/xchan.php:37 ../../mod/menu.php:149 ../../mod/mitem.php:120
msgid "Not found."
msgstr "Não encontrado."
@@ -4094,7 +4675,7 @@ msgid ""
" and/or create new posts for you?"
msgstr "Deseja autorizar esta aplicação a acessar suas publicações e contatos e/ou criar novas publicações para você?"
-#: ../../mod/webpages.php:191
+#: ../../mod/webpages.php:190
msgid "Page Title"
msgstr "Título da Página"
@@ -4114,7 +4695,7 @@ msgstr "Remover a etiqueta de item"
msgid "Select a tag to remove: "
msgstr "Selecione uma etiqueta para remover: "
-#: ../../mod/tagrm.php:133 ../../mod/photos.php:887
+#: ../../mod/tagrm.php:133 ../../mod/photos.php:875
msgid "Remove"
msgstr "Remover"
@@ -4227,102 +4808,120 @@ msgstr "O item não está disponível."
msgid "Fetching URL returns error: %1$s"
msgstr "Carregar o URL retorna o erro: %1$s"
+#: ../../mod/home.php:53 ../../mod/siteinfo.php:155
+msgid "$Projectname"
+msgstr "$Projectname"
+
+#: ../../mod/home.php:124
+#, php-format
+msgid "Welcome to %s"
+msgstr "Bem-vindo(a) a %s"
+
#: ../../mod/profile_photo.php:108
msgid "Image uploaded but image cropping failed."
msgstr "A imagem foi enviada, mas não foi possível cortá-la."
-#: ../../mod/profile_photo.php:162
-msgid "Image resize failed."
-msgstr "Falha ao modificar o tamanho da imagem."
+#: ../../mod/settings.php:1011
+msgid "Change the behaviour of this account for special situations"
+msgstr "Mudar o comportamento dessa conta em situações especiais"
-#: ../../mod/profile_photo.php:206
+#: ../../mod/settings.php:1014
msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Se a nova foto não aparecer imediatamente, recarregue a página segurando a tecla \"shift\" ou limpe o cache do navegador, "
+"Please enable expert mode (in <a href=\"settings/features\">Settings > "
+"Additional features</a>) to adjust!"
+msgstr "Por favor, habilite o modo expert (em <a href=\"settings/features\">Configurações > Recursos adicionais</a>) para ajustar!"
-#: ../../mod/profile_photo.php:233
-#, php-format
-msgid "Image exceeds size limit of %d"
-msgstr "A imagem excede o limite de tamanho de %d"
+#: ../../mod/settings.php:1015
+msgid "Miscellaneous Settings"
+msgstr "Configurações miscelâneas"
-#: ../../mod/profile_photo.php:242
-msgid "Unable to process image."
-msgstr "Não foi possível processar a imagem."
+#: ../../mod/settings.php:1017
+msgid "Personal menu to display in your channel pages"
+msgstr "Menu pessoal para exibir nas páginas dos seus canais"
-#: ../../mod/profile_photo.php:291 ../../mod/profile_photo.php:340
-msgid "Photo not available."
-msgstr "A foto não está disponível."
+#: ../../mod/settings.php:1018
+msgid "Remove this channel"
+msgstr "Remover este canal"
-#: ../../mod/profile_photo.php:359
-msgid "Upload File:"
-msgstr "Enviar arquivo:"
+#: ../../mod/poke.php:159
+msgid "Poke/Prod"
+msgstr "Cutucar/Espetar"
-#: ../../mod/profile_photo.php:360
-msgid "Select a profile:"
-msgstr "Selecione um perfil:"
+#: ../../mod/poke.php:160
+msgid "poke, prod or do other things to somebody"
+msgstr "Cutucar, espetar ou fazer outras coisas a alguém"
-#: ../../mod/profile_photo.php:361
-msgid "Upload Profile Photo"
-msgstr "Enviar foto do perfil"
+#: ../../mod/poke.php:161
+msgid "Recipient"
+msgstr "Destinatário"
-#: ../../mod/profile_photo.php:366 ../../mod/settings.php:995
-msgid "or"
-msgstr "ou"
+#: ../../mod/poke.php:162
+msgid "Choose what you wish to do to recipient"
+msgstr "Escolha o que você deseja fazer com seu alvo"
-#: ../../mod/profile_photo.php:366
-msgid "skip this step"
-msgstr "pule esta etapa"
+#: ../../mod/poke.php:165
+msgid "Make this post private"
+msgstr "Torne esta publicação privada"
-#: ../../mod/profile_photo.php:366
-msgid "select a photo from your photo albums"
-msgstr "selecione uma foto do seu álbum de fotos"
+#: ../../mod/api.php:76 ../../mod/api.php:102
+msgid "Authorize application connection"
+msgstr "Autorizar a conexão com a aplicação"
-#: ../../mod/profile_photo.php:382
-msgid "Crop Image"
-msgstr "Cortar a imagem"
+#: ../../mod/api.php:77
+msgid "Return to your app and insert this Securty Code:"
+msgstr "Volte para a sua aplicação e digite este código de segurança:"
-#: ../../mod/profile_photo.php:383
-msgid "Please adjust the image cropping for optimum viewing."
-msgstr "Por favor, ajuste o corte da imagem para a melhor visualização."
+#: ../../mod/api.php:89
+msgid "Please login to continue."
+msgstr "Por favor, autentique-se para continuar."
-#: ../../mod/profile_photo.php:385
-msgid "Done Editing"
-msgstr "Encerrar a edição"
+#: ../../mod/api.php:104
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Deseja autorizar esta aplicação a acessar suas publicações e contatos e/ou criar novas publicações para você?"
-#: ../../mod/profile_photo.php:428
-msgid "Image uploaded successfully."
-msgstr "A imagem foi enviada com sucesso."
+#: ../../mod/post.php:229
+msgid ""
+"Remote authentication blocked. You are logged into this site locally. Please"
+" logout and retry."
+msgstr "Autenticação remota bloqueada. Você está autenticado neste site localmente. Por favor, saia e tente novamente."
-#: ../../mod/profile_photo.php:430
-msgid "Image upload failed."
-msgstr "Não foi possível enviar a imagem."
+#: ../../mod/post.php:261 ../../mod/openid.php:72 ../../mod/openid.php:178
+#, php-format
+msgid "Welcome %s. Remote authentication successful."
+msgstr "Bem vindo %s. Autenticação remota realizada com sucesso."
+
+#: ../../mod/attach.php:9
+msgid "Item not available."
+msgstr "O item não está disponível."
-#: ../../mod/profile_photo.php:439
+#: ../../mod/probe.php:23 ../../mod/probe.php:29
#, php-format
-msgid "Image size reduction [%s] failed."
-msgstr "Não foi possível reduzir o tamanho da imagem [%s]."
+msgid "Fetching URL returns error: %1$s"
+msgstr "Carregar o URL retorna o erro: %1$s"
-#: ../../mod/block.php:27 ../../mod/page.php:36
+#: ../../mod/block.php:27 ../../mod/page.php:35
msgid "Invalid item."
msgstr "Item inválido."
-#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:52
+#: ../../mod/block.php:39 ../../mod/wall_upload.php:29 ../../mod/page.php:49
msgid "Channel not found."
msgstr "O canal não foi encontrado."
-#: ../../mod/block.php:75 ../../mod/display.php:110 ../../mod/help.php:79
-#: ../../mod/page.php:89 ../../index.php:241
+#: ../../mod/block.php:75 ../../mod/help.php:79 ../../mod/display.php:106
+#: ../../mod/page.php:85 ../../index.php:241
msgid "Page not found."
msgstr "Página não encontrada."
-#: ../../mod/like.php:15
-msgid "Like/Dislike"
-msgstr "Gostar/Desgostar"
+#: ../../mod/siteinfo.php:126
+#, php-format
+msgid "Version %s"
+msgstr "Versão %s"
-#: ../../mod/like.php:20
-msgid "This action is restricted to members."
-msgstr "Esta ação é restrita a membros."
+#: ../../mod/siteinfo.php:145
+msgid "Installed plugins/addons/apps:"
+msgstr "Plugins/complementos/aplicações instalados:"
#: ../../mod/like.php:21
msgid ""
@@ -4330,36 +4929,39 @@ msgid ""
"href=\"register\">register as a new $Projectname member</a> to continue."
msgstr "Por favor <a href=\"rmagic\">entre com sua $Projectname ID</a> ou <a href=\"register\">registre-se como novo membro da $Projectname</a> para continuar."
-#: ../../mod/like.php:101 ../../mod/like.php:128 ../../mod/like.php:166
-msgid "Invalid request."
-msgstr "Solicitação inválida."
+#: ../../mod/siteinfo.php:166
+msgid "Red"
+msgstr "Red"
-#: ../../mod/like.php:143
-msgid "thing"
-msgstr "coisa"
+#: ../../mod/siteinfo.php:167
+msgid ""
+"This is a hub of the Hubzilla - a global cooperative network of "
+"decentralized privacy enhanced websites."
+msgstr "Este é um hub da Hubzilla - uma rede global cooperativa de websites descentralizados com privacidade aprimorada."
-#: ../../mod/like.php:189
-msgid "Channel unavailable."
-msgstr "Canal não disponível."
+#: ../../mod/siteinfo.php:170
+msgid "Running at web location"
+msgstr "Sendo executado no endereço web"
-#: ../../mod/like.php:228
-msgid "Previous action reversed."
-msgstr "Ação anterior revertida."
+#: ../../mod/siteinfo.php:171
+msgid ""
+"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
+"about the Hubzilla."
+msgstr "Para aprender mais sobre a Hubzilla, visite <a href=\"http://getzot.com\">GetZot.com</a>."
-#: ../../mod/like.php:398
-#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
-msgstr "%1$s concordam com %2$s %3$s"
+#: ../../mod/siteinfo.php:172
+msgid "Bug reports and issues: please visit"
+msgstr "Relatos e acompanhamentos de erros podem ser encontrados em"
-#: ../../mod/like.php:400
-#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
-msgstr "%1$s não concordam com %2$s %3$s"
+#: ../../mod/siteinfo.php:175
+msgid ""
+"Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot "
+"com"
+msgstr "Sugestões, elogios, etc - mande um e-mail para \"hubzilla\" arrôba librelist ponto com"
-#: ../../mod/like.php:402
-#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
-msgstr "%1$s se abstém da decisão sobre %2$s %3$s"
+#: ../../mod/siteinfo.php:177
+msgid "Site Administrators"
+msgstr "Administradores do site"
#: ../../mod/like.php:404
#, php-format
@@ -4376,93 +4978,93 @@ msgstr "%1$s não comparecerá em %3$s de %2$s"
msgid "%1$s may attend %2$s's %3$s"
msgstr "%1$s talvez compareça em %3$s de %2$s"
-#: ../../mod/like.php:492
-msgid "Action completed."
-msgstr "Ação completada."
+#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
+msgid "Profile-"
+msgstr "Perfil-"
-#: ../../mod/like.php:493
-msgid "Thank you."
-msgstr "Obrigado."
+#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
+msgid "New profile created."
+msgstr "O novo perfil foi criado."
#: ../../mod/events.php:87
msgid "Event can not end before it has started."
msgstr "Um evento não pode terminar antes de seu início."
-#: ../../mod/events.php:89 ../../mod/events.php:98 ../../mod/events.php:116
-msgid "Unable to generate preview."
-msgstr "Não pode gerar pré-visualização."
+#: ../../mod/profiles.php:136
+msgid "Profile unavailable to export."
+msgstr "Perfil indisponível para exportar."
-#: ../../mod/events.php:96
-msgid "Event title and start time are required."
-msgstr "O título do evento e a hora de início são obrigatórios."
+#: ../../mod/profiles.php:232
+msgid "Profile Name is required."
+msgstr "É obrigatório informar o nome do perfil."
-#: ../../mod/events.php:114
-msgid "Event not found."
-msgstr "Evento não encontrado."
+#: ../../mod/profiles.php:390
+msgid "Marital Status"
+msgstr "Estado civil"
-#: ../../mod/events.php:396
-msgid "l, F j"
-msgstr "l, F j"
+#: ../../mod/profiles.php:394
+msgid "Romantic Partner"
+msgstr "Parceiro/a romântico/a"
-#: ../../mod/events.php:418
-msgid "Edit event"
-msgstr "Editar o evento"
+#: ../../mod/profiles.php:398
+msgid "Likes"
+msgstr "Gosta de"
-#: ../../mod/events.php:419
-msgid "Delete event"
-msgstr "Excluir evento"
+#: ../../mod/profiles.php:402
+msgid "Dislikes"
+msgstr "Não gosta de"
-#: ../../mod/events.php:473
-msgid "Create New Event"
-msgstr "Criar um novo evento"
+#: ../../mod/profiles.php:406
+msgid "Work/Employment"
+msgstr "Trabalho/Emprego"
-#: ../../mod/events.php:474 ../../mod/photos.php:839
-msgid "Previous"
-msgstr "Anterior"
+#: ../../mod/profiles.php:409
+msgid "Religion"
+msgstr "Religião"
-#: ../../mod/events.php:475 ../../mod/photos.php:848 ../../mod/setup.php:281
-msgid "Next"
-msgstr "Próximo"
+#: ../../mod/profiles.php:413
+msgid "Political Views"
+msgstr "Posição política"
-#: ../../mod/events.php:476
-msgid "Export"
-msgstr "Exportar"
+#: ../../mod/profiles.php:417
+msgid "Gender"
+msgstr "Gênero"
-#: ../../mod/events.php:504
-msgid "Event removed"
-msgstr "Evento removido"
+#: ../../mod/profiles.php:421
+msgid "Sexual Preference"
+msgstr "Preferência sexual"
-#: ../../mod/events.php:507
-msgid "Failed to remove event"
-msgstr "Falha ao excluir evento"
+#: ../../mod/profiles.php:425
+msgid "Homepage"
+msgstr "Página web"
-#: ../../mod/events.php:627
-msgid "Event details"
-msgstr "Detalhes do evento"
+#: ../../mod/profiles.php:429
+msgid "Interests"
+msgstr "Interesses"
-#: ../../mod/events.php:628
-msgid "Starting date and Title are required."
-msgstr "Data de início e título são obrigatórios."
+#: ../../mod/profiles.php:433 ../../mod/admin.php:868
+msgid "Address"
+msgstr "Endereço"
-#: ../../mod/events.php:630
-msgid "Categories (comma-separated list)"
-msgstr "Categorias (lista separada por vírgulas)"
+#: ../../mod/profiles.php:440 ../../mod/pubsites.php:25
+msgid "Location"
+msgstr "Localização"
-#: ../../mod/events.php:632
-msgid "Event Starts:"
-msgstr "Início do evento:"
+#: ../../mod/profiles.php:523
+msgid "Profile updated."
+msgstr "O perfil foi atualizado."
-#: ../../mod/events.php:639
-msgid "Finish date/time is not known or not relevant"
-msgstr "A data/hora de término não é conhecida ou não é relevante"
+#: ../../mod/profiles.php:600
+msgid "Hide your contact/friend list from viewers of this profile?"
+msgstr "Esconder sua lista de contatos/amigos dos visitantes no seu perfil?"
-#: ../../mod/events.php:641
-msgid "Event Finishes:"
-msgstr "Término do evento:"
+#: ../../mod/profiles.php:642
+msgid "Edit Profile Details"
+msgstr "Editar os detalhes do perfil"
-#: ../../mod/events.php:643 ../../mod/events.php:644
-msgid "Adjust for viewer timezone"
-msgstr "Ajustar para o fuso horário do visualizador"
+#: ../../mod/profiles.php:644
+msgid "View this profile"
+msgstr "Ver este perfil"
#: ../../mod/events.php:643
msgid ""
@@ -4470,22 +5072,25 @@ msgid ""
"global holidays."
msgstr "Importante para eventos que ocorrem em um lugar específico. Não prático para feriados globais."
-#: ../../mod/events.php:649
-msgid "Title:"
-msgstr "Título:"
+#: ../../mod/profiles.php:647
+msgid "Create a new profile using these settings"
+msgstr "Criar um novo perfil usando estas configurações"
-#: ../../mod/events.php:651
-msgid "Share this event"
-msgstr "Compartilhar este evento"
+#: ../../mod/profiles.php:648
+msgid "Clone this profile"
+msgstr "Clonar este perfil"
-#: ../../mod/subthread.php:103
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s está acompanhando %3$s de %2$s"
+#: ../../mod/profiles.php:649
+msgid "Delete this profile"
+msgstr "Excluir este perfil"
-#: ../../mod/pubsites.php:16
-msgid "Public Sites"
-msgstr "Sites públicos"
+#: ../../mod/profiles.php:651
+msgid "Import profile from file"
+msgstr "Importar perfil dum arquivo"
+
+#: ../../mod/profiles.php:652
+msgid "Export profile to file"
+msgstr "Exportar perfil para arquivo"
#: ../../mod/pubsites.php:19
msgid ""
@@ -4496,110 +5101,106 @@ msgid ""
"provide additional details."
msgstr "Os sites listados permitem ao público geral registrar contas na $Projectname. Todos os sites na matrix são interligados, portanto ser membro em qualquer um deles te torna membro na matrix como um todo. Alguns sites podem solicitar uma assinatura ou prover planos em níveis. Os links para cada provedor <strong>podem</strong> fornecer mais detalhes."
-#: ../../mod/pubsites.php:25
-msgid "Rate this hub"
-msgstr "Avalie esse hub."
+#: ../../mod/profiles.php:654
+msgid "Your Full Name:"
+msgstr "Seu nome completo:"
-#: ../../mod/pubsites.php:26
-msgid "Site URL"
-msgstr "URL do site"
+#: ../../mod/profiles.php:655
+msgid "Title/Description:"
+msgstr "Título/Descrição:"
-#: ../../mod/pubsites.php:26
-msgid "Access Type"
-msgstr "Tipo de acesso"
+#: ../../mod/profiles.php:656
+msgid "Your Gender:"
+msgstr "Seu gênero:"
-#: ../../mod/pubsites.php:26
-msgid "Registration Policy"
-msgstr "Política de registro"
+#: ../../mod/profiles.php:657
+#, php-format
+msgid "Birthday (%s):"
+msgstr "Aniversário (%s):"
-#: ../../mod/pubsites.php:26 ../../mod/profiles.php:454
-msgid "Location"
-msgstr "Localização"
+#: ../../mod/profiles.php:658
+msgid "Street Address:"
+msgstr "Endereço:"
-#: ../../mod/pubsites.php:26
-msgid "View hub ratings"
-msgstr "Ver avaliações do hub"
+#: ../../mod/profiles.php:659
+msgid "Locality/City:"
+msgstr "Localidade/Cidade:"
-#: ../../mod/pubsites.php:30
-msgid "Rate"
-msgstr "Avalie"
+#: ../../mod/profiles.php:660
+msgid "Postal/Zip Code:"
+msgstr "CEP:"
-#: ../../mod/pubsites.php:31
-msgid "View ratings"
-msgstr "Veja avaliações"
+#: ../../mod/profiles.php:661
+msgid "Country:"
+msgstr "País:"
-#: ../../mod/rpost.php:131 ../../mod/editpost.php:158
-msgid "Edit post"
-msgstr "Editar a publicação"
+#: ../../mod/profiles.php:662
+msgid "Region/State:"
+msgstr "Região/Estado:"
#: ../../mod/dav.php:121
msgid "$Projectname channel"
msgstr "Canal na $Projectname"
-#: ../../mod/group.php:20
-msgid "Collection created."
-msgstr "A coleção foi criada."
-
-#: ../../mod/group.php:26
-msgid "Could not create collection."
-msgstr "Não foi possível criar a coleção."
+#: ../../mod/profiles.php:664
+msgid "Who: (if applicable)"
+msgstr "Quem: (se aplicável)"
-#: ../../mod/group.php:54
-msgid "Collection updated."
-msgstr "Coleção atualizada"
+#: ../../mod/profiles.php:665
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+msgstr "Exemplos: fulano123, Fulano de Tal, fulano@exemplo.com"
-#: ../../mod/group.php:86
-msgid "Create a collection of channels."
-msgstr "Criar uma coleção de canais."
+#: ../../mod/profiles.php:666
+msgid "Since [date]:"
+msgstr "Desde [data]:"
-#: ../../mod/group.php:87 ../../mod/group.php:183
-msgid "Collection Name: "
-msgstr "Nome da coleção:"
+#: ../../mod/profiles.php:668
+msgid "Homepage URL:"
+msgstr "Endereço do website:"
-#: ../../mod/group.php:89 ../../mod/group.php:186
-msgid "Members are visible to other channels"
-msgstr "Membros são visíveis para outros canais"
+#: ../../mod/profiles.php:671
+msgid "Religious Views:"
+msgstr "Orientação religiosa:"
-#: ../../mod/group.php:107
-msgid "Collection removed."
-msgstr "Coleção removida."
+#: ../../mod/profiles.php:672
+msgid "Keywords:"
+msgstr "Palavras-chave:"
-#: ../../mod/group.php:109
-msgid "Unable to remove collection."
-msgstr "Não foi possível remover a coleção."
+#: ../../mod/profiles.php:675
+msgid "Example: fishing photography software"
+msgstr "Exemplo: pesca fotografia software"
-#: ../../mod/group.php:182
-msgid "Collection Editor"
-msgstr "Editor de coleção"
+#: ../../mod/profiles.php:676
+msgid "Used in directory listings"
+msgstr "Usado em listas de diretório"
-#: ../../mod/group.php:196 ../../mod/bulksetclose.php:89
-msgid "Members"
-msgstr "Membros"
+#: ../../mod/profiles.php:677
+msgid "Tell us about yourself..."
+msgstr "Fale um pouco sobre você..."
-#: ../../mod/group.php:198 ../../mod/bulksetclose.php:91
-msgid "All Connected Channels"
-msgstr "Todas os canais conectados"
+#: ../../mod/profiles.php:678
+msgid "Hobbies/Interests"
+msgstr "Hobbies/Interesses"
-#: ../../mod/group.php:233 ../../mod/bulksetclose.php:126
-msgid "Click on a channel to add or remove."
-msgstr "Clique em um canal para adicionar ou remover."
+#: ../../mod/profiles.php:679
+msgid "Contact information and Social Networks"
+msgstr "Informações de contato e redes sociais"
-#: ../../mod/siteinfo.php:112
-#, php-format
-msgid "Version %s"
-msgstr "Versão %s"
+#: ../../mod/profiles.php:680
+msgid "My other channels"
+msgstr "Meus outros canais"
-#: ../../mod/siteinfo.php:133
-msgid "Installed plugins/addons/apps:"
-msgstr "Plugins/complementos/aplicações instalados:"
+#: ../../mod/profiles.php:681
+msgid "Musical interests"
+msgstr "Interesses musicais"
-#: ../../mod/siteinfo.php:146
-msgid "No installed plugins/addons/apps"
-msgstr "Nenhum plugin/complemento/aplicação instalado"
+#: ../../mod/profiles.php:682
+msgid "Books, literature"
+msgstr "Livros, literatura"
-#: ../../mod/siteinfo.php:155 ../../mod/home.php:58 ../../mod/home.php:64
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../mod/profiles.php:683
+msgid "Television"
+msgstr "Televisão"
#: ../../mod/siteinfo.php:156
msgid ""
@@ -4607,17 +5208,17 @@ msgid ""
"decentralized privacy enhanced websites."
msgstr "Este é um hub da $Projectname - uma rede global cooperativa de websites descentralizados com privacidade aprimorada."
-#: ../../mod/siteinfo.php:158
-msgid "Tag: "
-msgstr "Etiqueta:"
+#: ../../mod/profiles.php:686
+msgid "Work/employment"
+msgstr "Trabalho/emprego"
-#: ../../mod/siteinfo.php:160
-msgid "Last background fetch: "
-msgstr "Buscar último fundo:"
+#: ../../mod/profiles.php:687
+msgid "School/education"
+msgstr "Escola/educação"
-#: ../../mod/siteinfo.php:163
-msgid "Running at web location"
-msgstr "Sendo executado no endereço web"
+#: ../../mod/profiles.php:693
+msgid "This is your default profile."
+msgstr "Este é seu perfil padrão."
#: ../../mod/siteinfo.php:164
msgid ""
@@ -4625,81 +5226,270 @@ msgid ""
" about $Projectname."
msgstr "Por favor visite <a href=\"https://redmatrix.me\">redmatrix.me</a> para aprender mais sobre a $Projectname."
-#: ../../mod/siteinfo.php:165
-msgid "Bug reports and issues: please visit"
-msgstr "Relatos e acompanhamentos de erros podem ser encontrados em"
+#: ../../mod/profiles.php:747
+msgid "Edit/Manage Profiles"
+msgstr "Editar/Administrar perfis"
-#: ../../mod/siteinfo.php:167
-msgid "$projectname issues"
-msgstr "Questões de $projectname"
+#: ../../mod/profiles.php:748
+msgid "Add profile things"
+msgstr "Adicionar coisas ao perfil"
+
+#: ../../mod/profiles.php:749
+msgid "Include desirable objects in your profile"
+msgstr "Inclua objetos desejáveis no seu perfil"
+
+#: ../../mod/bookmarks.php:38
+msgid "Bookmark added"
+msgstr "O link foi guardado"
+
+#: ../../mod/bookmarks.php:58
+msgid "My Bookmarks"
+msgstr "Meus links guardados"
+
+#: ../../mod/setup.php:166
+msgid "$Projectname Server - Setup"
+msgstr "Servidor $Projectname - Configuração"
+
+#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
+msgid "Invalid profile identifier."
+msgstr "Identificador de perfil inválido."
+
+#: ../../mod/profperm.php:110
+msgid "Profile Visibility Editor"
+msgstr "Editor de visibilidade do perfil"
+
+#: ../../mod/profperm.php:114
+msgid "Click on a contact to add or remove."
+msgstr "Clique em um contato para adicionar ou remover."
+
+#: ../../mod/profperm.php:123
+msgid "Visible To"
+msgstr "Visível para"
+
+#: ../../mod/profperm.php:139 ../../mod/connections.php:279
+msgid "All Connections"
+msgstr "Todas as conexões"
+
+#: ../../mod/pubsites.php:16
+msgid "Public Sites"
+msgstr "Sites públicos"
-#: ../../mod/siteinfo.php:168
+#: ../../mod/pubsites.php:19
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
-"com"
-msgstr "Sugestões, elogios, etc - mande um e-mail para \"redmatrix\" arrôba librelist ponto com"
+"The listed sites allow public registration into the Hubzilla. All sites in"
+" the matrix are interlinked so membership on any of them conveys membership "
+"in the matrix as a whole. Some sites may require subscription or provide "
+"tiered service plans. The provider links <strong>may</strong> provide "
+"additional details."
+msgstr "Os sites listados permitem ao público geral registrar contas na Hubzilla. Todos os sites na matrix são interligados, portanto ser membro em qualquer um deles te torna membro na matrix como um todo. Alguns sites podem solicitar uma assinatura ou prover planos em níveis. Os links para cada provedor <strong>podem</strong> fornecer mais detalhes."
-#: ../../mod/siteinfo.php:170
-msgid "Site Administrators"
-msgstr "Administradores do site"
+#: ../../mod/pubsites.php:25
+msgid "Site URL"
+msgstr "URL do site"
-#: ../../mod/item.php:174
-msgid "Unable to locate original post."
-msgstr "Não foi possível localizar a publicação original."
+#: ../../mod/pubsites.php:25
+msgid "Access Type"
+msgstr "Tipo de acesso"
-#: ../../mod/item.php:440
-msgid "Empty post discarded."
-msgstr "A publicação em branco foi descartada."
+#: ../../mod/setup.php:290
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr "Para instalar a $Projectname é necessário saber como se conectar ao seu banco de dados."
-#: ../../mod/item.php:480
-msgid "Executable content type not permitted to this channel."
-msgstr "Conteúdo de tipo executável não permitido para este canal."
+#: ../../mod/channel.php:25 ../../mod/chat.php:19
+msgid "You must be logged in to see this page."
+msgstr "Você precisa estar autenticado para ver esta página."
-#: ../../mod/item.php:901
-msgid "System error. Post not saved."
-msgstr "Erro no sistema. A publicação não foi salva."
+#: ../../mod/channel.php:86
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Permissões insuficientes. Requisição redirecionada para a página de perfil."
-#: ../../mod/item.php:1119
-msgid "Unable to obtain post information from database."
-msgstr "Impossível obter informação do texto no banco de dados"
+#: ../../mod/rbmark.php:88
+msgid "Select a bookmark folder"
+msgstr "Escolha uma pasta de links onde guardar"
+
+#: ../../mod/rbmark.php:93
+msgid "Save Bookmark"
+msgstr "Guardar link"
+
+#: ../../mod/rbmark.php:94
+msgid "URL of bookmark"
+msgstr "URL do link guardado"
-#: ../../mod/item.php:1126
+#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
+msgid "Description"
+msgstr "Descrição"
+
+#: ../../mod/rbmark.php:99
+msgid "Or enter new bookmark folder name"
+msgstr "Ou digite o nome para uma nova pasta de links"
+
+#: ../../mod/chat.php:167
+msgid "Room not found"
+msgstr "Sala não encontrada"
+
+#: ../../mod/chat.php:178
+msgid "Leave Room"
+msgstr "Sair da sala"
+
+#: ../../mod/chat.php:179
+msgid "Delete This Room"
+msgstr "Deletar esta sala"
+
+#: ../../mod/chat.php:180
+msgid "I am away right now"
+msgstr "Eu estou ausente no momento"
+
+#: ../../mod/chat.php:181
+msgid "I am online"
+msgstr "Eu estou online"
+
+#: ../../mod/chat.php:183
+msgid "Bookmark this room"
+msgstr "Guarde esta sala"
+
+#: ../../mod/chat.php:207 ../../mod/chat.php:229
+msgid "New Chatroom"
+msgstr "Nova sala de bate-papo"
+
+#: ../../mod/chat.php:208
+msgid "Chatroom Name"
+msgstr "Nome da sala de bate-papo"
+
+#: ../../mod/chat.php:225
#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Você atingiu o seu limite de %1$.0f publicações de novos tópicos."
+msgid "%1$s's Chatrooms"
+msgstr "Salas de bate-papo de %1$s"
-#: ../../mod/item.php:1133
+#: ../../mod/register.php:42
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "Número máximo de novos registros neste site excedido por hoje. Por favor, tente novamente amanhã."
+
+#: ../../mod/register.php:48
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Por favor, indique a aceitação dos Termos de Serviço. Falha ao registrar."
+
+#: ../../mod/register.php:82
+msgid "Passwords do not match."
+msgstr "Senhas não conferem."
+
+#: ../../mod/register.php:115
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "O registro foi bem sucedido. Por favor, verifique seu e-mail para confirmar o registro."
+
+#: ../../mod/register.php:121
+msgid "Your registration is pending approval by the site owner."
+msgstr "A aprovação do seu registro está pendente junto ao administrador do site."
+
+#: ../../mod/register.php:124
+msgid "Your registration can not be processed."
+msgstr "Não foi possível processar o seu registro."
+
+#: ../../mod/register.php:161
+msgid "Registration on this site/hub is by approval only."
+msgstr "O registro neste site/hub requer aprovação."
+
+#: ../../mod/register.php:162
+msgid "<a href=\"pubsites\">Register at another affiliated site/hub</a>"
+msgstr "<a href=\"pubsites\">Registre em um outro site/hub afiliado</a>"
+
+#: ../../mod/register.php:170
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Este site excedeu o número máximo de registros de novas contas. Por favor, tente novamente amanhã."
+
+#: ../../mod/register.php:181
+msgid "Terms of Service"
+msgstr "Termos de Serviço"
+
+#: ../../mod/register.php:187
#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Você atingiu o seu limite de %1$.0f páginas web."
+msgid "I accept the %s for this website"
+msgstr "Eu aceito os %s deste website."
-#: ../../mod/network.php:91
-msgid "No such group"
-msgstr "Este grupo não existe"
+#: ../../mod/register.php:189
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Eu sou maior de 13 anos e aceito os %s deste website"
-#: ../../mod/network.php:129
-msgid "No such channel"
-msgstr "Nenhum canal"
+#: ../../mod/register.php:203 ../../mod/admin.php:415
+msgid "Registration"
+msgstr "Registro"
-#: ../../mod/network.php:143
-msgid "Search Results For:"
-msgstr "Resultados da busca por:"
+#: ../../mod/register.php:208
+msgid "Membership on this site is by invitation only."
+msgstr "Novas contas neste site se dão apenas por convite."
-#: ../../mod/network.php:198
-msgid "Collection is empty"
-msgstr "A coleção está vazia"
+#: ../../mod/register.php:209
+msgid "Please enter your invitation code"
+msgstr "Por favor, digite o código do seu convite"
-#: ../../mod/network.php:207
-msgid "Collection: "
-msgstr "Coleção:"
+#: ../../mod/register.php:212
+msgid "Your email address"
+msgstr "Seu endereço de e-mail"
-#: ../../mod/network.php:226
-msgid "Connection: "
-msgstr "Conexão:"
+#: ../../mod/register.php:213
+msgid "Choose a password"
+msgstr "Escolha uma senha"
-#: ../../mod/network.php:233
-msgid "Invalid connection."
-msgstr "Conexão inválida."
+#: ../../mod/register.php:214
+msgid "Please re-enter your password"
+msgstr "Por favor, digite sua senha novamente"
+
+#: ../../mod/chatsvc.php:111
+msgid "Away"
+msgstr "Ausente"
+
+#: ../../mod/chatsvc.php:115
+msgid "Online"
+msgstr "Online"
+
+#: ../../mod/regmod.php:11
+msgid "Please login."
+msgstr "Por favor, autentique-se."
+
+#: ../../mod/cloud.php:126
+msgid "Hubzilla - Guests: Username: {your email address}, Password: +++"
+msgstr "Hubzilla - Visitantes: Usuário: {seu endereço de e-mail}, Senha: +++"
+
+#: ../../mod/removeme.php:29
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "A remoção da canais fica desabilitada por 48 horas após uma troca de senha da conta."
+
+#: ../../mod/removeme.php:57
+msgid "Remove This Channel"
+msgstr "Remover este canal"
+
+#: ../../mod/removeme.php:58
+msgid ""
+"This will completely remove this channel from the network. Once this has "
+"been done it is not recoverable."
+msgstr "Isso irá remover completamente este canal da rede. Uma vez que seja feito não será possível recuperá-lo."
+
+#: ../../mod/removeme.php:59 ../../mod/removeaccount.php:59
+msgid "Please enter your password for verification:"
+msgstr "Por favor, digite a sua senha para verificação:"
+
+#: ../../mod/removeme.php:60
+msgid "Remove this channel and all its clones from the network"
+msgstr "Remover este canal e todos os seus clones da rede"
+
+#: ../../mod/removeme.php:60
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "Por padrão, apenas a instância do canal localizada neste hub será removida da rede"
+
+#: ../../mod/removeme.php:61
+msgid "Remove Channel"
+msgstr "Remover canal"
#: ../../mod/common.php:10
msgid "No channel."
@@ -4713,100 +5503,189 @@ msgstr "Conexões em comum"
msgid "No connections in common."
msgstr "Nenhuma conexão em comum."
-#: ../../mod/regdir.php:45 ../../mod/dirsearch.php:21
-msgid "This site is not a directory server"
-msgstr "Este site não é um servidor de diretório"
+#: ../../mod/rmagic.php:38
+msgid ""
+"We encountered a problem while logging in with the OpenID you provided. "
+"Please check the correct spelling of the ID."
+msgstr "Encontramos um problema ao entrar com a OpenID fornecida. Por favor, verifique se digitou corretamente a ID."
+
+#: ../../mod/rmagic.php:38
+msgid "The error message was:"
+msgstr "A mensagem de erro foi:"
+
+#: ../../mod/rmagic.php:42
+msgid "Authentication failed."
+msgstr "A autenticação falhou."
+
+#: ../../mod/rmagic.php:82
+msgid "Remote Authentication"
+msgstr "Autenticação remota"
+
+#: ../../mod/rmagic.php:83
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Entre o endereço do seu canal (e.g. canal@exemplo.com)"
+
+#: ../../mod/rmagic.php:84
+msgid "Authenticate"
+msgstr "Autenticar"
+
+#: ../../mod/connect.php:55 ../../mod/connect.php:103
+msgid "Continue"
+msgstr "Continuar"
-#: ../../mod/connections.php:37 ../../mod/connedit.php:75
+#: ../../mod/connect.php:84
+msgid "Premium Channel Setup"
+msgstr "Configuração de canal premium"
+
+#: ../../mod/connect.php:86
+msgid "Enable premium channel connection restrictions"
+msgstr "Habilitar restrições de canal premium para conexão"
+
+#: ../../mod/connect.php:87
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Por favor, insira suas restrições ou condições, como um recibo de depósito, normas de conduta, etc."
+
+#: ../../mod/connect.php:89 ../../mod/connect.php:109
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Este canal pode exigir passos adicionais ou compreensão das seguintes condições antes de conectar:"
+
+#: ../../mod/connect.php:90
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Tentativas de conexões verão então o seguinte texto antes de prosseguir:"
+
+#: ../../mod/connect.php:91 ../../mod/connect.php:112
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Ao prosseguir, eu certifico que cumpri todas as instruções exibidas nesta página."
+
+#: ../../mod/connect.php:100
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Nenhuma instrução foi especificada pelo dono do canal.)"
+
+#: ../../mod/connect.php:108
+msgid "Restricted or Premium Channel"
+msgstr "Canal restrito ou premium"
+
+#: ../../mod/network.php:79
+msgid "No such group"
+msgstr "Este grupo não existe"
+
+#: ../../mod/network.php:118
+msgid "Search Results For:"
+msgstr "Resultados da busca por:"
+
+#: ../../mod/network.php:172
+msgid "Collection is empty"
+msgstr "A coleção está vazia"
+
+#: ../../mod/network.php:180
+msgid "Collection: "
+msgstr "Coleção:"
+
+#: ../../mod/network.php:193
+msgid "Connection: "
+msgstr "Conexão:"
+
+#: ../../mod/network.php:196
+msgid "Invalid connection."
+msgstr "Conexão inválida."
+
+#: ../../mod/connections.php:37 ../../mod/connedit.php:64
msgid "Could not access contact record."
msgstr "Não foi possível acessar o registro do contato."
-#: ../../mod/connections.php:51 ../../mod/connedit.php:99
+#: ../../mod/connections.php:51 ../../mod/connedit.php:78
msgid "Could not locate selected profile."
msgstr "Não foi possível localizar o perfil selecionado."
-#: ../../mod/connections.php:94 ../../mod/connedit.php:219
+#: ../../mod/connections.php:94 ../../mod/connedit.php:132
msgid "Connection updated."
msgstr "A conexão foi atualizada."
-#: ../../mod/connections.php:96 ../../mod/connedit.php:221
+#: ../../mod/connections.php:96 ../../mod/connedit.php:134
msgid "Failed to update connection record."
msgstr "Não foi possível atualizar o registro da conexão."
-#: ../../mod/connections.php:192 ../../mod/connections.php:293
+#: ../../mod/connections.php:191 ../../mod/connections.php:292
msgid "Blocked"
msgstr "Bloqueado"
-#: ../../mod/connections.php:197 ../../mod/connections.php:300
+#: ../../mod/connections.php:196 ../../mod/connections.php:299
msgid "Ignored"
msgstr "Ignorado"
-#: ../../mod/connections.php:202 ../../mod/connections.php:314
+#: ../../mod/connections.php:201 ../../mod/connections.php:313
msgid "Hidden"
msgstr "Oculto"
-#: ../../mod/connections.php:207 ../../mod/connections.php:307
+#: ../../mod/connections.php:206 ../../mod/connections.php:306
msgid "Archived"
msgstr "Arquivado"
-#: ../../mod/connections.php:271
+#: ../../mod/connections.php:230 ../../mod/connections.php:245
+msgid "All"
+msgstr "Todos"
+
+#: ../../mod/connections.php:270
msgid "Suggest new connections"
msgstr "Sugerir novas conexões"
-#: ../../mod/connections.php:274
+#: ../../mod/connections.php:273
msgid "New Connections"
msgstr "Novas conexões"
-#: ../../mod/connections.php:277
+#: ../../mod/connections.php:276
msgid "Show pending (new) connections"
msgstr "Exibir conexões pendentes (novas)"
-#: ../../mod/connections.php:280 ../../mod/profperm.php:139
-msgid "All Connections"
-msgstr "Todas as conexões"
-
-#: ../../mod/connections.php:283
+#: ../../mod/connections.php:282
msgid "Show all connections"
msgstr "Exibir todas as conexões"
-#: ../../mod/connections.php:286
+#: ../../mod/connections.php:285
msgid "Unblocked"
msgstr "Não bloqueado"
-#: ../../mod/connections.php:289
+#: ../../mod/connections.php:288
msgid "Only show unblocked connections"
msgstr "Exibir apenas conexões não bloqueadas"
-#: ../../mod/connections.php:296
+#: ../../mod/connections.php:295
msgid "Only show blocked connections"
msgstr "Exibir apenas conexões bloqueadas"
-#: ../../mod/connections.php:303
+#: ../../mod/connections.php:302
msgid "Only show ignored connections"
msgstr "Exibir apenas conexões ignoradas"
-#: ../../mod/connections.php:310
+#: ../../mod/connections.php:309
msgid "Only show archived connections"
msgstr "Exibir apenas conexões arquivadas"
-#: ../../mod/connections.php:317
+#: ../../mod/connections.php:316
msgid "Only show hidden connections"
msgstr "Exibir apenas conexões ocultas"
-#: ../../mod/connections.php:372
+#: ../../mod/connections.php:371
#, php-format
msgid "%1$s [%2$s]"
msgstr "%1$s [%2$s]"
-#: ../../mod/connections.php:373
+#: ../../mod/connections.php:372
msgid "Edit connection"
msgstr "Editar conexão"
-#: ../../mod/connections.php:411
+#: ../../mod/connections.php:410
msgid "Search your connections"
msgstr "Pesquisar em suas conexões"
-#: ../../mod/connections.php:412
+#: ../../mod/connections.php:411
msgid "Finding: "
msgstr "Pesquisando: "
@@ -4818,2543 +5697,2021 @@ msgstr "Nome do bloco"
msgid "Block Title"
msgstr "Título do Bloco"
-#: ../../mod/editpost.php:20 ../../mod/editlayout.php:76
-#: ../../mod/editwebpage.php:77 ../../mod/editblock.php:78
-#: ../../mod/editblock.php:94
-msgid "Item not found"
-msgstr "O item não foi encontrado"
-
-#: ../../mod/editpost.php:31
-msgid "Item is not editable"
-msgstr "O item não está editável"
-
-#: ../../mod/editpost.php:48
-msgid "Delete item?"
-msgstr "Deletar item?"
-
-#: ../../mod/editpost.php:115 ../../mod/editlayout.php:142
-#: ../../mod/editwebpage.php:187 ../../mod/editblock.php:144
-msgid "Insert YouTube video"
-msgstr "Inserir vídeo do YouTube"
-
-#: ../../mod/editpost.php:116 ../../mod/editlayout.php:143
-#: ../../mod/editwebpage.php:188 ../../mod/editblock.php:145
-msgid "Insert Vorbis [.ogg] video"
-msgstr "Inserir vídeo Vorbis (.ogg)"
-
-#: ../../mod/editpost.php:117 ../../mod/editlayout.php:144
-#: ../../mod/editwebpage.php:189 ../../mod/editblock.php:146
-msgid "Insert Vorbis [.ogg] audio"
-msgstr "Inserir áudio Vorbis (.ogg)"
+#: ../../mod/tagger.php:96
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s marcou %3$s de %2$s com %4$s"
#: ../../mod/cloud.php:120
msgid "$Projectname - Guests: Username: {your email address}, Password: +++"
msgstr "$Projectname - Convidados: Nome de usuário: {seu endereço de e-mail}, Senha: +++"
-#: ../../mod/photos.php:78
+#: ../../mod/photos.php:77
msgid "Page owner information could not be retrieved."
msgstr "As informações do dono da pagina não puderam ser obtidas."
-#: ../../mod/photos.php:98
+#: ../../mod/photos.php:97
msgid "Album not found."
msgstr "O álbum não foi encontrado."
-#: ../../mod/photos.php:120 ../../mod/photos.php:655
+#: ../../mod/photos.php:119 ../../mod/photos.php:643
msgid "Delete Album"
msgstr "Excluir o álbum"
-#: ../../mod/photos.php:160 ../../mod/photos.php:942
+#: ../../mod/photos.php:159 ../../mod/photos.php:930
msgid "Delete Photo"
msgstr "Excluir a foto"
-#: ../../mod/photos.php:452
+#: ../../mod/photos.php:429 ../../mod/search.php:13 ../../mod/display.php:13
+#: ../../mod/ratings.php:82 ../../mod/directory.php:47
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr "Acesso público negado."
+
+#: ../../mod/photos.php:440
msgid "No photos selected"
msgstr "Não foi selecionada nenhuma foto"
-#: ../../mod/photos.php:496
+#: ../../mod/photos.php:484
msgid "Access to this item is restricted."
msgstr "O acesso a este item está restrito."
-#: ../../mod/photos.php:535
+#: ../../mod/photos.php:523
#, php-format
msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr "Utilizados %1$.2f MB de %2$.2f MB para armazenamento de fotos."
-#: ../../mod/photos.php:538
+#: ../../mod/photos.php:526
#, php-format
msgid "%1$.2f MB photo storage used."
msgstr "Utilizados %1$.2f MB para armazenamento de fotos."
-#: ../../mod/photos.php:562
+#: ../../mod/photos.php:550
msgid "Upload Photos"
msgstr "Enviar fotos"
-#: ../../mod/photos.php:566 ../../mod/photos.php:648 ../../mod/photos.php:927
+#: ../../mod/photos.php:554 ../../mod/photos.php:636 ../../mod/photos.php:915
msgid "Enter a new album name"
msgstr "Digite um nome para o novo álbum"
-#: ../../mod/photos.php:567 ../../mod/photos.php:649 ../../mod/photos.php:928
+#: ../../mod/photos.php:555 ../../mod/photos.php:637 ../../mod/photos.php:916
msgid "or select an existing one (doubleclick)"
msgstr "ou escolha um já existente (duplo clique)"
-#: ../../mod/photos.php:568
+#: ../../mod/photos.php:556
msgid "Create a status post for this upload"
msgstr "Crie uma publicação de status para este upload."
-#: ../../mod/photos.php:596
+#: ../../mod/photos.php:584
msgid "Album name could not be decoded"
msgstr "Não foi possível decodificar o nome do álbum"
-#: ../../mod/photos.php:637 ../../mod/photos.php:1169
-#: ../../mod/photos.php:1185
+#: ../../mod/photos.php:625 ../../mod/photos.php:1157
+#: ../../mod/photos.php:1173
msgid "Contact Photos"
msgstr "Fotos dos contatos"
-#: ../../mod/photos.php:661
+#: ../../mod/photos.php:649
msgid "Show Newest First"
msgstr "Exibir primeiro os mais recentes"
-#: ../../mod/photos.php:663
+#: ../../mod/photos.php:651
msgid "Show Oldest First"
msgstr "Exibir primeiro os mais antigos"
-#: ../../mod/photos.php:687 ../../mod/photos.php:1217
+#: ../../mod/photos.php:675 ../../mod/photos.php:1205
msgid "View Photo"
msgstr "Ver a foto"
-#: ../../mod/photos.php:716
+#: ../../mod/photos.php:704
msgid "Edit Album"
msgstr "Editar o álbum"
-#: ../../mod/photos.php:761
+#: ../../mod/photos.php:749
msgid "Permission denied. Access to this item may be restricted."
msgstr "Permissão negada. Acesso a este item pode estar restrito."
-#: ../../mod/photos.php:763
+#: ../../mod/photos.php:751
msgid "Photo not available"
msgstr "A foto não está disponível"
-#: ../../mod/photos.php:821
+#: ../../mod/photos.php:809
msgid "Use as profile photo"
msgstr "Usar como uma foto de perfil"
-#: ../../mod/photos.php:828
+#: ../../mod/photos.php:816
msgid "Private Photo"
msgstr "Foto privada"
-#: ../../mod/photos.php:843
+#: ../../mod/photos.php:831
msgid "View Full Size"
msgstr "Ver no tamanho real"
-#: ../../mod/photos.php:921
+#: ../../mod/photos.php:909
msgid "Edit photo"
msgstr "Editar a foto"
-#: ../../mod/photos.php:923
+#: ../../mod/photos.php:911
msgid "Rotate CW (right)"
msgstr "Rotacionar H (horário)"
-#: ../../mod/photos.php:924
+#: ../../mod/photos.php:912
msgid "Rotate CCW (left)"
msgstr "Rotacionar AH (anti-horário)"
-#: ../../mod/photos.php:931
+#: ../../mod/photos.php:919
msgid "Caption"
msgstr "Legenda"
-#: ../../mod/photos.php:933
+#: ../../mod/photos.php:921
msgid "Add a Tag"
msgstr "Adicionar uma etiqueta"
-#: ../../mod/photos.php:937
+#: ../../mod/photos.php:925
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr "Exemplo: @beto, @Barbara_Almeida, @julia@exemplo.com"
-#: ../../mod/photos.php:940
-msgid "Flag as adult in album view"
-msgstr "Sinalizar como adulto na apresentação de álbuns"
-
-#: ../../mod/photos.php:1132
-msgid "In This Photo:"
-msgstr "Nesta foto:"
-
-#: ../../mod/photos.php:1137
-msgid "Map"
-msgstr "Mapa"
-
-#: ../../mod/photos.php:1223
-msgid "View Album"
-msgstr "Ver álbum"
-
-#: ../../mod/photos.php:1246
-msgid "Recent Photos"
-msgstr "Fotos recentes"
-
-#: ../../mod/search.php:206
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "Items etiquetados com: %s"
-
-#: ../../mod/search.php:208
-#, php-format
-msgid "Search results for: %s"
-msgstr "Resultados da busca por: %s"
-
-#: ../../mod/match.php:22
-msgid "Profile Match"
-msgstr "Correspondência de perfil"
-
-#: ../../mod/match.php:31
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Nenhuma palavra-chave para combinar. Por favor, adicione palavras-chave ao seu perfil padrão."
-
-#: ../../mod/match.php:63
-msgid "is interested in:"
-msgstr "se interessa por:"
-
-#: ../../mod/match.php:70
-msgid "No matches"
-msgstr "Nenhuma correspondência"
-
-#: ../../mod/chatsvc.php:111
-msgid "Away"
-msgstr "Ausente"
-
-#: ../../mod/chatsvc.php:115
-msgid "Online"
-msgstr "Online"
-
-#: ../../mod/rbmark.php:88
-msgid "Select a bookmark folder"
-msgstr "Escolha uma pasta de links onde guardar"
-
-#: ../../mod/rbmark.php:93
-msgid "Save Bookmark"
-msgstr "Guardar link"
-
-#: ../../mod/rbmark.php:94
-msgid "URL of bookmark"
-msgstr "URL do link guardado"
-
-#: ../../mod/rbmark.php:95 ../../mod/appman.php:93
-msgid "Description"
-msgstr "Descrição"
-
-#: ../../mod/rbmark.php:99
-msgid "Or enter new bookmark folder name"
-msgstr "Ou digite o nome para uma nova pasta de links"
-
-#: ../../mod/notify.php:53 ../../mod/notifications.php:94
-msgid "No more system notifications."
-msgstr "Sem novas notificações do sistema."
-
-#: ../../mod/notify.php:57 ../../mod/notifications.php:98
-msgid "System Notifications"
-msgstr "Notificações do sistema"
-
-#: ../../mod/acl.php:231
-msgid "network"
-msgstr "+ rede"
-
-#: ../../mod/acl.php:241
-msgid "RSS"
-msgstr "RSS"
-
-#: ../../mod/pdledit.php:13
-msgid "Layout updated."
-msgstr "Layout atualizado."
-
-#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
-msgid "Edit System Page Description"
-msgstr "Editar descrição de página do sistema"
-
-#: ../../mod/pdledit.php:48
-msgid "Layout not found."
-msgstr "Layout não encontrado."
-
-#: ../../mod/pdledit.php:54
-msgid "Module Name:"
-msgstr "Nome do módulo:"
-
-#: ../../mod/pdledit.php:55
-msgid "Layout Help"
-msgstr "Ajuda de layout"
-
-#: ../../mod/filer.php:49
-msgid "- select -"
-msgstr "- selecionar -"
-
-#: ../../mod/import.php:25
-#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "Seu plano de serviço permite apenas %d canais."
-
-#: ../../mod/import.php:60
-msgid "Nothing to import."
-msgstr "Nada a importar."
-
-#: ../../mod/import.php:84
-msgid "Unable to download data from old server"
-msgstr "Não foi possível descarregar os dados do servidor antigo"
-
-#: ../../mod/import.php:90
-msgid "Imported file is empty."
-msgstr "O arquivo importado está vazio."
-
-#: ../../mod/import.php:110
-msgid "The data provided is not compatible with this project."
-msgstr "Os dados fornecidos não são compatíveis com este projeto."
-
-#: ../../mod/import.php:115
-#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Atenção: Versões do banco de dados diferem por %1$d atualizações."
-
-#: ../../mod/import.php:135
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Não foi possível criar um identificador de canal duplicado neste sistema. A importação falhou."
-
-#: ../../mod/import.php:176
-msgid "Channel clone failed. Import failed."
-msgstr "Clonagem do canal falhou. A importação falhou."
-
-#: ../../mod/import.php:186
-msgid "Cloned channel not found. Import failed."
-msgstr "Canal a clonar não encontrado. A importação falhou."
-
-#: ../../mod/import.php:516
-msgid "You must be logged in to use this feature."
-msgstr "Você precisa estar autenticado para usar este recurso."
-
-#: ../../mod/import.php:521
-msgid "Import Channel"
-msgstr "Importar canal"
-
-#: ../../mod/import.php:522
-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 "Use este formulário para importar um canal existente de um servidor/hub diferente. Você pode obter a identidade do canal do servidor/hub antigo pela rede, ou fornecer um arquivo de exportação."
-
-#: ../../mod/import.php:523
-msgid "File to Upload"
-msgstr "Arquivo a carregar"
-
-#: ../../mod/import.php:524
-msgid "Or provide the old server/hub details"
-msgstr "Ou forneça os detalhes do antigo servidor/hub"
-
-#: ../../mod/import.php:525
-msgid "Your old identity address (xyz@example.com)"
-msgstr "O endereço da sua velha identidade (xyz@exemplo.com)"
-
-#: ../../mod/import.php:526
-msgid "Your old login email address"
-msgstr "O endereço de e-mail da sua antiga conta"
-
-#: ../../mod/import.php:527
-msgid "Your old login password"
-msgstr "A senha dua sua antiga conta"
-
-#: ../../mod/import.php:528
-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"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Para qualquer das opções, por favor escolha se deseja fazer deste hub seu novo endereço primário, ou se o velho local deve continuar com esse papel. Você será capaz de publicar a partir de ambos os locais, mas somente um pode estar designado como local primário para arquivos, fotos e mídia."
-
-#: ../../mod/import.php:529
-msgid "Make this hub my primary location"
-msgstr "Faça deste hub meu local primário"
-
-#: ../../mod/import.php:530
-msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importar publicações existentes se possível (experimental - limitado pela memória disponível)"
+#: ../../mod/connedit.php:181
+msgid "is now connected to"
+msgstr "está agora conectado a"
-#: ../../mod/import.php:531
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Esse processo pode levar vários minutos para completar. Por favor envie o formulário uma única vez e deixe esta página aberta até que finalize."
+#: ../../mod/connedit.php:296
+msgid "Could not access address book record."
+msgstr "Não foi possível acessar o registro do contato."
-#: ../../mod/editlayout.php:111
-msgid "Delete layout?"
-msgstr "Deletar layout?"
+#: ../../mod/connedit.php:310
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "A atualização falhou - o canal está indisponível no momento."
-#: ../../mod/editlayout.php:158 ../../mod/layouts.php:124
-msgid "Layout Description (Optional)"
-msgstr "Descrição do Layout. (Opcional)"
+#: ../../mod/connedit.php:317
+msgid "Channel has been unblocked"
+msgstr "O canal foi desbloqueado"
-#: ../../mod/editlayout.php:160 ../../mod/layouts.php:121
-#: ../../mod/layouts.php:179
-msgid "Layout Name"
-msgstr "Nome do layout"
+#: ../../mod/connedit.php:318
+msgid "Channel has been blocked"
+msgstr "O canal foi bloqueado"
-#: ../../mod/editlayout.php:177
-msgid "Edit Layout"
-msgstr "Editar layout"
+#: ../../mod/connedit.php:322 ../../mod/connedit.php:334
+#: ../../mod/connedit.php:346 ../../mod/connedit.php:358
+#: ../../mod/connedit.php:374
+msgid "Unable to set address book parameters."
+msgstr "Não foi possível definir os parâmetros do contato."
-#: ../../mod/chat.php:19 ../../mod/channel.php:25
-msgid "You must be logged in to see this page."
-msgstr "Você precisa estar autenticado para ver esta página."
+#: ../../mod/connedit.php:329
+msgid "Channel has been unignored"
+msgstr "O canal não está mais ignorado"
-#: ../../mod/chat.php:167
-msgid "Room not found"
-msgstr "Sala não encontrada"
+#: ../../mod/connedit.php:330
+msgid "Channel has been ignored"
+msgstr "O canal passou a estar ignorado"
-#: ../../mod/chat.php:178
-msgid "Leave Room"
-msgstr "Sair da sala"
+#: ../../mod/connedit.php:341
+msgid "Channel has been unarchived"
+msgstr "O canal deixou o arquivo"
-#: ../../mod/chat.php:179
-msgid "Delete This Room"
-msgstr "Deletar esta sala"
+#: ../../mod/connedit.php:342
+msgid "Channel has been archived"
+msgstr "O canal foi colocado no arquivo"
-#: ../../mod/chat.php:180
-msgid "I am away right now"
-msgstr "Eu estou ausente no momento"
+#: ../../mod/connedit.php:353
+msgid "Channel has been unhidden"
+msgstr "O canal não está mais oculto"
-#: ../../mod/chat.php:181
-msgid "I am online"
-msgstr "Eu estou online"
+#: ../../mod/connedit.php:354
+msgid "Channel has been hidden"
+msgstr "O canal passou a estar oculto"
-#: ../../mod/chat.php:183
-msgid "Bookmark this room"
-msgstr "Guarde esta sala"
+#: ../../mod/connedit.php:369
+msgid "Channel has been approved"
+msgstr "O canal foi aprovado"
-#: ../../mod/chat.php:207 ../../mod/chat.php:229
-msgid "New Chatroom"
-msgstr "Nova sala de bate-papo"
+#: ../../mod/connedit.php:370
+msgid "Channel has been unapproved"
+msgstr "O canal deixou de estar aprovado"
-#: ../../mod/chat.php:208
-msgid "Chatroom Name"
-msgstr "Nome da sala de bate-papo"
+#: ../../mod/connedit.php:398
+msgid "Connection has been removed."
+msgstr "A conexão foi removida."
-#: ../../mod/chat.php:225
+#: ../../mod/connedit.php:418
#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "Salas de bate-papo de %1$s"
-
-#: ../../mod/mitem.php:24 ../../mod/menu.php:134
-msgid "Menu not found."
-msgstr "O menu não foi encontrado."
-
-#: ../../mod/mitem.php:48
-msgid "Unable to create element."
-msgstr "Não foi possível criar elemento."
-
-#: ../../mod/mitem.php:71
-msgid "Unable to update menu element."
-msgstr "Não foi possível atualizar o elemento de menu."
-
-#: ../../mod/mitem.php:86
-msgid "Unable to add menu element."
-msgstr "Não foi possível adicionar o elemento de menu."
-
-#: ../../mod/mitem.php:152 ../../mod/mitem.php:223
-msgid "Menu Item Permissions"
-msgstr "Permissões do item do menu"
-
-#: ../../mod/mitem.php:153 ../../mod/mitem.php:224 ../../mod/settings.php:1083
-msgid "(click to open/close)"
-msgstr "(clique para abrir/fechar)"
-
-#: ../../mod/mitem.php:155 ../../mod/mitem.php:171
-msgid "Link Name"
-msgstr "Nome do Link"
-
-#: ../../mod/mitem.php:156 ../../mod/mitem.php:228
-msgid "Link or Submenu Target"
-msgstr "Alvo do Link ou Submenu"
-
-#: ../../mod/mitem.php:156
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr "Insira o URL do link ou selecione um nome de menu para criar um submenu"
-
-#: ../../mod/mitem.php:157 ../../mod/mitem.php:229
-msgid "Use magic-auth if available"
-msgstr "Usar magic-auth se disponível"
-
-#: ../../mod/mitem.php:158 ../../mod/mitem.php:230
-msgid "Open link in new window"
-msgstr "Abrir link em uma nova janela"
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
-msgid "Order in list"
-msgstr "Ordem na lista"
-
-#: ../../mod/mitem.php:159 ../../mod/mitem.php:231
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "Números mais altos descem para o fim da lista"
-
-#: ../../mod/mitem.php:160
-msgid "Submit and finish"
-msgstr "Enviar e terminar"
-
-#: ../../mod/mitem.php:161
-msgid "Submit and continue"
-msgstr "Enviar e continuar"
-
-#: ../../mod/mitem.php:169
-msgid "Menu:"
-msgstr "Menu:"
-
-#: ../../mod/mitem.php:172
-msgid "Link Target"
-msgstr "Alvo do Link"
+msgid "View %s's profile"
+msgstr "Ver o perfil de %s"
-#: ../../mod/mitem.php:175
-msgid "Edit menu"
-msgstr "Editar menu"
+#: ../../mod/connedit.php:422
+msgid "Refresh Permissions"
+msgstr "Atualizar permissões"
-#: ../../mod/mitem.php:178
-msgid "Edit element"
-msgstr "Editar elemento"
+#: ../../mod/connedit.php:425
+msgid "Fetch updated permissions"
+msgstr "Buscar as permissões atualizadas"
-#: ../../mod/mitem.php:179
-msgid "Drop element"
-msgstr "Descartar elemento"
+#: ../../mod/connedit.php:429
+msgid "Recent Activity"
+msgstr "Atividades recentes"
-#: ../../mod/mitem.php:180
-msgid "New element"
-msgstr "Novo elemento"
+#: ../../mod/connedit.php:432
+msgid "View recent posts and comments"
+msgstr "Exibir publicações e comentários recentes"
-#: ../../mod/mitem.php:181
-msgid "Edit this menu container"
-msgstr "Editar esta caixa de menu"
+#: ../../mod/connedit.php:436 ../../mod/connedit.php:579
+#: ../../mod/admin.php:734
+msgid "Unblock"
+msgstr "Desbloquear"
-#: ../../mod/mitem.php:182
-msgid "Add menu element"
-msgstr "Adicionar um elemento de menu"
+#: ../../mod/connedit.php:436 ../../mod/connedit.php:579
+#: ../../mod/admin.php:733
+msgid "Block"
+msgstr "Bloquear"
-#: ../../mod/mitem.php:183
-msgid "Delete this menu item"
-msgstr "Deleter este item de menu"
+#: ../../mod/connedit.php:439
+msgid "Block or Unblock this connection"
+msgstr "Bloquear ou desbloquear esta conexão"
-#: ../../mod/mitem.php:184
-msgid "Edit this menu item"
-msgstr "Editar este item de menu"
+#: ../../mod/connedit.php:443 ../../mod/connedit.php:580
+msgid "Unignore"
+msgstr "Não ignorar"
-#: ../../mod/mitem.php:201
-msgid "Menu item not found."
-msgstr "O item de menu não foi encontrado."
+#: ../../mod/connedit.php:443 ../../mod/connedit.php:580
+#: ../../mod/notifications.php:51
+msgid "Ignore"
+msgstr "Ignorar"
-#: ../../mod/mitem.php:212
-msgid "Menu item deleted."
-msgstr "O item de menu foi deletado."
+#: ../../mod/connedit.php:446
+msgid "Ignore or Unignore this connection"
+msgstr "Ignorar ou deixar de ignorar esta conexão"
-#: ../../mod/mitem.php:214
-msgid "Menu item could not be deleted."
-msgstr "Não foi possível deletar o item de menu."
+#: ../../mod/connedit.php:449
+msgid "Unarchive"
+msgstr "Não arquivar"
-#: ../../mod/mitem.php:221
-msgid "Edit Menu Element"
-msgstr "Editar elemento de menu"
+#: ../../mod/connedit.php:449
+msgid "Archive"
+msgstr "Arquivar"
-#: ../../mod/mitem.php:227
-msgid "Link text"
-msgstr "Texto do link"
+#: ../../mod/connedit.php:452
+msgid "Archive or Unarchive this connection"
+msgstr "Colocar ou retirar do arquivo esta conexão"
-#: ../../mod/editwebpage.php:152
-msgid "Delete webpage?"
-msgstr "Deletar página web?"
+#: ../../mod/connedit.php:455
+msgid "Unhide"
+msgstr "Não ocultar"
-#: ../../mod/editwebpage.php:173
-msgid "Page link title"
-msgstr "Título do link da página"
+#: ../../mod/connedit.php:455
+msgid "Hide"
+msgstr "Ocultar"
-#: ../../mod/editwebpage.php:224
-msgid "Edit Webpage"
-msgstr "Editar página web"
+#: ../../mod/connedit.php:458
+msgid "Hide or Unhide this connection"
+msgstr "Ocultar ou deixar de ocultar esta conexão"
-#: ../../mod/dirsearch.php:29
-msgid "This directory server requires an access token"
-msgstr "O servidor deste diretório requer um token de acesso"
+#: ../../mod/connedit.php:465
+msgid "Delete this connection"
+msgstr "Deletar esta conexão"
-#: ../../mod/lostpass.php:15
-msgid "No valid account found."
-msgstr "Não foi encontrada uma conta válida."
+#: ../../mod/connedit.php:508 ../../mod/connedit.php:537
+msgid "Approve this connection"
+msgstr "Aprovar esta conexão"
-#: ../../mod/lostpass.php:29
-msgid "Password reset request issued. Check your email."
-msgstr "A solicitação de restauração de senha foi encaminhada. Verifique seu e-mail."
+#: ../../mod/connedit.php:508
+msgid "Accept connection to allow communication"
+msgstr "Aceite a conexão para permitir comunicação"
-#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Membro do site (%s)"
+#: ../../mod/connedit.php:524
+msgid "Automatic Permissions Settings"
+msgstr "Configurações de permissão automáticas"
-#: ../../mod/lostpass.php:40
+#: ../../mod/connedit.php:524
#, php-format
-msgid "Password reset requested at %s"
-msgstr "Foi feita uma solicitação de restauração de senha em %s"
+msgid "Connections: settings for %s"
+msgstr "Conexões: configurações para %s"
-#: ../../mod/lostpass.php:63
+#: ../../mod/connedit.php:528
msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Não foi possível verificar a solicitação (você pode tê-la submetido anteriormente). A senha não foi restaurada."
-
-#: ../../mod/lostpass.php:85 ../../boot.php:1559
-msgid "Password Reset"
-msgstr "Reiniciar a senha"
-
-#: ../../mod/lostpass.php:86
-msgid "Your password has been reset as requested."
-msgstr "Sua senha foi restaurada, conforme solicitado."
-
-#: ../../mod/lostpass.php:87
-msgid "Your new password is"
-msgstr "Sua nova senha é"
-
-#: ../../mod/lostpass.php:88
-msgid "Save or copy your new password - and then"
-msgstr "Salve ou copie a sua nova senha e, então"
-
-#: ../../mod/lostpass.php:89
-msgid "click here to login"
-msgstr "clique aqui para entrar"
+"When receiving a channel introduction, any permissions provided here will be"
+" applied to the new connection automatically and the introduction approved. "
+"Leave this page if you do not wish to use this feature."
+msgstr "Ao receber uma apresentação de um canal, quaisquer permissões definidas aqui serão automaticamente aplicadas à nova conexão e a apresentação aprovada. Deixe esta página se você não quer usar este recurso."
-#: ../../mod/lostpass.php:90
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Sua senha pode ser alterada na página de <em>Configurações</em> após você entrar em sua conta."
+#: ../../mod/connedit.php:530
+msgid "Slide to adjust your degree of friendship"
+msgstr "Deslize para ajustar seu grau de amizade"
-#: ../../mod/lostpass.php:107
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Sua senha foi modificada em %s"
+#: ../../mod/connedit.php:536
+msgid "inherited"
+msgstr "herdado"
-#: ../../mod/lostpass.php:122
-msgid "Forgot your Password?"
-msgstr "Esqueceu a sua senha?"
+#: ../../mod/connedit.php:538
+msgid "Connection has no individual permissions!"
+msgstr "A conexão não tem permissões individuais!"
-#: ../../mod/lostpass.php:123
+#: ../../mod/connedit.php:539
msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Digite o seu endereço de e-mail e clique em 'Restaurar' para prosseguir com a restauração da sua senha. Após isso, verifique seu e-mail para mais instruções."
-
-#: ../../mod/lostpass.php:124
-msgid "Email Address"
-msgstr "Endereço de e-mail"
-
-#: ../../mod/lostpass.php:125
-msgid "Reset"
-msgstr "Restaurar"
-
-#: ../../mod/rate.php:157
-msgid "Website:"
-msgstr "Sítio web:"
-
-#: ../../mod/rate.php:160
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Canal Remoto [%s] (ainda não conhecido neste sítio)"
-
-#: ../../mod/rate.php:161
-msgid "Rating (this information is public)"
-msgstr "Avaliações (essa informação é pública)"
-
-#: ../../mod/rate.php:162
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Opcionalmente justifique sua avaliação (essa informação é pública)"
-
-#: ../../mod/editblock.php:117
-msgid "Delete block?"
-msgstr "Deletar bloco?"
-
-#: ../../mod/editblock.php:179
-msgid "Edit Block"
-msgstr "Editar bloco"
-
-#: ../../mod/invite.php:25
-msgid "Total invitation limit exceeded."
-msgstr "Foi excedido o número total de convites."
-
-#: ../../mod/invite.php:49
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s : Não é um endereço de e-mail válido."
-
-#: ../../mod/invite.php:76
-msgid "Please join us on Red"
-msgstr "Por favor, una-se a nós na Red"
+"This may be appropriate based on your <a href=\"settings\">privacy "
+"settings</a>, though you may wish to review the \"Advanced Permissions\"."
+msgstr "Isso pode ser adequado baseado nas suas <a href=\"settings\">configurações de privacidade</a>, mas talvez você queira rever suas \"Permissões Avançadas\"."
-#: ../../mod/invite.php:87
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Você excedeu o limite de convites. Por favor, entre em contato com o administrador do site."
+#: ../../mod/connedit.php:541
+msgid "Profile Visibility"
+msgstr "Visibilidade do perfil"
-#: ../../mod/invite.php:92
+#: ../../mod/connedit.php:542
#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Não foi possível enviar a mensagem."
-
-#: ../../mod/invite.php:96
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d mensagem enviada."
-msgstr[1] "%d mensagens enviadas."
-
-#: ../../mod/invite.php:115
-msgid "You have no more invitations available"
-msgstr "Você não possui mais convites disponíveis"
-
-#: ../../mod/invite.php:129
-msgid "Send invitations"
-msgstr "Enviar convites."
-
-#: ../../mod/invite.php:130
-msgid "Enter email addresses, one per line:"
-msgstr "Digite os endereços de e-mail, um por linha:"
-
-#: ../../mod/invite.php:131 ../../mod/mail.php:235 ../../mod/mail.php:348
-msgid "Your message:"
-msgstr "Sua mensagem:"
-
-#: ../../mod/invite.php:132
-msgid "Please join my community on $Projectname."
-msgstr "Por favor junte-se à minha comunidade na $Projectname."
-
-#: ../../mod/invite.php:134
-msgid "You will need to supply this invitation code: "
-msgstr "Você precisará fornecer este código de convite:"
-
-#: ../../mod/invite.php:135
msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registre-se em qualquer site da $Projectname (eles são todos interconectados)"
-
-#: ../../mod/invite.php:137
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Entre com meu endereço da $Projectname na barra de busca do site."
-
-#: ../../mod/invite.php:138
-msgid "or visit "
-msgstr "ou visite"
-
-#: ../../mod/invite.php:140
-msgid "3. Click [Connect]"
-msgstr "3. Clique [Conectar]"
-
-#: ../../mod/locs.php:21 ../../mod/locs.php:52
-msgid "Location not found."
-msgstr "A localização não foi encontrada."
-
-#: ../../mod/locs.php:56
-msgid "Primary location cannot be removed."
-msgstr "A localização primária não pode ser removida."
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Por favor, selecione o perfil que você gostaria de exibir para %s quando estiver visualizando seu perfil de modo seguro."
-#: ../../mod/locs.php:88
-msgid "No locations found."
-msgstr "Nenhuma localização encontrada."
+#: ../../mod/connedit.php:543
+msgid "Contact Information / Notes"
+msgstr "Informações de contato / Notas"
-#: ../../mod/locs.php:101
-msgid "Manage Channel Locations"
-msgstr "Gerenciar localizações do canal"
+#: ../../mod/connedit.php:544
+msgid "Edit contact notes"
+msgstr "Editar anotações sobre o contato"
-#: ../../mod/locs.php:102
-msgid "Location (address)"
-msgstr "Localização (endereço)"
+#: ../../mod/connedit.php:546
+msgid "Their Settings"
+msgstr "Configurações dele/a"
-#: ../../mod/locs.php:103
-msgid "Primary Location"
-msgstr "Localização primária"
+#: ../../mod/connedit.php:547
+msgid "My Settings"
+msgstr "Minhas configurações"
-#: ../../mod/locs.php:104
-msgid "Drop location"
-msgstr "Descartar localização"
+#: ../../mod/connedit.php:549
+msgid "Clear/Disable Automatic Permissions"
+msgstr "Limpa/Desabilita permissões automáticas"
-#: ../../mod/sources.php:32
-msgid "Failed to create source. No channel selected."
-msgstr "Falha ao criar a fonte. Nenhum canal selecionado."
+#: ../../mod/connedit.php:550
+msgid "Forum Members"
+msgstr "Membros de fórum"
-#: ../../mod/sources.php:45
-msgid "Source created."
-msgstr "A fonte foi criada."
+#: ../../mod/connedit.php:551
+msgid "Soapbox"
+msgstr "Caixa de sabão"
-#: ../../mod/sources.php:57
-msgid "Source updated."
-msgstr "A fonte foi atualizada."
+#: ../../mod/connedit.php:552
+msgid "Full Sharing (typical social network permissions)"
+msgstr "Compartilhamento completo (permissões típicas de redes sociais)"
-#: ../../mod/sources.php:82
-msgid "*"
-msgstr "*"
+#: ../../mod/connedit.php:553
+msgid "Cautious Sharing "
+msgstr "Compartilhamento cauteloso"
-#: ../../mod/sources.php:89
-msgid "Manage remote sources of content for your channel."
-msgstr "Administrar as fontes remotas de conteúdo para o seu canal."
+#: ../../mod/editlayout.php:166 ../../mod/layouts.php:121
+#: ../../mod/layouts.php:179
+msgid "Layout Name"
+msgstr "Nome do layout"
-#: ../../mod/sources.php:90 ../../mod/sources.php:100
-msgid "New Source"
-msgstr "Nova fonte"
+#: ../../mod/connedit.php:555
+msgid "Individual Permissions"
+msgstr "Permissões individuais"
-#: ../../mod/sources.php:101 ../../mod/sources.php:133
+#: ../../mod/connedit.php:556
msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importar todo ou uma seleção do conteúdo do seguinte canal para este canal, e distribuí-lo de acordo com as configurações do seu canal."
-
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Only import content with these words (one per line)"
-msgstr "Importar apenas conteúd com estas palavras (uma por linha)"
-
-#: ../../mod/sources.php:102 ../../mod/sources.php:134
-msgid "Leave blank to import all public content"
-msgstr "Deixe em branco para importar todo o conteúdo público"
-
-#: ../../mod/sources.php:103 ../../mod/sources.php:137
-#: ../../mod/new_channel.php:112
-msgid "Channel Name"
-msgstr "Nome do canal"
-
-#: ../../mod/sources.php:123 ../../mod/sources.php:150
-msgid "Source not found."
-msgstr "A fonte não foi encontrada."
-
-#: ../../mod/sources.php:130
-msgid "Edit Source"
-msgstr "Editar fonte"
-
-#: ../../mod/sources.php:131
-msgid "Delete Source"
-msgstr "Deletar fonte"
-
-#: ../../mod/sources.php:158
-msgid "Source removed"
-msgstr "A fonte foi removida."
-
-#: ../../mod/sources.php:160
-msgid "Unable to remove source."
-msgstr "Não foi possível remover a fonte."
-
-#: ../../mod/menu.php:44
-msgid "Unable to update menu."
-msgstr "Não foi possível atualizar o menu."
-
-#: ../../mod/menu.php:53
-msgid "Unable to create menu."
-msgstr "Não foi possível criar o menu."
-
-#: ../../mod/menu.php:89 ../../mod/menu.php:101
-msgid "Menu Name"
-msgstr "Nome do Menu"
-
-#: ../../mod/menu.php:89
-msgid "Unique name (not visible on webpage) - required"
-msgstr "Nome único (não visível na página web) - necessário"
-
-#: ../../mod/menu.php:90 ../../mod/menu.php:102
-msgid "Menu Title"
-msgstr "Título do Menu"
-
-#: ../../mod/menu.php:90
-msgid "Visible on webpage - leave empty for no title"
-msgstr "Visível na Página web - Deixe vazio para nenhum título"
-
-#: ../../mod/menu.php:91
-msgid "Allow Bookmarks"
-msgstr "Permite Favoritos"
-
-#: ../../mod/menu.php:91 ../../mod/menu.php:147
-msgid "Menu may be used to store saved bookmarks"
-msgstr "O menu pode ser utilizado para armazenar links guardados"
-
-#: ../../mod/menu.php:92 ../../mod/menu.php:149
-msgid "Submit and proceed"
-msgstr "Envie e Prossiga"
-
-#: ../../mod/menu.php:104
-msgid "Drop"
-msgstr "Descartar"
-
-#: ../../mod/menu.php:108
-msgid "Bookmarks allowed"
-msgstr "Permitindo guardar links"
-
-#: ../../mod/menu.php:110
-msgid "Delete this menu"
-msgstr "Deletar este menu"
-
-#: ../../mod/menu.php:111 ../../mod/menu.php:144
-msgid "Edit menu contents"
-msgstr "Editar os conteúdos do menu"
-
-#: ../../mod/menu.php:112
-msgid "Edit this menu"
-msgstr "Editar este menu"
-
-#: ../../mod/menu.php:126
-msgid "Menu could not be deleted."
-msgstr "Não foi possível deletar o menu."
-
-#: ../../mod/menu.php:139
-msgid "Edit Menu"
-msgstr "Editar menu"
-
-#: ../../mod/menu.php:143
-msgid "Add or remove entries to this menu"
-msgstr "Adicionar ou remover entradas deste menu"
-
-#: ../../mod/menu.php:145
-msgid "Menu name"
-msgstr "Nome do menu"
-
-#: ../../mod/menu.php:145
-msgid "Must be unique, only seen by you"
-msgstr "Deve ser único, exibido somente para você"
-
-#: ../../mod/menu.php:146
-msgid "Menu title"
-msgstr "Título do menu"
-
-#: ../../mod/menu.php:146
-msgid "Menu title as seen by others"
-msgstr "Título do menu quando visto por outros"
-
-#: ../../mod/menu.php:147
-msgid "Allow bookmarks"
-msgstr "Habilitar links guardados"
-
-#: ../../mod/filestorage.php:82
-msgid "Permission Denied."
-msgstr "Permissão negada."
-
-#: ../../mod/filestorage.php:98
-msgid "File not found."
-msgstr "O arquivo não foi encontrado."
-
-#: ../../mod/filestorage.php:141
-msgid "Edit file permissions"
-msgstr "Editar permissões do arquivo"
-
-#: ../../mod/filestorage.php:150
-msgid "Set/edit permissions"
-msgstr "Definir/editar permissões"
-
-#: ../../mod/filestorage.php:151
-msgid "Include all files and sub folders"
-msgstr "Incluir todos os arquivos e subpastas"
-
-#: ../../mod/filestorage.php:152
-msgid "Return to file list"
-msgstr "Retornar à lista de arquivos"
-
-#: ../../mod/filestorage.php:154
-msgid "Copy/paste this code to attach file to a post"
-msgstr "Copiar/colar este código para anexar um arquivo a uma publicação"
-
-#: ../../mod/filestorage.php:155
-msgid "Copy/paste this URL to link file from a web page"
-msgstr "Copiar/colar este URL para linkar para o arquivo em uma página web"
-
-#: ../../mod/filestorage.php:157
-msgid "Share this file"
-msgstr "Compartilhe esse arquivo"
-
-#: ../../mod/filestorage.php:158
-msgid "Show URL to this file"
-msgstr "Mostre URL para esse arquivo"
-
-#: ../../mod/filestorage.php:159
-msgid "Notify your contacts about this file"
-msgstr "Notifique seus contatos sobre esse arquivo"
-
-#: ../../mod/fsuggest.php:20 ../../mod/fsuggest.php:92
-msgid "Contact not found."
-msgstr "O contato não foi encontrado."
-
-#: ../../mod/fsuggest.php:63
-msgid "Friend suggestion sent."
-msgstr "Sugestão de amizade enviada."
-
-#: ../../mod/fsuggest.php:97
-msgid "Suggest Friends"
-msgstr "Sugerir amigos"
-
-#: ../../mod/fsuggest.php:99
-#, php-format
-msgid "Suggest a friend for %s"
-msgstr "Sugerir um amigo para %s"
-
-#: ../../mod/magic.php:69
-msgid "Hub not found."
-msgstr "O hub não foi encontrado."
-
-#: ../../mod/poke.php:159
-msgid "Poke/Prod"
-msgstr "Cutucar/Espetar"
+"Some permissions may be inherited from your channel <a "
+"href=\"settings\">privacy settings</a>, which have higher priority than "
+"individual settings. Changing those inherited settings on this page will "
+"have no effect."
+msgstr "Algumas permissões serão herdadas das <a href=\"settings\">configurações de privacidade</a> do seu canal, e terão prioridade sobre as configurações individuais. Modificar nesta página tais configurações herdadas não surtirá efeito algum."
-#: ../../mod/poke.php:160
-msgid "poke, prod or do other things to somebody"
-msgstr "Cutucar, espetar ou fazer outras coisas a alguém"
+#: ../../mod/connedit.php:557
+msgid "Advanced Permissions"
+msgstr "Permissões avançadas"
-#: ../../mod/poke.php:161
-msgid "Recipient"
-msgstr "Destinatário"
-
-#: ../../mod/poke.php:162
-msgid "Choose what you wish to do to recipient"
-msgstr "Escolha o que você deseja fazer com seu alvo"
-
-#: ../../mod/poke.php:165
-msgid "Make this post private"
-msgstr "Torne esta publicação privada"
+#: ../../mod/connedit.php:558
+msgid "Simple Permissions (select one and submit)"
+msgstr "Permissões simples (slecione uma e submeta)"
-#: ../../mod/profperm.php:29 ../../mod/profperm.php:58
-msgid "Invalid profile identifier."
-msgstr "Identificador de perfil inválido."
-
-#: ../../mod/profperm.php:110
-msgid "Profile Visibility Editor"
-msgstr "Editor de visibilidade do perfil"
-
-#: ../../mod/profperm.php:114
-msgid "Click on a contact to add or remove."
-msgstr "Clique em um contato para adicionar ou remover."
-
-#: ../../mod/profperm.php:123
-msgid "Visible To"
-msgstr "Visível para"
-
-#: ../../mod/impel.php:191
+#: ../../mod/connedit.php:562
#, php-format
-msgid "%s element installed"
-msgstr "Elemento %s instalado"
-
-#: ../../mod/impel.php:194
-#, php-format
-msgid "%s element installation failed"
-msgstr "Instalação de elemento %s falhou"
-
-#: ../../mod/profiles.php:18 ../../mod/profiles.php:174
-#: ../../mod/profiles.php:231 ../../mod/profiles.php:600
-msgid "Profile not found."
-msgstr "O perfil não foi encontrado."
-
-#: ../../mod/profiles.php:38
-msgid "Profile deleted."
-msgstr "O perfil foi excluído."
-
-#: ../../mod/profiles.php:56 ../../mod/profiles.php:92
-msgid "Profile-"
-msgstr "Perfil-"
-
-#: ../../mod/profiles.php:77 ../../mod/profiles.php:120
-msgid "New profile created."
-msgstr "O novo perfil foi criado."
-
-#: ../../mod/profiles.php:98
-msgid "Profile unavailable to clone."
-msgstr "O perfil não está disponível para clonagem."
-
-#: ../../mod/profiles.php:136
-msgid "Profile unavailable to export."
-msgstr "Perfil indisponível para exportar."
-
-#: ../../mod/profiles.php:241
-msgid "Profile Name is required."
-msgstr "É obrigatório informar o nome do perfil."
-
-#: ../../mod/profiles.php:404
-msgid "Marital Status"
-msgstr "Estado civil"
-
-#: ../../mod/profiles.php:408
-msgid "Romantic Partner"
-msgstr "Parceiro/a romântico/a"
-
-#: ../../mod/profiles.php:412
-msgid "Likes"
-msgstr "Gosta de"
-
-#: ../../mod/profiles.php:416
-msgid "Dislikes"
-msgstr "Não gosta de"
+msgid "Visit %s's profile - %s"
+msgstr "Ver o perfil de %s - %s"
-#: ../../mod/profiles.php:420
-msgid "Work/Employment"
-msgstr "Trabalho/Emprego"
+#: ../../mod/connedit.php:563
+msgid "Block/Unblock contact"
+msgstr "Bloquear/desbloquear o contato"
-#: ../../mod/profiles.php:423
-msgid "Religion"
-msgstr "Religião"
+#: ../../mod/connedit.php:564
+msgid "Ignore contact"
+msgstr "Ignorar o contato"
-#: ../../mod/profiles.php:427
-msgid "Political Views"
-msgstr "Posição política"
+#: ../../mod/connedit.php:565
+msgid "Repair URL settings"
+msgstr "Reparar configurações de URL"
-#: ../../mod/profiles.php:431 ../../mod/id.php:33
-msgid "Gender"
-msgstr "Gênero"
+#: ../../mod/connedit.php:566
+msgid "View conversations"
+msgstr "Ver as conversas"
-#: ../../mod/profiles.php:435
-msgid "Sexual Preference"
-msgstr "Preferência sexual"
+#: ../../mod/connedit.php:568
+msgid "Delete contact"
+msgstr "Excluir o contato"
-#: ../../mod/profiles.php:439
-msgid "Homepage"
-msgstr "Página web"
+#: ../../mod/connedit.php:571
+msgid "Last update:"
+msgstr "Última atualização:"
-#: ../../mod/profiles.php:443
-msgid "Interests"
-msgstr "Interesses"
+#: ../../mod/connedit.php:573
+msgid "Update public posts"
+msgstr "Atualizar publicações públicas"
-#: ../../mod/profiles.php:447 ../../mod/admin.php:994
-msgid "Address"
-msgstr "Endereço"
+#: ../../mod/connedit.php:575
+msgid "Update now"
+msgstr "Atualizar agora"
-#: ../../mod/profiles.php:537
-msgid "Profile updated."
-msgstr "O perfil foi atualizado."
+#: ../../mod/connedit.php:581
+msgid "Currently blocked"
+msgstr "Atualmente bloqueado"
-#: ../../mod/profiles.php:626
-msgid "Hide your contact/friend list from viewers of this profile?"
-msgstr "Esconder sua lista de contatos/amigos dos visitantes no seu perfil?"
+#: ../../mod/connedit.php:582
+msgid "Currently ignored"
+msgstr "Atualmente ignorado"
-#: ../../mod/profiles.php:666
-msgid "Edit Profile Details"
-msgstr "Editar os detalhes do perfil"
+#: ../../mod/connedit.php:583
+msgid "Currently archived"
+msgstr "Atualmente arquivado"
-#: ../../mod/profiles.php:668
-msgid "View this profile"
-msgstr "Ver este perfil"
+#: ../../mod/connedit.php:584
+msgid "Currently pending"
+msgstr "Atualmente pendente"
-#: ../../mod/profiles.php:670
-msgid "Change Profile Photo"
-msgstr "Mudar a foto do perfil"
+#: ../../mod/connedit.php:585
+msgid "Hide this contact from others"
+msgstr "Esconda este contato dos demais"
-#: ../../mod/profiles.php:671
-msgid "Create a new profile using these settings"
-msgstr "Criar um novo perfil usando estas configurações"
+#: ../../mod/connedit.php:585
+msgid ""
+"Replies/likes to your public posts <strong>may</strong> still be visible"
+msgstr "Respostas/reações às suas publicações públicas <strong>podem</strong> continuar visíveis."
-#: ../../mod/profiles.php:672
-msgid "Clone this profile"
-msgstr "Clonar este perfil"
+#: ../../mod/delegate.php:95
+msgid "No potential page delegates located."
+msgstr "Nenhum potencial delegado para páginas localizado."
-#: ../../mod/profiles.php:673
-msgid "Delete this profile"
-msgstr "Excluir este perfil"
+#: ../../mod/delegate.php:121
+msgid "Delegate Page Management"
+msgstr "Delegar administração de página"
-#: ../../mod/profiles.php:675
-msgid "Import profile from file"
-msgstr "Importar perfil dum arquivo"
+#: ../../mod/delegate.php:123
+msgid ""
+"Delegates are able to manage all aspects of this account/page except for "
+"basic account settings. Please do not delegate your personal account to "
+"anybody that you do not trust completely."
+msgstr "Delegados podem administrar todos os aspectos desta conta/página exceto pelas configurações básicas da conta. Por favor, não delegue sua conta pessoal para alguém que você não confie completamente."
-#: ../../mod/profiles.php:676
-msgid "Export profile to file"
-msgstr "Exportar perfil para arquivo"
+#: ../../mod/lostpass.php:85 ../../boot.php:1558
+msgid "Password Reset"
+msgstr "Reiniciar a senha"
-#: ../../mod/profiles.php:677
-msgid "Profile Name:"
-msgstr "Nome do perfil:"
+#: ../../mod/delegate.php:126
+msgid "Existing Page Delegates"
+msgstr "Atuais delegados da página"
-#: ../../mod/profiles.php:678
-msgid "Your Full Name:"
-msgstr "Seu nome completo:"
+#: ../../mod/delegate.php:128
+msgid "Potential Delegates"
+msgstr "Potenciais delegados"
-#: ../../mod/profiles.php:679
-msgid "Title/Description:"
-msgstr "Título/Descrição:"
+#: ../../mod/delegate.php:130 ../../mod/photos.php:940 ../../mod/tagrm.php:93
+msgid "Remove"
+msgstr "Remover"
-#: ../../mod/profiles.php:680
-msgid "Your Gender:"
-msgstr "Seu gênero:"
+#: ../../mod/delegate.php:131
+msgid "Add"
+msgstr "Adicionar"
-#: ../../mod/profiles.php:681
-msgid "Birthday :"
-msgstr "Data de nascimento :"
+#: ../../mod/delegate.php:132
+msgid "No entries."
+msgstr "Sem entradas."
-#: ../../mod/profiles.php:682
-msgid "Street Address:"
-msgstr "Endereço:"
+#: ../../mod/search.php:13 ../../mod/directory.php:15
+#: ../../mod/dirprofile.php:9 ../../mod/display.php:9 ../../mod/photos.php:443
+#: ../../mod/viewconnections.php:17
+msgid "Public access denied."
+msgstr "Acesso público negado."
-#: ../../mod/profiles.php:683
-msgid "Locality/City:"
-msgstr "Localidade/Cidade:"
+#: ../../mod/directory.php:146 ../../mod/dirprofile.php:95
+msgid "Gender: "
+msgstr "Gênero: "
-#: ../../mod/profiles.php:684
-msgid "Postal/Zip Code:"
-msgstr "CEP:"
+#: ../../mod/directory.php:223
+msgid "Finding:"
+msgstr "Pesquisando:"
-#: ../../mod/profiles.php:685
-msgid "Country:"
-msgstr "País:"
+#: ../../mod/directory.php:228
+msgid "next page"
+msgstr "próxima página"
-#: ../../mod/profiles.php:686
-msgid "Region/State:"
-msgstr "Região/Estado:"
+#: ../../mod/directory.php:228
+msgid "previous page"
+msgstr "página anterior"
-#: ../../mod/profiles.php:687
-msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
-msgstr "Estado civil <span class=\"heart\">&hearts;</span>:"
+#: ../../mod/directory.php:245
+msgid "No entries (some entries may be hidden)."
+msgstr "Nenhuma entrada (algumas entradas podem estar escondidas)."
-#: ../../mod/profiles.php:688
-msgid "Who: (if applicable)"
-msgstr "Quem: (se aplicável)"
+#: ../../mod/dirprofile.php:108
+msgid "Status: "
+msgstr "Status:"
-#: ../../mod/profiles.php:689
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Exemplos: fulano123, Fulano de Tal, fulano@exemplo.com"
+#: ../../mod/dirprofile.php:109
+msgid "Sexual Preference: "
+msgstr "Preferência sexual:"
-#: ../../mod/profiles.php:690
-msgid "Since [date]:"
-msgstr "Desde [data]:"
+#: ../../mod/dirprofile.php:111
+msgid "Homepage: "
+msgstr "Website:"
-#: ../../mod/profiles.php:692
-msgid "Homepage URL:"
-msgstr "Endereço do website:"
+#: ../../mod/dirprofile.php:112
+msgid "Hometown: "
+msgstr "Cidade natal:"
-#: ../../mod/profiles.php:695
-msgid "Religious Views:"
-msgstr "Orientação religiosa:"
+#: ../../mod/dirprofile.php:114
+msgid "About: "
+msgstr "Sobre:"
-#: ../../mod/profiles.php:696
-msgid "Keywords:"
+#: ../../mod/dirprofile.php:162
+msgid "Keywords: "
msgstr "Palavras-chave:"
-#: ../../mod/profiles.php:699
-msgid "Example: fishing photography software"
-msgstr "Exemplo: pesca fotografia software"
-
-#: ../../mod/profiles.php:700
-msgid "Used in directory listings"
-msgstr "Usado em listas de diretório"
-
-#: ../../mod/profiles.php:701
-msgid "Tell us about yourself..."
-msgstr "Fale um pouco sobre você..."
-
-#: ../../mod/profiles.php:702
-msgid "Hobbies/Interests"
-msgstr "Hobbies/Interesses"
-
-#: ../../mod/profiles.php:703
-msgid "Contact information and Social Networks"
-msgstr "Informações de contato e redes sociais"
-
-#: ../../mod/profiles.php:704
-msgid "My other channels"
-msgstr "Meus outros canais"
-
-#: ../../mod/profiles.php:705
-msgid "Musical interests"
-msgstr "Interesses musicais"
-
-#: ../../mod/profiles.php:706
-msgid "Books, literature"
-msgstr "Livros, literatura"
-
-#: ../../mod/profiles.php:707
-msgid "Television"
-msgstr "Televisão"
-
-#: ../../mod/profiles.php:708
-msgid "Film/dance/culture/entertainment"
-msgstr "Filme/dança/cultura/entretenimento"
-
-#: ../../mod/profiles.php:709
-msgid "Love/romance"
-msgstr "Amor/romance"
-
-#: ../../mod/profiles.php:710
-msgid "Work/employment"
-msgstr "Trabalho/emprego"
-
-#: ../../mod/profiles.php:711
-msgid "School/education"
-msgstr "Escola/educação"
-
-#: ../../mod/profiles.php:717
-msgid "This is your default profile."
-msgstr "Este é seu perfil padrão."
-
-#: ../../mod/profiles.php:728
-msgid "Age: "
-msgstr "Idade: "
-
-#: ../../mod/profiles.php:771
-msgid "Edit/Manage Profiles"
-msgstr "Editar/Administrar perfis"
-
-#: ../../mod/profiles.php:772
-msgid "Add profile things"
-msgstr "Adicionar coisas ao perfil"
-
-#: ../../mod/profiles.php:773
-msgid "Include desirable objects in your profile"
-msgstr "Inclua objetos desejáveis no seu perfil"
-
-#: ../../mod/ratings.php:69
-msgid "No ratings"
-msgstr "Sem avaliações"
-
-#: ../../mod/ratings.php:99
-msgid "Ratings"
-msgstr "Avaliações"
-
-#: ../../mod/ratings.php:100
-msgid "Rating: "
-msgstr "Avaliações"
-
-#: ../../mod/ratings.php:101
-msgid "Website: "
-msgstr "Website:"
-
-#: ../../mod/ratings.php:103
-msgid "Description: "
-msgstr "Descrição:"
-
-#: ../../mod/viewsrc.php:38
-msgid "Source of Item"
-msgstr "Fonte do Item"
+#: ../../mod/dirsearch.php:21
+msgid "This site is not a directory server"
+msgstr "Este site não é um servidor de diretório"
-#: ../../mod/setup.php:187
-msgid "$Projectname Server - Setup"
-msgstr "Servidor $Projectname - Configuração"
+#: ../../mod/setup.php:162
+msgid "Hubzilla Server - Setup"
+msgstr "Servidor Hubzilla - Configuração"
-#: ../../mod/setup.php:191
+#: ../../mod/setup.php:168
msgid "Could not connect to database."
msgstr "Não foi possível conectar ao banco de dados."
-#: ../../mod/setup.php:195
+#: ../../mod/setup.php:172
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "Não foi possível conectar à URL especificada para o site. Provavlmente um problema de DNS ou com o certificado SSL."
-#: ../../mod/setup.php:202
+#: ../../mod/setup.php:179
msgid "Could not create table."
msgstr "Não foi possível criar a tabela."
-#: ../../mod/setup.php:207
+#: ../../mod/setup.php:185
msgid "Your site database has been installed."
msgstr "O banco de dados do seu site foi instalado."
-#: ../../mod/setup.php:211
+#: ../../mod/setup.php:190
msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "Você pode precisar importar o arquivo \"install/schema_xxx.sql\" manualmente usando um cliente do banco de dados."
+"You may need to import the file \"install/database.sql\" manually using "
+"phpmyadmin or mysql."
+msgstr "Pode ser que você precise importar o arquivo \"install/database.sql\" manualmente, usando o phpmyadmin or mysql."
-#: ../../mod/setup.php:212 ../../mod/setup.php:280 ../../mod/setup.php:730
+#: ../../mod/setup.php:191 ../../mod/setup.php:260 ../../mod/setup.php:655
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Por favor, veja o arquivo \"install/INSTALL.txt\"."
-#: ../../mod/setup.php:277
+#: ../../mod/setup.php:257
msgid "System check"
msgstr "Checagem do sistema"
-#: ../../mod/setup.php:282
+#: ../../mod/invite.php:132
+msgid "Please join my community on \$Projectname."
+msgstr "Por favor junte-se à minha comunidade na \$Projectname."
+
+#: ../../mod/setup.php:262
msgid "Check again"
msgstr "Cheque novamente"
-#: ../../mod/setup.php:304
-msgid "Database connection"
-msgstr "Conexão ao banco de dados"
-
-#: ../../mod/setup.php:305
+#: ../../mod/invite.php:135
msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "Para instalar a $Projectname é necessário saber como se conectar ao seu banco de dados."
+"1. Register at any \$Projectname location (they are all inter-connected)"
+msgstr "1. Registre-se em qualquer site da \$Projectname (eles são todos interconectados)"
+
+#: ../../mod/invite.php:137
+msgid "2. Enter my \$Projectname network address into the site searchbar."
+msgstr "2. Entre com meu endereço da \$Projectname na barra de busca do site."
+
-#: ../../mod/setup.php:306
+#: ../../mod/setup.php:286
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Por favor, entre em contato com a sua hospedagem ou com o administrador do site caso você tenha alguma dúvida em relação a isso."
-#: ../../mod/setup.php:307
+#: ../../mod/setup.php:287
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "O banco de dados que você especificar abaixo já deve existir. Caso contrário, crie-o antes de prosseguir."
-#: ../../mod/setup.php:311
+#: ../../mod/setup.php:291
msgid "Database Server Name"
msgstr "Nome do servidor de banco de dados"
-#: ../../mod/setup.php:311
+#: ../../mod/setup.php:291
msgid "Default is localhost"
msgstr "O default é localhost"
-#: ../../mod/setup.php:312
+#: ../../mod/setup.php:292
msgid "Database Port"
msgstr "Porta do banco de dados"
-#: ../../mod/setup.php:312
+#: ../../mod/setup.php:292
msgid "Communication port number - use 0 for default"
msgstr "Número da porta de comunicação - use 0 para o default"
-#: ../../mod/setup.php:313
+#: ../../mod/setup.php:293
msgid "Database Login Name"
msgstr "Nome do usuário do banco de dados"
-#: ../../mod/setup.php:314
+#: ../../mod/setup.php:294
msgid "Database Login Password"
msgstr "Senha do usuário do banco de dados"
-#: ../../mod/setup.php:315
+#: ../../mod/setup.php:295
msgid "Database Name"
msgstr "Nome do banco de dados"
-#: ../../mod/setup.php:316
-msgid "Database Type"
-msgstr "Tipo do banco de dados"
-
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
+#: ../../mod/setup.php:297 ../../mod/setup.php:339
msgid "Site administrator email address"
msgstr "Endereço de email do administrador do site"
-#: ../../mod/setup.php:318 ../../mod/setup.php:359
+#: ../../mod/setup.php:297 ../../mod/setup.php:339
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "O endereço de email da sua conta deve ser igual a este para que você possa utilizar o painel de administração web."
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
+#: ../../mod/setup.php:298 ../../mod/setup.php:341
msgid "Website URL"
msgstr "URL do website"
-#: ../../mod/setup.php:319 ../../mod/setup.php:361
+#: ../../mod/setup.php:298 ../../mod/setup.php:341
msgid "Please use SSL (https) URL if available."
msgstr "Por favor, use uma URL SSL (https) se disponível."
-#: ../../mod/setup.php:321 ../../mod/setup.php:363
+#: ../../mod/setup.php:301 ../../mod/setup.php:344
msgid "Please select a default timezone for your website"
msgstr "Por favor, selecione o fuso horário padrão para o seu site"
-#: ../../mod/setup.php:348
+#: ../../mod/setup.php:328
msgid "Site settings"
msgstr "Configurações do site"
-#: ../../mod/setup.php:413
+#: ../../mod/setup.php:387
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Não foi possível encontrar uma versão de linha de comando do PHP nos caminhos do seu servidor web."
-#: ../../mod/setup.php:414
+#: ../../mod/setup.php:388
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron."
msgstr "Caso você não tenha uma versão de linha de comando do PHP instalada no seu servidor, você não será capaz de executar coletas em segundo plano pelo cron."
-#: ../../mod/setup.php:418
+#: ../../mod/setup.php:392
msgid "PHP executable path"
msgstr "Caminho para o executável do PHP"
-#: ../../mod/setup.php:418
+#: ../../mod/setup.php:392
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Digite o caminho completo do executável PHP. Você pode deixar isso em branco para continuar com a instalação."
-#: ../../mod/setup.php:423
+#: ../../mod/setup.php:397
msgid "Command line PHP"
msgstr "PHP em linha de comando"
-#: ../../mod/setup.php:432
+#: ../../mod/setup.php:406
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "\"register_argc_argv\" não está habilitado na versão de linha de comando do PHP no seu sistema."
-#: ../../mod/setup.php:433
+#: ../../mod/setup.php:407
msgid "This is required for message delivery to work."
msgstr "Isto é necessário para o funcionamento do envio de mensagens."
-#: ../../mod/setup.php:436
+#: ../../mod/setup.php:409
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../mod/setup.php:454
-#, php-format
-msgid ""
-"Your max allowed total upload size is set to %s. Maximum size of one file to"
-" upload is set to %s. You are allowed to upload up to %d files at once."
-msgstr "Seu volume de carregamento total está definido para %s. Tamanho máximo de um arquivo carregado para %s. Você pode carregar até %d arquivos ao mesmo tempo."
-
-#: ../../mod/setup.php:459
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "Você pode ajustar essas configurações no php.ini do servidor."
-
-#: ../../mod/setup.php:461
-msgid "PHP upload limits"
-msgstr "Limites de carregamento do PHP"
-
-#: ../../mod/setup.php:484
+#: ../../mod/setup.php:430
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Erro: a função \"openssl_pkey_new\" no seu sistema não é capaz de gerar as chaves de criptografia"
-#: ../../mod/setup.php:485
+#: ../../mod/setup.php:431
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Se estiver usando o Windows, por favor dê uma olhada em \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../mod/setup.php:488
+#: ../../mod/setup.php:433
msgid "Generate encryption keys"
msgstr "Gerar chaves de criptografia"
-#: ../../mod/setup.php:500
+#: ../../mod/setup.php:440
msgid "libCurl PHP module"
msgstr "Módulo PHP libCurl"
-#: ../../mod/setup.php:501
+#: ../../mod/setup.php:441
msgid "GD graphics PHP module"
msgstr "Módulo PHP GD graphics"
-#: ../../mod/setup.php:502
+#: ../../mod/setup.php:442
msgid "OpenSSL PHP module"
msgstr "Módulo PHP OpenSSL"
-#: ../../mod/setup.php:503
-msgid "mysqli or postgres PHP module"
-msgstr "módulo 'mysqli' ou 'postgres' do PHP"
+#: ../../mod/setup.php:443
+msgid "mysqli PHP module"
+msgstr "Módulo PHP mysqli"
-#: ../../mod/setup.php:504
+#: ../../mod/setup.php:444
msgid "mb_string PHP module"
msgstr "Módulo PHP mb_string "
-#: ../../mod/setup.php:505
+#: ../../mod/setup.php:445
msgid "mcrypt PHP module"
msgstr "Módulo PHP mcrypt"
-#: ../../mod/setup.php:506
-msgid "xml PHP module"
-msgstr "Módulo PHP xml"
-
-#: ../../mod/setup.php:510 ../../mod/setup.php:512
+#: ../../mod/setup.php:450 ../../mod/setup.php:452
msgid "Apache mod_rewrite module"
msgstr "Módulo mod_rewrite do Apache"
-#: ../../mod/setup.php:510
+#: ../../mod/setup.php:450
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Erro: o módulo mod-rewrite do Apache é necessário, mas não está instalado."
-#: ../../mod/setup.php:516 ../../mod/setup.php:519
+#: ../../mod/setup.php:456 ../../mod/setup.php:459
msgid "proc_open"
msgstr "proc_open"
-#: ../../mod/setup.php:516
+#: ../../mod/setup.php:456
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Erro: proc_open é necessário, mas não está instalado ou foi desabilitado no php.ini"
-#: ../../mod/setup.php:524
+#: ../../mod/setup.php:464
msgid "Error: libCURL PHP module required but not installed."
msgstr "Erro: o módulo libCURL do PHP é necessário, mas não está instalado."
-#: ../../mod/setup.php:528
+#: ../../mod/setup.php:468
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Erro: o módulo gráfico GD, com suporte a JPEG, do PHP é necessário, mas não está instalado."
-#: ../../mod/setup.php:532
+#: ../../mod/setup.php:472
msgid "Error: openssl PHP module required but not installed."
msgstr "Erro: o módulo openssl do PHP é necessário, mas não está instalado."
-#: ../../mod/setup.php:536
-msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Erro: módulo 'mysqli' ou 'postgres' do PHP é necessário mas nenhum deles está instalado."
+#: ../../mod/setup.php:476
+msgid "Error: mysqli PHP module required but not installed."
+msgstr "Erro: o módulo mysqli do PHP é necessário, mas não está instalado."
-#: ../../mod/setup.php:540
+#: ../../mod/setup.php:480
msgid "Error: mb_string PHP module required but not installed."
msgstr "Erro: o módulo mb_string do PHP é necessário, mas não está instalado."
-#: ../../mod/setup.php:544
+#: ../../mod/setup.php:484
msgid "Error: mcrypt PHP module required but not installed."
msgstr "Erro: o módulo mcrypt do PHP é necessário, mas não está instalado."
-#: ../../mod/setup.php:548
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Erro: o módulo xml do PHP é necessário para DAV, mas não está instalado."
-
-#: ../../mod/setup.php:566
+#: ../../mod/setup.php:500
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\""
" in the top folder of your web server and it is unable to do so."
msgstr "O instalador web precisa criar um arquivo chamado \".htconfig.php\" na pasta raiz da instalação e não está conseguindo."
-#: ../../mod/setup.php:567
+#: ../../mod/setup.php:501
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr "Geralmente isso está relacionado às definições de permissão, uma vez que o servidor web pode não estar conseguindo escrever os arquivos nesta pasta."
-#: ../../mod/setup.php:568
+#: ../../mod/setup.php:502
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr "Ao final desse procedimento, será fornecido um texto que deverá ser salvo em um arquivo de nome .htconfig.php, na pasta raiz do seu Red."
-#: ../../mod/setup.php:569
+#: ../../mod/setup.php:503
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr "Você também pode pular esse procedimento e executar uma instalação manual. Por favor, dê uma olhada no arquivo \"install/INSTALL.TXT\" para instruções."
-#: ../../mod/setup.php:572
+#: ../../mod/setup.php:506
msgid ".htconfig.php is writable"
msgstr ".htconfig.php tem permissão de escrita"
-#: ../../mod/setup.php:586
+#: ../../mod/setup.php:516
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "Red usa o engine de template Smarty3 para renderizar suas telas. Smarty3 compila templates para PHP para acelerar a renderização."
-#: ../../mod/setup.php:587
+#: ../../mod/setup.php:517
#, php-format
msgid ""
"In order to store these compiled templates, the web server needs to have "
"write access to the directory %s under the Red top level folder."
msgstr "Para guardar os templates compilados, o servidor web necessita de permissão de escrita no diretório %s no diretório raiz da Red."
-#: ../../mod/setup.php:588 ../../mod/setup.php:609
+#: ../../mod/setup.php:518 ../../mod/setup.php:536
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Por favor, certifique-se de que o usuário sob o qual o servidor web roda (ex: www-data) tenha permissão de escrita nesse diretório."
-#: ../../mod/setup.php:589
+#: ../../mod/setup.php:519
#, php-format
msgid ""
"Note: as a security measure, you should give the web server write access to "
"%s only--not the template files (.tpl) that it contains."
msgstr "Nota: como uma medida de segurança, você deve fornecer ao servidor web permissão de escrita somente em %s e não aos arquivos de template (.tpl) que ele contém."
-#: ../../mod/setup.php:592
+#: ../../mod/setup.php:522
#, php-format
msgid "%s is writable"
msgstr "%s tem permissão de escrita"
-#: ../../mod/setup.php:608
+#: ../../mod/setup.php:535
msgid ""
"Red uses the store directory to save uploaded files. The web server needs to"
" have write access to the store directory under the Red top level folder"
msgstr "A Red usa o diretório store para salvar arquivos carregados. O servidor web necessita de permissão de escrita no diretório store dentro do diretório raiz da Red"
-#: ../../mod/setup.php:612
+#: ../../mod/setup.php:539
msgid "store is writable"
msgstr "store tem permissão de escrita"
-#: ../../mod/setup.php:645
+#: ../../mod/setup.php:569
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "Não foi possível validar o certificado SSL. Corrija o certificado ou desabilite o acesso via https ao site."
-#: ../../mod/setup.php:646
+#: ../../mod/setup.php:570
msgid ""
"If you have https access to your website or allow connections to TCP port "
"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
"NOT use self-signed certificates!"
msgstr "Se você oferece acesso https ao seu website ou permite conexões na porta TCP 443 (a porta https:), você DEVE usar um certificado reconhecido pelos navegadores. Você NÃO DEVE usar certificados assinados por você mesmo!"
-#: ../../mod/setup.php:647
+#: ../../mod/setup.php:571
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr "Essa restrição é incorporada porque publicações públicas suas podem, por exemplo, conter referências a imagens no seu próprio hub."
-#: ../../mod/setup.php:648
+#: ../../mod/setup.php:572
msgid ""
"If your certificate is not recognized, members of other sites (who may "
"themselves have valid certificates) will get a warning message on their own "
"site complaining about security issues."
msgstr "Se seu certificado não for reconhecido, membros de outros sites (que podem ter certificados válidos) receberão uma mensagem de aviso nos seus próprios sites reclamando de problemas de segurança."
-#: ../../mod/setup.php:649
+#: ../../mod/setup.php:573
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr "Isso pode causar problemas de usabilidade (não só no seu site) então nós precisamos insistir nesse requisito."
-#: ../../mod/setup.php:650
+#: ../../mod/setup.php:574
msgid ""
"Providers are available that issue free certificates which are browser-"
"valid."
msgstr "Existem provedores que disponibilizam gratuitamente certificados reconhecidos por navegadores."
-#: ../../mod/setup.php:652
+#: ../../mod/setup.php:576
msgid "SSL certificate validation"
msgstr "Validação do certificado SSL"
-#: ../../mod/setup.php:658
+#: ../../mod/setup.php:582
msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "A reescrita de URLs não está funcionando no .htaccess. Verifique as configurações do servidor. Teste:"
+"Url rewrite in .htaccess is not working. Check your server configuration."
+msgstr "A reescrita de URLs não está funcionando no .htaccess. Verifique as configurações do servidor."
-#: ../../mod/setup.php:661
+#: ../../mod/setup.php:584
msgid "Url rewrite is working"
msgstr "A reescrita de URLs está funcionando"
-#: ../../mod/setup.php:670
+#: ../../mod/setup.php:594
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr "Não foi possível gravar o arquivo de configuração \".htconfig.php\". Por favor, use o texto incluso para criar um arquivo de configuração na raiz da instalação do Friendika em seu servidor web."
-#: ../../mod/setup.php:694
+#: ../../mod/setup.php:618
msgid "Errors encountered creating database tables."
msgstr "Foram encontrados erros durante a criação das tabelas do banco de dados."
-#: ../../mod/setup.php:728
+#: ../../mod/setup.php:653
msgid "<h1>What next</h1>"
msgstr "<h1>Próximos passos</h1>"
-#: ../../mod/setup.php:729
+#: ../../mod/setup.php:654
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
msgstr "IMPORTANTE: Você deve configurar [manualmente] uma tarefa agendada para o coletor."
-#: ../../mod/openid.php:26
-msgid "OpenID protocol error. No ID returned."
-msgstr "Erro do protocolo OpenID. Nenhuma ID retornada."
+#: ../../mod/editblock.php:8 ../../mod/editblock.php:27
+#: ../../mod/editblock.php:53 ../../mod/editlayout.php:36
+#: ../../mod/editpost.php:20 ../../mod/editwebpage.php:32
+msgid "Item not found"
+msgstr "O item não foi encontrado"
+
+#: ../../mod/editblock.php:77
+msgid "Edit Block"
+msgstr "Editar bloco"
+
+#: ../../mod/editblock.php:87
+msgid "Delete block?"
+msgstr "Deletar bloco?"
+
+#: ../../mod/editblock.php:115 ../../mod/editlayout.php:110
+#: ../../mod/editpost.php:116 ../../mod/editwebpage.php:147
+msgid "Insert YouTube video"
+msgstr "Inserir vídeo do YouTube"
+
+#: ../../mod/editblock.php:116 ../../mod/editlayout.php:111
+#: ../../mod/editpost.php:117 ../../mod/editwebpage.php:148
+msgid "Insert Vorbis [.ogg] video"
+msgstr "Inserir vídeo Vorbis (.ogg)"
+
+#: ../../mod/editblock.php:117 ../../mod/editlayout.php:112
+#: ../../mod/editpost.php:118 ../../mod/editwebpage.php:149
+msgid "Insert Vorbis [.ogg] audio"
+msgstr "Inserir áudio Vorbis (.ogg)"
+
+#: ../../mod/editblock.php:153
+msgid "Delete Block"
+msgstr "Deletar bloco"
+
+#: ../../mod/pdledit.php:13
+msgid "Layout updated."
+msgstr "Layout atualizado."
+
+#: ../../mod/pdledit.php:28 ../../mod/pdledit.php:53
+msgid "Edit System Page Description"
+msgstr "Editar descrição de página do sistema"
+
+#: ../../mod/pdledit.php:48
+msgid "Layout not found."
+msgstr "Layout não encontrado."
+
+#: ../../mod/pdledit.php:54
+msgid "Module Name:"
+msgstr "Nome do módulo:"
+
+#: ../../mod/pdledit.php:55 ../../mod/layouts.php:59
+msgid "Layout Help"
+msgstr "Ajuda de layout"
+
+#: ../../mod/editlayout.php:72
+msgid "Edit Layout"
+msgstr "Editar layout"
-#: ../../mod/openid.php:72 ../../mod/openid.php:180 ../../mod/post.php:286
+#: ../../mod/impel.php:121
#, php-format
-msgid "Welcome %s. Remote authentication successful."
-msgstr "Bem vindo %s. Autenticação remota realizada com sucesso."
+msgid "%s element installed"
+msgstr "Elemento %s instalado"
-#: ../../mod/tagger.php:96
+#: ../../mod/impel.php:124
#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s marcou %3$s de %2$s com %4$s"
+msgid "%s element installation failed"
+msgstr "Instalação de elemento %s falhou"
-#: ../../mod/uexport.php:41 ../../mod/uexport.php:42
-msgid "Export Channel"
-msgstr "Exportar o canal"
+#: ../../mod/editwebpage.php:106
+msgid "Edit Webpage"
+msgstr "Editar página web"
+
+#: ../../mod/editwebpage.php:116
+msgid "Delete webpage?"
+msgstr "Deletar página web?"
+
+#: ../../mod/editwebpage.php:186
+msgid "Delete Webpage"
+msgstr "Deletar página web"
+
+#: ../../mod/photos.php:77
+msgid "Page owner information could not be retrieved."
+msgstr "As informações do dono da pagina não puderam ser obtidas."
+
+#: ../../mod/photos.php:97
+msgid "Album not found."
+msgstr "O álbum não foi encontrado."
-#: ../../mod/uexport.php:43
+#: ../../mod/photos.php:119 ../../mod/photos.php:676
+msgid "Delete Album"
+msgstr "Excluir o álbum"
+
+#: ../../mod/photos.php:159 ../../mod/photos.php:991
+msgid "Delete Photo"
+msgstr "Excluir a foto"
+
+#: ../../mod/photos.php:453
+msgid "No photos selected"
+msgstr "Não foi selecionada nenhuma foto"
+
+#: ../../mod/photos.php:500
+msgid "Access to this item is restricted."
+msgstr "O acesso a este item está restrito."
+
+#: ../../mod/photos.php:574
+#, php-format
+msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
+msgstr "Você usou %1$.2f Mbytes de %2$.2f Mbytes de armazenamento de fotos."
+
+#: ../../mod/photos.php:577
+#, php-format
+msgid "You have used %1$.2f Mbytes of photo storage."
+msgstr "Você usou %1$.2f Mbytes de armazenamento de fotos."
+
+#: ../../mod/photos.php:596
+msgid "Upload Photos"
+msgstr "Enviar fotos"
+
+#: ../../mod/photos.php:600 ../../mod/photos.php:671
+msgid "New album name: "
+msgstr "Novo nome de álbum: "
+
+#: ../../mod/photos.php:601
+msgid "or existing album name: "
+msgstr "ou nome de um álbum já existente: "
+
+#: ../../mod/photos.php:602
+msgid "Do not show a status post for this upload"
+msgstr "Não exibir uma publicação de status para este carregamento"
+
+#: ../../mod/photos.php:622
+msgid "Album name could not be decoded"
+msgstr "Não foi possível decodificar o nome do álbum"
+
+#: ../../mod/photos.php:660 ../../mod/photos.php:682 ../../mod/photos.php:1163
+#: ../../mod/photos.php:1178
+msgid "Contact Photos"
+msgstr "Fotos dos contatos"
+
+#: ../../mod/photos.php:684
+msgid "Edit Album"
+msgstr "Editar o álbum"
+
+#: ../../mod/photos.php:690
+msgid "Show Newest First"
+msgstr "Exibir primeiro os mais recentes"
+
+#: ../../mod/photos.php:692
+msgid "Show Oldest First"
+msgstr "Exibir primeiro os mais antigos"
+
+#: ../../mod/photos.php:745 ../../mod/photos.php:1210
+msgid "View Photo"
+msgstr "Ver a foto"
+
+#: ../../mod/photos.php:810
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Permissão negada. Acesso a este item pode estar restrito."
+
+#: ../../mod/photos.php:812
+msgid "Photo not available"
+msgstr "A foto não está disponível"
+
+#: ../../mod/photos.php:872
+msgid "Use as profile photo"
+msgstr "Usar como uma foto de perfil"
+
+#: ../../mod/photos.php:896
+msgid "View Full Size"
+msgstr "Ver no tamanho real"
+
+#: ../../mod/photos.php:974
+msgid "Edit photo"
+msgstr "Editar a foto"
+
+#: ../../mod/photos.php:976
+msgid "Rotate CW (right)"
+msgstr "Rotacionar H (horário)"
+
+#: ../../mod/photos.php:977
+msgid "Rotate CCW (left)"
+msgstr "Rotacionar AH (anti-horário)"
+
+#: ../../mod/photos.php:980
+msgid "New album name"
+msgstr "Novo nome para o álbum"
+
+#: ../../mod/photos.php:983
+msgid "Caption"
+msgstr "Legenda"
+
+#: ../../mod/photos.php:985
+msgid "Add a Tag"
+msgstr "Adicionar uma etiqueta"
+
+#: ../../mod/photos.php:988
msgid ""
-"Export your basic channel information to a small file. This acts as a "
-"backup of your connections, permissions, profile and basic data, which can "
-"be used to import your data to a new hub, but\tdoes not contain your "
-"content."
-msgstr "Exportar suas informações básicas do canal para um arquivo pequeno. Isso funciona como um backup das suas ligações, permissões, perfis e dados básicos, que podem ser usados para importar os dados para um novo hub, não mas não contém seu conteúdo."
+"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
+msgstr "Por exemplo: @joao, @Joao_da_Silva, @joao@exemplo.com, #Minas_Gerais, #acampamento"
-#: ../../mod/uexport.php:44
-msgid "Export Content"
-msgstr "Exportar conteúdo"
+#: ../../mod/photos.php:1141
+msgid "In This Photo:"
+msgstr "Nesta foto:"
+
+#: ../../mod/photos.php:1216
+msgid "View Album"
+msgstr "Ver álbum"
+
+#: ../../mod/photos.php:1239
+msgid "Recent Photos"
+msgstr "Fotos recentes"
+
+#: ../../mod/profile_photo.php:108
+msgid "Image uploaded but image cropping failed."
+msgstr "A imagem foi enviada, mas não foi possível cortá-la."
-#: ../../mod/uexport.php:45
+#: ../../mod/profile_photo.php:161
+msgid "Image resize failed."
+msgstr "Falha ao modificar o tamanho da imagem."
+
+#: ../../mod/profile_photo.php:205
msgid ""
-"Export your channel information and all the content to a JSON backup. This "
-"backs up all of your connections, permissions, profile data and all of your "
-"content, but is generally not suitable for importing a channel to a new hub "
-"as this file may be VERY large. Please be patient - it may take several "
-"minutes for this download to begin."
-msgstr "Exportar as informações do seu canal e todo conteúdo para um backup JSON. Este backup irá conter todas suas conexões, permissões, dados de perfil e todo seu conteúdo, mas geralmente não é adequado para importar um canal para um novo hub, pois esse arquivo pode ser MUITO grande. Por favor seja paciente - pode demorar muitos minutos para este download começar."
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Se a nova foto não aparecer imediatamente, recarregue a página segurando a tecla \"shift\" ou limpe o cache do navegador, "
-#: ../../mod/viewconnections.php:62
-msgid "No connections."
-msgstr "Nenhuma conexão."
+#: ../../mod/profile_photo.php:232
+#, php-format
+msgid "Image exceeds size limit of %d"
+msgstr "A imagem excede o limite de tamanho de %d"
+
+#: ../../mod/profile_photo.php:241
+msgid "Unable to process image."
+msgstr "Não foi possível processar a imagem."
+
+#: ../../mod/profile_photo.php:290 ../../mod/profile_photo.php:339
+msgid "Photo not available."
+msgstr "A foto não está disponível."
-#: ../../mod/viewconnections.php:75
+#: ../../mod/profile_photo.php:358
+msgid "Upload File:"
+msgstr "Enviar arquivo:"
+
+#: ../../mod/profile_photo.php:359
+msgid "Select a profile:"
+msgstr "Selecione um perfil:"
+
+#: ../../mod/profile_photo.php:360
+msgid "Upload Profile Photo"
+msgstr "Enviar foto do perfil"
+
+#: ../../mod/profile_photo.php:365
+msgid "skip this step"
+msgstr "pule esta etapa"
+
+#: ../../mod/profile_photo.php:365
+msgid "select a photo from your photo albums"
+msgstr "selecione uma foto do seu álbum de fotos"
+
+#: ../../mod/profile_photo.php:381
+msgid "Crop Image"
+msgstr "Cortar a imagem"
+
+#: ../../mod/profile_photo.php:382
+msgid "Please adjust the image cropping for optimum viewing."
+msgstr "Por favor, ajuste o corte da imagem para a melhor visualização."
+
+#: ../../mod/profile_photo.php:384
+msgid "Done Editing"
+msgstr "Encerrar a edição"
+
+#: ../../mod/profile_photo.php:427
+msgid "Image uploaded successfully."
+msgstr "A imagem foi enviada com sucesso."
+
+#: ../../mod/profile_photo.php:429
+msgid "Image upload failed."
+msgstr "Não foi possível enviar a imagem."
+
+#: ../../mod/profile_photo.php:438
#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Ver o perfil de %s [%s]"
+msgid "Image size reduction [%s] failed."
+msgstr "Não foi possível reduzir o tamanho da imagem [%s]."
-#: ../../mod/zfinger.php:23
-msgid "invalid target signature"
-msgstr "assinatura do destino inválida"
+#: ../../mod/sources.php:32
+msgid "Failed to create source. No channel selected."
+msgstr "Falha ao criar a fonte. Nenhum canal selecionado."
+
+#: ../../mod/sources.php:45
+msgid "Source created."
+msgstr "A fonte foi criada."
+
+#: ../../mod/sources.php:57
+msgid "Source updated."
+msgstr "A fonte foi atualizada."
+
+#: ../../mod/sources.php:82
+msgid "*"
+msgstr "*"
+
+#: ../../mod/sources.php:89
+msgid "Manage remote sources of content for your channel."
+msgstr "Administrar as fontes remotas de conteúdo para o seu canal."
+
+#: ../../mod/sources.php:90 ../../mod/sources.php:100
+msgid "New Source"
+msgstr "Nova fonte"
+
+#: ../../mod/sources.php:101 ../../mod/sources.php:133
+msgid ""
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importar todo ou uma seleção do conteúdo do seguinte canal para este canal, e distribuí-lo de acordo com as configurações do seu canal."
+
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Only import content with these words (one per line)"
+msgstr "Importar apenas conteúd com estas palavras (uma por linha)"
+
+#: ../../mod/sources.php:102 ../../mod/sources.php:134
+msgid "Leave blank to import all public content"
+msgstr "Deixe em branco para importar todo o conteúdo público"
+
+#: ../../mod/sources.php:103 ../../mod/sources.php:137
+#: ../../mod/new_channel.php:112
+msgid "Channel Name"
+msgstr "Nome do canal"
+
+#: ../../mod/sources.php:123 ../../mod/sources.php:150
+msgid "Source not found."
+msgstr "A fonte não foi encontrada."
+
+#: ../../mod/sources.php:130
+msgid "Edit Source"
+msgstr "Editar fonte"
+
+#: ../../mod/sources.php:131
+msgid "Delete Source"
+msgstr "Deletar fonte"
+
+#: ../../mod/sources.php:158
+msgid "Source removed"
+msgstr "A fonte foi removida."
+
+#: ../../mod/sources.php:160
+msgid "Unable to remove source."
+msgstr "Não foi possível remover a fonte."
+
+#: ../../mod/filer.php:49
+msgid "- select -"
+msgstr "- selecionar -"
+
+#: ../../mod/events.php:91
+msgid "Event title and start time are required."
+msgstr "O título do evento e a hora de início são obrigatórios."
+
+#: ../../mod/events.php:105
+msgid "Event not found."
+msgstr "Evento não encontrado."
+
+#: ../../mod/events.php:369
+msgid "l, F j"
+msgstr "l, F j"
+
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "Erro do protocolo OpenID. Nenhuma ID retornada."
+
+#: ../../mod/fsuggest.php:99
+#, php-format
+msgid "Suggest a friend for %s"
+msgstr "Sugerir um amigo para %s"
+
+#: ../../mod/suggest.php:35
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Nenhuma sugestão disponível. Se este site é novo, por favor tente novamente em 24 horas."
+
+#: ../../mod/group.php:20
+msgid "Collection created."
+msgstr "A coleção foi criada."
+
+#: ../../mod/group.php:26
+msgid "Could not create collection."
+msgstr "Não foi possível criar a coleção."
+
+#: ../../mod/group.php:54
+msgid "Collection updated."
+msgstr "Coleção atualizada"
+
+#: ../../mod/group.php:86
+msgid "Create a collection of channels."
+msgstr "Criar uma coleção de canais."
+
+#: ../../mod/group.php:87 ../../mod/group.php:183
+msgid "Collection Name: "
+msgstr "Nome da coleção:"
+
+#: ../../mod/group.php:89 ../../mod/group.php:186
+msgid "Members are visible to other channels"
+msgstr "Membros são visíveis para outros canais"
+
+#: ../../mod/group.php:107
+msgid "Collection removed."
+msgstr "Coleção removida."
+
+#: ../../mod/group.php:109
+msgid "Unable to remove collection."
+msgstr "Não foi possível remover a coleção."
+
+#: ../../mod/group.php:182
+msgid "Collection Editor"
+msgstr "Editor de coleção"
+
+#: ../../mod/group.php:196
+msgid "Members"
+msgstr "Membros"
+
+#: ../../mod/group.php:198
+msgid "All Connected Channels"
+msgstr "Todas os canais conectados"
+
+#: ../../mod/group.php:233
+msgid "Click on a channel to add or remove."
+msgstr "Clique em um canal para adicionar ou remover."
+
+#: ../../mod/tagger.php:98
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s marcou %3$s de %2$s com %4$s"
+
+#: ../../mod/help.php:43 ../../mod/help.php:49 ../../mod/help.php:55
+msgid "Help:"
+msgstr "Ajuda:"
+
+#: ../../mod/help.php:69 ../../index.php:237
+msgid "Not Found"
+msgstr "Não encontrada"
+
+#: ../../mod/tagrm.php:41
+msgid "Tag removed"
+msgstr "A etiqueta foi removida"
+
+#: ../../mod/tagrm.php:79
+msgid "Remove Item Tag"
+msgstr "Remover a etiqueta de item"
+
+#: ../../mod/tagrm.php:81
+msgid "Select a tag to remove: "
+msgstr "Selecione uma etiqueta para remover: "
#: ../../mod/admin.php:52
msgid "Theme settings updated."
msgstr "As configurações de tema foram atualizadas."
-#: ../../mod/admin.php:93 ../../mod/admin.php:452
+#: ../../mod/admin.php:97 ../../mod/admin.php:413
msgid "Site"
msgstr "Site"
-#: ../../mod/admin.php:94
+#: ../../mod/admin.php:98
msgid "Accounts"
msgstr "Contas"
-#: ../../mod/admin.php:95 ../../mod/admin.php:985
+#: ../../mod/admin.php:99 ../../mod/admin.php:860
msgid "Channels"
msgstr "Canais"
-#: ../../mod/admin.php:96 ../../mod/admin.php:1077 ../../mod/admin.php:1117
+#: ../../mod/admin.php:100 ../../mod/admin.php:951 ../../mod/admin.php:993
msgid "Plugins"
msgstr "Plugins"
-#: ../../mod/admin.php:97 ../../mod/admin.php:1277 ../../mod/admin.php:1311
+#: ../../mod/admin.php:101 ../../mod/admin.php:1156 ../../mod/admin.php:1192
msgid "Themes"
msgstr "Temas"
-#: ../../mod/admin.php:98
-msgid "Inspect queue"
-msgstr "Inspecione fila"
+#: ../../mod/admin.php:102 ../../mod/admin.php:515
+msgid "Server"
+msgstr "Servidor"
-#: ../../mod/admin.php:100
+#: ../../mod/admin.php:103
msgid "Profile Config"
msgstr "Configuração de perfis"
-#: ../../mod/admin.php:101
+#: ../../mod/admin.php:104
msgid "DB updates"
msgstr "Atualizações do Banco de Dados"
-#: ../../mod/admin.php:115 ../../mod/admin.php:122 ../../mod/admin.php:1396
+#: ../../mod/admin.php:118 ../../mod/admin.php:125 ../../mod/admin.php:1279
msgid "Logs"
msgstr "Logs"
-#: ../../mod/admin.php:121
+#: ../../mod/admin.php:124
msgid "Plugin Features"
msgstr "Recursos dos plugins"
-#: ../../mod/admin.php:123
+#: ../../mod/admin.php:126
msgid "User registrations waiting for confirmation"
msgstr "Registros de usuário aguardando confirmação"
-#: ../../mod/admin.php:200
-msgid "# Accounts"
-msgstr "# Contas"
-
-#: ../../mod/admin.php:201
-msgid "# blocked accounts"
-msgstr "# Contas bloqueadas"
-
-#: ../../mod/admin.php:202
-msgid "# expired accounts"
-msgstr "# Contas expiradas"
-
-#: ../../mod/admin.php:203
-msgid "# expiring accounts"
-msgstr "#contas expirando"
-
-#: ../../mod/admin.php:216
-msgid "# Channels"
-msgstr "# Canais"
-
-#: ../../mod/admin.php:217
-msgid "# primary"
-msgstr "# Primário"
-
-#: ../../mod/admin.php:218
-msgid "# clones"
-msgstr "# clones"
-
-#: ../../mod/admin.php:224
+#: ../../mod/admin.php:206
msgid "Message queues"
msgstr "Filas de mensagem"
-#: ../../mod/admin.php:240 ../../mod/admin.php:451 ../../mod/admin.php:548
-#: ../../mod/admin.php:817 ../../mod/admin.php:984 ../../mod/admin.php:1076
-#: ../../mod/admin.php:1116 ../../mod/admin.php:1276 ../../mod/admin.php:1310
-#: ../../mod/admin.php:1395
+#: ../../mod/admin.php:211 ../../mod/admin.php:412 ../../mod/admin.php:514
+#: ../../mod/admin.php:723 ../../mod/admin.php:859 ../../mod/admin.php:950
+#: ../../mod/admin.php:992 ../../mod/admin.php:1155 ../../mod/admin.php:1191
+#: ../../mod/admin.php:1278
msgid "Administration"
msgstr "Administração"
-#: ../../mod/admin.php:241
+#: ../../mod/admin.php:212
msgid "Summary"
msgstr "Resumo"
-#: ../../mod/admin.php:244
-msgid "Registered accounts"
-msgstr "Contas Registradas"
+#: ../../mod/admin.php:214
+msgid "Registered users"
+msgstr "Usuários registrados"
-#: ../../mod/admin.php:245 ../../mod/admin.php:552
+#: ../../mod/admin.php:216 ../../mod/admin.php:518
msgid "Pending registrations"
msgstr "Registros pendentes"
-#: ../../mod/admin.php:246
-msgid "Registered channels"
-msgstr "Canais Registrados"
+#: ../../mod/admin.php:217
+msgid "Version"
+msgstr "Versão"
-#: ../../mod/admin.php:247 ../../mod/admin.php:553
+#: ../../mod/admin.php:219 ../../mod/admin.php:519
msgid "Active plugins"
msgstr "Plugins ativos"
-#: ../../mod/admin.php:248
-msgid "Version"
-msgstr "Versão"
-
-#: ../../mod/admin.php:363
+#: ../../mod/admin.php:333
msgid "Site settings updated."
msgstr "As configurações de site foram atualizadas."
-#: ../../mod/admin.php:400 ../../mod/settings.php:813
-msgid "mobile"
-msgstr "móvel"
-
-#: ../../mod/admin.php:402
-msgid "experimental"
-msgstr "experimental"
+#: ../../mod/admin.php:364
+msgid "No special theme for accessibility"
+msgstr "Sem tema especial para acessibilidade"
-#: ../../mod/admin.php:404
-msgid "unsupported"
-msgstr "não suportado"
-
-#: ../../mod/admin.php:429
+#: ../../mod/admin.php:393
msgid "Yes - with approval"
msgstr "Sim - pendente aprovação"
-#: ../../mod/admin.php:435
+#: ../../mod/admin.php:399
msgid "My site is not a public server"
msgstr "Meu site não é um servidor público"
-#: ../../mod/admin.php:436
+#: ../../mod/admin.php:400
msgid "My site has paid access only"
msgstr "Meu site oferece somente acesso pago"
-#: ../../mod/admin.php:437
+#: ../../mod/admin.php:401
msgid "My site has free access only"
msgstr "Meu site oferece somente acesso gratuito"
-#: ../../mod/admin.php:438
+#: ../../mod/admin.php:402
msgid "My site offers free accounts with optional paid upgrades"
msgstr "Meu site oferece contas gratuitas com recursos adicionais pagos"
-#: ../../mod/admin.php:454 ../../mod/register.php:207
-msgid "Registration"
-msgstr "Registro"
-
-#: ../../mod/admin.php:455
+#: ../../mod/admin.php:416
msgid "File upload"
msgstr "Carregamento de arquivos"
-#: ../../mod/admin.php:456
+#: ../../mod/admin.php:417
msgid "Policies"
msgstr "Políticas"
-#: ../../mod/admin.php:461
+#: ../../mod/admin.php:422
msgid "Site name"
msgstr "Nome do site"
-#: ../../mod/admin.php:462
+#: ../../mod/admin.php:423
msgid "Banner/Logo"
msgstr "Cartaz/Logo"
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:424
msgid "Administrator Information"
msgstr "Informações do Administrador"
-#: ../../mod/admin.php:463
+#: ../../mod/admin.php:424
msgid ""
"Contact information for site administrators. Displayed on siteinfo page. "
"BBCode can be used here"
msgstr "Informações de contato com administradores do site. Exibida na página siteinfo. BBCode pode ser usado aqui."
-#: ../../mod/admin.php:464
+#: ../../mod/admin.php:425
msgid "System language"
msgstr "Idioma do sistema"
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:426
msgid "System theme"
msgstr "Tema do sistema"
-#: ../../mod/admin.php:465
+#: ../../mod/admin.php:426
msgid ""
"Default system theme - may be over-ridden by user profiles - <a href='#' "
"id='cnftheme'>change theme settings</a>"
msgstr "Tema padrão do sistema - pode ser sobrescrito por perfis de usuário - <a href='#' id='cnftheme'>mudar configurações do tema</a>"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:427
msgid "Mobile system theme"
msgstr "Tema do sistema móvel"
-#: ../../mod/admin.php:466
+#: ../../mod/admin.php:427
msgid "Theme for mobile devices"
msgstr "Tema para dispositivos móveis"
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:428
+msgid "Accessibility system theme"
+msgstr "Tema do sistema acessível"
+
+#: ../../mod/admin.php:428
+msgid "Accessibility theme"
+msgstr "Tema acessível"
+
+#: ../../mod/admin.php:430
msgid "Enable Diaspora Protocol"
msgstr "Habilitar protocolo Diaspora"
-#: ../../mod/admin.php:468
+#: ../../mod/admin.php:430
msgid "Communicate with Diaspora and Friendica - experimental"
msgstr "Comunicar com Diaspora e Friendica - experimental"
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:431
msgid "Allow Feeds as Connections"
msgstr "Permitir Feeds como conexões"
-#: ../../mod/admin.php:469
+#: ../../mod/admin.php:431
msgid "(Heavy system resource usage)"
msgstr "(Alto uso de recursos do sistema)"
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:432
msgid "Maximum image size"
msgstr "Tamanho máximo de imagens"
-#: ../../mod/admin.php:470
+#: ../../mod/admin.php:432
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Tamanho máximo em bytes de imagens carregadas. O padrão é 0, significando sem limites."
-#: ../../mod/admin.php:471
+#: ../../mod/admin.php:433
msgid "Does this site allow new member registration?"
msgstr "Este site permite o registro de novos membros?"
-#: ../../mod/admin.php:472
+#: ../../mod/admin.php:434
msgid "Which best describes the types of account offered by this hub?"
msgstr "Qual descreve melhor os tipos de conta oferecidas por este hub?"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:435
msgid "Register text"
msgstr "Texto de registro"
-#: ../../mod/admin.php:473
+#: ../../mod/admin.php:435
msgid "Will be displayed prominently on the registration page."
msgstr "Será exibido proeminentemente na página de registro."
-#: ../../mod/admin.php:474
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Deinir página inicial para exibir a visitantes (padrão: caixa de login)"
-
-#: ../../mod/admin.php:474
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "exemplo: 'public' para mostrar o fluxo público, 'page/sys/home' para mostrar uma página web do sistema chamada 'home', ou 'include:home.html' para incluir um arquivo."
-
-#: ../../mod/admin.php:475
-msgid "Preserve site homepage URL"
-msgstr "Preservar o URL da homepage do site"
-
-#: ../../mod/admin.php:475
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Apresentar a homepage do site em um frame na localização original ao invés de redirecionar"
-
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:436
msgid "Accounts abandoned after x days"
msgstr "Contas abandonadas após x dias"
-#: ../../mod/admin.php:476
+#: ../../mod/admin.php:436
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Não gastará recursos do sistema coletando de sites externos para contas abandonadas. Use 0 para sem limite de tempo."
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:437
msgid "Allowed friend domains"
msgstr "Domínios permitidos para amigos"
-#: ../../mod/admin.php:477
+#: ../../mod/admin.php:437
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Lista, separada por vírgulas, de domínios permitidos para estabelecer amizades com este site. <em>Wildcards</em> são aceitas. Vazio para permitir qualquer domínio"
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:438
msgid "Allowed email domains"
msgstr "Domínios permitidos de e-mail"
-#: ../../mod/admin.php:478
+#: ../../mod/admin.php:438
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Lista, separada por vírgulas, de domínios permitidos em endereços de e-mail para registros nesse site. <em>Wildcards</em> são aceitas. Vazio para permitir qualquer domínio"
-#: ../../mod/admin.php:479
-msgid "Not allowed email domains"
-msgstr "Não permitido domínios de e-mail"
-
-#: ../../mod/admin.php:479
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "Lista de domínios separadas por vírgulas, que não são permitidos em endereços de e-mail para inscrições para este sítio. Curingas são aceitos. Deixe vazio para permitir quaisquer domínios, a menos que domínios permitidos tenham sido definidos."
-
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:439
msgid "Block public"
msgstr "Bloquear público"
-#: ../../mod/admin.php:480
+#: ../../mod/admin.php:439
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Marque para bloquear o acesso público a todas as páginas pessoais que seriam públicas, a não ser que se esteja autenticado."
-#: ../../mod/admin.php:481
+#: ../../mod/admin.php:440
msgid "Verify Email Addresses"
msgstr "Verificar endereços de email"
-#: ../../mod/admin.php:481
+#: ../../mod/admin.php:440
msgid ""
"Check to verify email addresses used in account registration (recommended)."
msgstr "Clique para verificar endereços de email usados no registro de contas (recomendado)."
-#: ../../mod/admin.php:482
+#: ../../mod/admin.php:441
msgid "Force publish"
msgstr "Forçar publicação"
-#: ../../mod/admin.php:482
+#: ../../mod/admin.php:441
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Marque para forçar todos os perfis neste site a aparecerem listados no diretório do site."
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:442
msgid "Disable discovery tab"
msgstr "Desabilitar a aba \"Descubra\""
-#: ../../mod/admin.php:483
+#: ../../mod/admin.php:442
msgid ""
"Remove the tab in the network view with public content pulled from sources "
"chosen for this site."
msgstr "Remove da visualização de rede a aba com conteúdos públicos obtidos de fontes escolhidas para esse site."
-#: ../../mod/admin.php:484
-msgid "login on Homepage"
-msgstr "login na Página inicial"
+#: ../../mod/admin.php:443
+msgid "No login on Homepage"
+msgstr "Sem formulário de autenticação na página inicial"
-#: ../../mod/admin.php:484
+#: ../../mod/admin.php:443
msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Apresentar uma caixa de login para visitantes na página inicial se nenhum outro conteúdo foi configurado."
+"Check to hide the login form from your sites homepage when visitors arrive "
+"who are not logged in (e.g. when you put the content of the homepage in via "
+"the site channel)."
+msgstr "Marque para esconder o formulário de autenticação da página inicial do seu site quando visitantes chegarem sem estar autenticados (e.g. quando você inclui os conteúdos da página inicial através do canal do site)."
-#: ../../mod/admin.php:486
+#: ../../mod/admin.php:445
msgid "Proxy user"
msgstr "Usuário do proxy"
-#: ../../mod/admin.php:487
+#: ../../mod/admin.php:446
msgid "Proxy URL"
msgstr "URL do proxy"
-#: ../../mod/admin.php:488
+#: ../../mod/admin.php:447
msgid "Network timeout"
msgstr "Timeout da rede"
-#: ../../mod/admin.php:488
+#: ../../mod/admin.php:447
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Valor em segundos. Use 0 para ilimitado (não recomendado)."
-#: ../../mod/admin.php:489
+#: ../../mod/admin.php:448
msgid "Delivery interval"
msgstr "Intervalo de entrega"
-#: ../../mod/admin.php:489
+#: ../../mod/admin.php:448
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Atrase os processos de entrega em segundo plano por este número de segundos para reduzir a carga do sistema. Recomendado: 4-5 para hosts compartilhados, 2-3 para servidores virtuais privados. 0-1 para grandes servidores dedicados."
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:449
msgid "Poll interval"
msgstr "Intervalo de coleta"
-#: ../../mod/admin.php:490
+#: ../../mod/admin.php:449
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Atrase os processos de coleta em segundo plano por este número de segundos para reduzir a carga do sistema. Se 0, use o intervalo de entrega."
-#: ../../mod/admin.php:491
+#: ../../mod/admin.php:450
msgid "Maximum Load Average"
msgstr "Carga média máxima"
-#: ../../mod/admin.php:491
+#: ../../mod/admin.php:450
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Carga máxima do sistema antes de adiar processos de entrega e coleta - padrão 50."
-#: ../../mod/admin.php:492
-msgid "Expiration period in days for imported (matrix/network) content"
-msgstr "Período de expiração em dias para importação de conteúdo (rede/matriz)"
-
-#: ../../mod/admin.php:492
-msgid "0 for no expiration of imported content"
-msgstr "0 para nunca expirar o conteúdo importado"
-
-#: ../../mod/admin.php:540
+#: ../../mod/admin.php:506
msgid "No server found"
msgstr "Nenhum servidor foi encontrado"
-#: ../../mod/admin.php:547 ../../mod/admin.php:831
+#: ../../mod/admin.php:513 ../../mod/admin.php:737
msgid "ID"
msgstr "ID"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:513
msgid "for channel"
msgstr "para o canal"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:513
msgid "on server"
msgstr "no servidor"
-#: ../../mod/admin.php:547
+#: ../../mod/admin.php:513
msgid "Status"
msgstr "Status"
-#: ../../mod/admin.php:549
-msgid "Server"
-msgstr "Servidor"
-
-#: ../../mod/admin.php:566
+#: ../../mod/admin.php:534
msgid "Update has been marked successful"
msgstr "A atualização foi designada bem sucedida"
-#: ../../mod/admin.php:576
+#: ../../mod/admin.php:544
#, php-format
msgid "Executing %s failed. Check system logs."
msgstr "Execução de %s falhou. Verifique os logs do sistema."
-#: ../../mod/admin.php:579
+#: ../../mod/admin.php:547
#, php-format
msgid "Update %s was successfully applied."
msgstr "A atualização %s foi aplicada com sucesso."
-#: ../../mod/admin.php:583
+#: ../../mod/admin.php:551
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "A atualização %s não retornou um status. Situação incerta quando ao seu sucesso."
-#: ../../mod/admin.php:586
+#: ../../mod/admin.php:554
#, php-format
msgid "Update function %s could not be found."
msgstr "A função de atualização %s não foi encontrada."
-#: ../../mod/admin.php:602
+#: ../../mod/admin.php:569
msgid "No failed updates."
msgstr "Nenhuma falha nas atualizações."
-#: ../../mod/admin.php:606
+#: ../../mod/admin.php:573
msgid "Failed Updates"
msgstr "Falha nas atualizações"
-#: ../../mod/admin.php:608
+#: ../../mod/admin.php:575
msgid "Mark success (if update was manually applied)"
msgstr "Marque sucesso (se a atualização foi aplicada manualmente)"
-#: ../../mod/admin.php:609
+#: ../../mod/admin.php:576
msgid "Attempt to execute this update step automatically"
msgstr "Tente executar este passo da atualização automaticamente"
-#: ../../mod/admin.php:641
-msgid "Queue Statistics"
-msgstr "Filas de Estatísticas"
-
-#: ../../mod/admin.php:642
-msgid "Total Entries"
-msgstr "Total de Entradas"
-
-#: ../../mod/admin.php:643
-msgid "Priority"
-msgstr "Prioridade"
-
-#: ../../mod/admin.php:644
-msgid "Destination URL"
-msgstr "URL de destino"
-
-#: ../../mod/admin.php:645
-msgid "Mark hub permanently offline"
-msgstr "Marque o Hub como permanentemente fora do ar"
-
-#: ../../mod/admin.php:646
-msgid "Empty queue for this hub"
-msgstr "Fila vazia para esse hub"
-
-#: ../../mod/admin.php:647
-msgid "Last known contact"
-msgstr "Último contato conhecido"
-
-#: ../../mod/admin.php:683
+#: ../../mod/admin.php:602
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s usuário foi bloqueado/desbloqueado"
msgstr[1] "%s usuários foram bloqueados/desbloqueados"
-#: ../../mod/admin.php:691
+#: ../../mod/admin.php:609
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] "%s usuário foi deletado"
msgstr[1] "%s usuários foram deletados"
-#: ../../mod/admin.php:727
+#: ../../mod/admin.php:638
msgid "Account not found"
msgstr "A conta não foi encontrada"
-#: ../../mod/admin.php:747
-#, php-format
-msgid "User '%s' blocked"
-msgstr "O usuário/a '%s' foi bloqueado/a"
-
-#: ../../mod/admin.php:755
+#: ../../mod/admin.php:658
#, php-format
msgid "User '%s' unblocked"
msgstr "O usuário/a '%s' foi desbloqueado/a"
-#: ../../mod/admin.php:818 ../../mod/admin.php:830
+#: ../../mod/admin.php:658
+#, php-format
+msgid "User '%s' blocked"
+msgstr "O usuário/a '%s' foi bloqueado/a"
+
+#: ../../mod/admin.php:724 ../../mod/admin.php:736
msgid "Users"
msgstr "Usuários"
-#: ../../mod/admin.php:820 ../../mod/admin.php:987
+#: ../../mod/admin.php:726 ../../mod/admin.php:862
msgid "select all"
msgstr "selecionar tudo"
-#: ../../mod/admin.php:821
+#: ../../mod/admin.php:727
msgid "User registrations waiting for confirm"
msgstr "Registros de usuário aguardando confirmação"
-#: ../../mod/admin.php:822
+#: ../../mod/admin.php:728
msgid "Request date"
msgstr "Data de requisição"
-#: ../../mod/admin.php:823
+#: ../../mod/admin.php:729
msgid "No registrations."
msgstr "Nenhum registro."
-#: ../../mod/admin.php:824 ../../mod/connedit.php:683
+#: ../../mod/admin.php:730
msgid "Approve"
msgstr "Aprovar"
-#: ../../mod/admin.php:825
+#: ../../mod/admin.php:731
msgid "Deny"
msgstr "Negar"
-#: ../../mod/admin.php:827 ../../mod/connedit.php:519
-msgid "Block"
-msgstr "Bloquear"
-
-#: ../../mod/admin.php:828 ../../mod/connedit.php:519
-msgid "Unblock"
-msgstr "Desbloquear"
-
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:737
msgid "Register date"
msgstr "Data de registro"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:737
msgid "Last login"
msgstr "Última autenticação"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:737
msgid "Expires"
msgstr "Expira"
-#: ../../mod/admin.php:831
+#: ../../mod/admin.php:737
msgid "Service Class"
msgstr "Classe de serviço"
-#: ../../mod/admin.php:833
+#: ../../mod/admin.php:739
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Os usuários selecionados serão deletados!\\n\\nTudo o que esses usuários postaram neste site será permanentemente deletado!\\n\\nTem certeza?"
-#: ../../mod/admin.php:834
+#: ../../mod/admin.php:740
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "O/A usuário/a {0} será deletado/a!\\n\\nTudo o que esse/a usuário/a postou neste site será permanentemente deletado!\\n\\nTem certeza?"
-#: ../../mod/admin.php:870
+#: ../../mod/admin.php:773
#, php-format
msgid "%s channel censored/uncensored"
msgid_plural "%s channels censored/uncensored"
msgstr[0] "%s canal censurado/descensurado"
msgstr[1] "%s canais censurados/descensurados"
-#: ../../mod/admin.php:879
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "%s canal com código permitido/proibido"
-msgstr[1] "%s canais com código permitido/proibido"
-
-#: ../../mod/admin.php:886
+#: ../../mod/admin.php:780
#, php-format
msgid "%s channel deleted"
msgid_plural "%s channels deleted"
msgstr[0] "%s canal deletado"
msgstr[1] "%s canais deletados"
-#: ../../mod/admin.php:906
+#: ../../mod/admin.php:799
msgid "Channel not found"
msgstr "Canal não encontrado"
-#: ../../mod/admin.php:917
+#: ../../mod/admin.php:810
#, php-format
msgid "Channel '%s' deleted"
msgstr "Canal '%s' deletado"
-#: ../../mod/admin.php:929
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Canal '%s' censurado"
-
-#: ../../mod/admin.php:929
+#: ../../mod/admin.php:821
#, php-format
msgid "Channel '%s' uncensored"
msgstr "Canal '%s' não censurado"
-#: ../../mod/admin.php:940
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Código permitido para o canal '%s'"
-
-#: ../../mod/admin.php:940
+#: ../../mod/admin.php:821
#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Código proibido para o canal '%s'"
+msgid "Channel '%s' censored"
+msgstr "Canal '%s' censurado"
-#: ../../mod/admin.php:989
+#: ../../mod/admin.php:864
msgid "Censor"
msgstr "Censurar"
-#: ../../mod/admin.php:990
+#: ../../mod/admin.php:865
msgid "Uncensor"
msgstr "Não censurar"
-#: ../../mod/admin.php:991
-msgid "Allow Code"
-msgstr "Permitir código"
-
-#: ../../mod/admin.php:992
-msgid "Disallow Code"
-msgstr "Proibir código"
-
-#: ../../mod/admin.php:994
+#: ../../mod/admin.php:868
msgid "UID"
msgstr "UID"
-#: ../../mod/admin.php:996
+#: ../../mod/admin.php:870
msgid ""
"Selected channels will be deleted!\\n\\nEverything that was posted in these "
"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Os canais selecionados serão deletados!\\n\\nTudo que foi postado nesses canais nesse site será permanentemente deletado!\\n\\nVocê tem certeza?"
-#: ../../mod/admin.php:997
+#: ../../mod/admin.php:871
msgid ""
"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "O canal {0} será deletado!\\n\\nTudo o que foi postado nesse canal nesse site será permanentemente deletado!\\n\\nVocê tem certeza?"
-#: ../../mod/admin.php:1037
+#: ../../mod/admin.php:910
#, php-format
msgid "Plugin %s disabled."
msgstr "Plugin %s desabilitado."
-#: ../../mod/admin.php:1041
+#: ../../mod/admin.php:914
#, php-format
msgid "Plugin %s enabled."
msgstr "Plugin %s habilitado."
-#: ../../mod/admin.php:1051 ../../mod/admin.php:1249
+#: ../../mod/admin.php:924 ../../mod/admin.php:1126
msgid "Disable"
msgstr "Desabilitar"
-#: ../../mod/admin.php:1054 ../../mod/admin.php:1251
+#: ../../mod/admin.php:926 ../../mod/admin.php:1128
msgid "Enable"
msgstr "Habilitar"
-#: ../../mod/admin.php:1078 ../../mod/admin.php:1278
+#: ../../mod/admin.php:952 ../../mod/admin.php:1157
msgid "Toggle"
msgstr "Alternar"
-#: ../../mod/admin.php:1086 ../../mod/admin.php:1288
+#: ../../mod/admin.php:960 ../../mod/admin.php:1167
msgid "Author: "
msgstr "Autor:"
-#: ../../mod/admin.php:1087 ../../mod/admin.php:1289
+#: ../../mod/admin.php:961 ../../mod/admin.php:1168
msgid "Maintainer: "
msgstr "Mantenedor:"
-#: ../../mod/admin.php:1214
+#: ../../mod/admin.php:1090
msgid "No themes found."
msgstr "Nenhum tema foi encontrado."
-#: ../../mod/admin.php:1270
+#: ../../mod/admin.php:1149
msgid "Screenshot"
msgstr "Captura de tela"
-#: ../../mod/admin.php:1316
+#: ../../mod/admin.php:1197
msgid "[Experimental]"
msgstr "[Experimental]"
-#: ../../mod/admin.php:1317
+#: ../../mod/admin.php:1198
msgid "[Unsupported]"
msgstr "[Desassistido]"
-#: ../../mod/admin.php:1341
+#: ../../mod/admin.php:1225
msgid "Log settings updated."
msgstr "As configurações de log foram atualizadas."
-#: ../../mod/admin.php:1398
+#: ../../mod/admin.php:1281
msgid "Clear"
msgstr "Limpar"
-#: ../../mod/admin.php:1404
+#: ../../mod/admin.php:1287
msgid "Debugging"
msgstr "Depuração"
-#: ../../mod/admin.php:1405
+#: ../../mod/admin.php:1288
msgid "Log file"
msgstr "Arquivo de log"
-#: ../../mod/admin.php:1405
+#: ../../mod/admin.php:1288
msgid ""
"Must be writable by web server. Relative to your Red top-level directory."
msgstr "É necessário que o servidor web possa escrever neste arquivo. Relativo ao diretório raiz da Red."
-#: ../../mod/admin.php:1406
+#: ../../mod/admin.php:1289
msgid "Log level"
msgstr "Nível do log"
-#: ../../mod/admin.php:1452
+#: ../../mod/admin.php:1336
msgid "New Profile Field"
msgstr "Novo campo de perfil"
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
msgid "Field nickname"
msgstr "Nome de apresentação do campo"
-#: ../../mod/admin.php:1453 ../../mod/admin.php:1473
+#: ../../mod/admin.php:1337 ../../mod/admin.php:1358
msgid "System name of field"
msgstr "Nome de sistema do campo"
-#: ../../mod/admin.php:1454 ../../mod/admin.php:1474
+#: ../../mod/admin.php:1338 ../../mod/admin.php:1359
msgid "Input type"
msgstr "Tipo de entrada"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../mod/admin.php:1339 ../../mod/admin.php:1360
msgid "Field Name"
msgstr "Nome do campo"
-#: ../../mod/admin.php:1455 ../../mod/admin.php:1475
+#: ../../mod/admin.php:1339 ../../mod/admin.php:1360
msgid "Label on profile pages"
msgstr "Rótulo nas páginas de perfil"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
msgid "Help text"
msgstr "Texto de ajuda"
-#: ../../mod/admin.php:1456 ../../mod/admin.php:1476
+#: ../../mod/admin.php:1340 ../../mod/admin.php:1361
msgid "Additional info (optional)"
msgstr "Informações adicionais (opcional)"
-#: ../../mod/admin.php:1466
+#: ../../mod/admin.php:1351
msgid "Field definition not found"
msgstr "A dfinição de campo não foi encontrada"
-#: ../../mod/admin.php:1472
+#: ../../mod/admin.php:1357
msgid "Edit Profile Field"
msgstr "Editar campo de perfil"
@@ -7366,6 +7723,14 @@ msgstr "Não foi possível localizar seu hub."
msgid "Post successful."
msgstr "Publicado com sucesso."
+#: ../../mod/editblock.php:112
+msgid "Edit Block"
+msgstr "Editar bloco"
+
+#: ../../mod/editblock.php:123
+msgid "Delete block?"
+msgstr "Deletar bloco?"
+
#: ../../mod/register.php:44
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
msgstr "Número máximo de novos registros neste site excedido por hoje. Por favor, tente novamente amanhã."
@@ -7481,25 +7846,39 @@ msgid ""
"removed from the network"
msgstr "Por padrão, apenas as instâncias dos canais localizadas neste hub serão removidas da rede"
-#: ../../mod/removeaccount.php:61 ../../mod/settings.php:720
-msgid "Remove Account"
-msgstr "Remover conta"
+#: ../../mod/item.php:174
+msgid "Unable to locate original post."
+msgstr "Não foi possível localizar a publicação original."
-#: ../../mod/help.php:49 ../../mod/help.php:55 ../../mod/help.php:61
-msgid "Help:"
-msgstr "Ajuda:"
+#: ../../mod/item.php:440
+msgid "Empty post discarded."
+msgstr "A publicação em branco foi descartada."
-#: ../../mod/help.php:76 ../../index.php:238
-msgid "Not Found"
-msgstr "Não encontrada"
+#: ../../mod/item.php:480
+msgid "Executable content type not permitted to this channel."
+msgstr "Conteúdo de tipo executável não permitido para este canal."
+
+#: ../../mod/item.php:897
+msgid "System error. Post not saved."
+msgstr "Erro no sistema. A publicação não foi salva."
+
+#: ../../mod/item.php:1115
+msgid "Unable to obtain post information from database."
+msgstr "Impossível obter informação do texto no banco de dados"
-#: ../../mod/help.php:100
-msgid "$Projectname Documentation"
-msgstr "Documentação de $Projectname"
+#: ../../mod/item.php:1122
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Você atingiu o seu limite de %1$.0f publicações de novos tópicos."
+
+#: ../../mod/item.php:1129
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Você atingiu o seu limite de %1$.0f páginas web."
#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
-#: ../../mod/update_home.php:21 ../../mod/update_public.php:21
+#: ../../mod/update_home.php:21
msgid "[Embedded content - reload page to view]"
msgstr "[Conteúdo incorporado - recarregue a página para ver]"
@@ -7511,583 +7890,17 @@ msgstr "Não existe informação disponível sobre a privacidade remota."
msgid "Visible to:"
msgstr "Visível para:"
-#: ../../mod/settings.php:76
-msgid "Name is required"
-msgstr "É necessário informar o nome"
-
-#: ../../mod/settings.php:80
-msgid "Key and Secret are required"
-msgstr "A chave e o segredo são obrigatórios"
-
-#: ../../mod/settings.php:130
-msgid "Diaspora Policy Settings updated."
-msgstr "Configurações da política do Diáspora atualizadas."
-
-#: ../../mod/settings.php:238
-msgid "Passwords do not match. Password unchanged."
-msgstr "As senhas não correspondem. A senha não foi modificada."
-
-#: ../../mod/settings.php:242
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Não é permitido uma senha em branco. A senha não foi modificada."
-
-#: ../../mod/settings.php:256
-msgid "Password changed."
-msgstr "A senha foi modificada."
-
-#: ../../mod/settings.php:258
-msgid "Password update failed. Please try again."
-msgstr "Não foi possível atualizar a senha. Por favor, tente novamente."
-
-#: ../../mod/settings.php:272
-msgid "Not valid email."
-msgstr "Não é um e-mail válido"
-
-#: ../../mod/settings.php:275
-msgid "Protected email address. Cannot change to that email."
-msgstr "Endereço de e-mail protegido. Não é possível mudar para esse e-mail."
-
-#: ../../mod/settings.php:284
-msgid "System failure storing new email. Please try again."
-msgstr "Falha do sistema ao armazenar novo e-mail. Por favor, tente novamente."
-
-#: ../../mod/settings.php:523
-msgid "Settings updated."
-msgstr "As configurações foram atualizadas."
-
-#: ../../mod/settings.php:587 ../../mod/settings.php:613
-#: ../../mod/settings.php:649
-msgid "Add application"
-msgstr "Adicionar aplicação"
-
-#: ../../mod/settings.php:590
-msgid "Name of application"
-msgstr "Nome da aplicação"
-
-#: ../../mod/settings.php:591 ../../mod/settings.php:617
-msgid "Consumer Key"
-msgstr "Chave de consumidor"
-
-#: ../../mod/settings.php:591 ../../mod/settings.php:592
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Gerado automaticamente - troque se desejável. Comprimento máximo 20"
-
-#: ../../mod/settings.php:592 ../../mod/settings.php:618
-msgid "Consumer Secret"
-msgstr "Segredo de consumidor"
-
-#: ../../mod/settings.php:593 ../../mod/settings.php:619
-msgid "Redirect"
-msgstr "Redirecionamento"
-
-#: ../../mod/settings.php:593
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI de redirecionamento - deixe em branco, a não ser que sua aplicação especificamente requeira isso"
-
-#: ../../mod/settings.php:594 ../../mod/settings.php:620
-msgid "Icon url"
-msgstr "URL do ícone"
-
-#: ../../mod/settings.php:594
-msgid "Optional"
-msgstr "Opcional"
-
-#: ../../mod/settings.php:605
-msgid "You can't edit this application."
-msgstr "Você não pode editar esta aplicação."
-
-#: ../../mod/settings.php:648
-msgid "Connected Apps"
-msgstr "Aplicações conectadas"
-
-#: ../../mod/settings.php:652
-msgid "Client key starts with"
-msgstr "Chave do cliente começa com"
-
-#: ../../mod/settings.php:653
-msgid "No name"
-msgstr "Sem nome"
-
-#: ../../mod/settings.php:654
-msgid "Remove authorization"
-msgstr "Remover autorização"
-
-#: ../../mod/settings.php:668
-msgid "No feature settings configured"
-msgstr "Não foi definida nenhuma configuração do recurso"
-
-#: ../../mod/settings.php:685
-msgid "Feature/Addon Settings"
-msgstr "Configuração de Característica/Plugins"
-
-#: ../../mod/settings.php:687
-msgid "Settings for the built-in Diaspora emulator"
-msgstr "Configurações para construir um emulador de Diáspora"
-
-#: ../../mod/settings.php:688
-msgid "Allow any Diaspora member to comment on your public posts"
-msgstr "Permitir que qualquer membro do Diaspora comente em suas postagens públicas"
-
-#: ../../mod/settings.php:689
-msgid "Enable the Diaspora protocol for this channel"
-msgstr "Habilitar o protocolo Diaspora para este canal"
-
-#: ../../mod/settings.php:690
-msgid "Diaspora Policy Settings"
-msgstr "Configurações de Política do Diáspora"
-
-#: ../../mod/settings.php:691
-msgid "Prevent your hashtags from being redirected to other sites"
-msgstr "Previne que suas hashtags sejam redirecionadas para outros sítios"
-
-#: ../../mod/settings.php:715
-msgid "Account Settings"
-msgstr "Configurações da conta"
-
-#: ../../mod/settings.php:716
-msgid "Enter New Password:"
-msgstr "Digite a Nova Senha:"
-
-#: ../../mod/settings.php:717
-msgid "Confirm New Password:"
-msgstr "Confirme a Nova Senha:"
-
-#: ../../mod/settings.php:717
-msgid "Leave password fields blank unless changing"
-msgstr "Deixe os campos de senha em branco, a não ser que você queira alterá-la"
-
-#: ../../mod/settings.php:719 ../../mod/settings.php:1057
-msgid "Email Address:"
-msgstr "Endereço de e-mail:"
-
-#: ../../mod/settings.php:721
-msgid "Remove this account including all its channels"
-msgstr "Exclua esta conta, incluindo todos seus canais"
-
-#: ../../mod/settings.php:737
-msgid "Off"
-msgstr "Desligado"
-
-#: ../../mod/settings.php:737
-msgid "On"
-msgstr "Ligado"
-
-#: ../../mod/settings.php:744
-msgid "Additional Features"
-msgstr "Recursos adicionais"
-
-#: ../../mod/settings.php:768
-msgid "Connector Settings"
-msgstr "Configurações do conector"
-
-#: ../../mod/settings.php:807
-msgid "No special theme for mobile devices"
-msgstr "Sem tema especial para aparelhos móveis"
-
-#: ../../mod/settings.php:810
-#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (Experimental)"
-
-#: ../../mod/settings.php:849
-msgid "Display Settings"
-msgstr "Configurações de exibição"
-
-#: ../../mod/settings.php:850
-msgid "Theme Settings"
-msgstr "Configurações de tema"
-
-#: ../../mod/settings.php:851
-msgid "Custom Theme Settings"
-msgstr "Configurações personalizadas de tema"
-
-#: ../../mod/settings.php:852
-msgid "Content Settings"
-msgstr "Configurações de conteúdo"
-
-#: ../../mod/settings.php:858
-msgid "Display Theme:"
-msgstr "Tema do perfil:"
-
-#: ../../mod/settings.php:859
-msgid "Mobile Theme:"
-msgstr "Tema móvel:"
-
-#: ../../mod/settings.php:860
-msgid "Enable user zoom on mobile devices"
-msgstr "Permitir zoom pelo usuário em dispositivos móveis"
-
-#: ../../mod/settings.php:861
-msgid "Update browser every xx seconds"
-msgstr "Atualizar navegador a cada xx segundos"
-
-#: ../../mod/settings.php:861
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Mínimo de 10 segundos, sem máximo"
-
-#: ../../mod/settings.php:862
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Número máximo permitido de conversas carregadas:"
-
-#: ../../mod/settings.php:862
-msgid "Maximum of 100 items"
-msgstr "Máximo de 100 itens"
-
-#: ../../mod/settings.php:863
-msgid "Show emoticons (smilies) as images"
-msgstr "Mostrar emoticons (smilies) como imagens"
-
-#: ../../mod/settings.php:864
-msgid "Link post titles to source"
-msgstr "Ligar o título dos posts à fonte"
-
-#: ../../mod/settings.php:865
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Editor de layout de página do sistema - (avançado)"
-
-#: ../../mod/settings.php:868
-msgid "Use blog/list mode on channel page"
-msgstr "Usar modo blog/lista na página do canal"
-
-#: ../../mod/settings.php:868 ../../mod/settings.php:869
-msgid "(comments displayed separately)"
-msgstr "(comentários mostrados separadamente)"
-
-#: ../../mod/settings.php:869
-msgid "Use blog/list mode on matrix page"
-msgstr "Use modo de blogue/lista na página da matriz"
-
-#: ../../mod/settings.php:870
-msgid "Channel page max height of content (in pixels)"
-msgstr "Altura máxima do conteúdo na página (em pixels)"
-
-#: ../../mod/settings.php:870 ../../mod/settings.php:871
-msgid "click to expand content exceeding this height"
-msgstr "clique para expandir o conteúdo que excede essa altura"
-
-#: ../../mod/settings.php:871
-msgid "Matrix page max height of content (in pixels)"
-msgstr "Máxima altura de conteúdo na página Matriz (in pixesl)"
-
-#: ../../mod/settings.php:905
-msgid "Nobody except yourself"
-msgstr "Ninguém exceto você mesmo"
-
-#: ../../mod/settings.php:906
-msgid "Only those you specifically allow"
-msgstr "Apenas quem você der permissão"
-
-#: ../../mod/settings.php:907
-msgid "Approved connections"
-msgstr "Conexões aprovadas"
-
-#: ../../mod/settings.php:908
-msgid "Any connections"
-msgstr "Quaisquer conexões"
-
-#: ../../mod/settings.php:909
-msgid "Anybody on this website"
-msgstr "Qualquer um neste site"
-
-#: ../../mod/settings.php:910
-msgid "Anybody in this network"
-msgstr "Qualquer um nesta rede"
-
-#: ../../mod/settings.php:911
-msgid "Anybody authenticated"
-msgstr "Qualquer um autenticado"
-
-#: ../../mod/settings.php:912
-msgid "Anybody on the internet"
-msgstr "Qualquer um na internet"
-
-#: ../../mod/settings.php:986
-msgid "Publish your default profile in the network directory"
-msgstr "Publicar seu perfil padrão no diretório da rede?"
-
-#: ../../mod/settings.php:991
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Permitir sugerir você como amigo potencial para outros membros?"
-
-#: ../../mod/settings.php:1000
-msgid "Your channel address is"
-msgstr "O endereço do seu canal é"
-
-#: ../../mod/settings.php:1048
-msgid "Channel Settings"
-msgstr "Configurações do canal"
-
-#: ../../mod/settings.php:1055
-msgid "Basic Settings"
-msgstr "Configurações básicas"
-
-#: ../../mod/settings.php:1058
-msgid "Your Timezone:"
-msgstr "Seu fuso horário:"
-
-#: ../../mod/settings.php:1059
-msgid "Default Post Location:"
-msgstr "Localização padrão de suas publicações:"
-
-#: ../../mod/settings.php:1059
-msgid "Geographical location to display on your posts"
-msgstr "Localização geográfica para exibir em suas publicações"
-
-#: ../../mod/settings.php:1060
-msgid "Use Browser Location:"
-msgstr "Usar localizador do navegador:"
-
-#: ../../mod/settings.php:1062
-msgid "Adult Content"
-msgstr "Conteúdo adulto"
-
-#: ../../mod/settings.php:1062
-msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Este canal frequentemente ou regularmente publica conteúdo adulto. (Por favor marque qualquer material adulto e/ou nudez com #NSFW)"
-
-#: ../../mod/settings.php:1064
-msgid "Security and Privacy Settings"
-msgstr "Configurações de segurança e privacidade"
-
-#: ../../mod/settings.php:1066
-msgid "Your permissions are already configured. Click to view/adjust"
-msgstr "Suas permissões já foram configuradas. Clique para vê-las/ajustá-las"
-
-#: ../../mod/settings.php:1068
-msgid "Hide my online presence"
-msgstr "Esconda minha presença online"
-
-#: ../../mod/settings.php:1068
-msgid "Prevents displaying in your profile that you are online"
-msgstr "Previne exibir em seu perfil que você está online"
-
-#: ../../mod/settings.php:1070
-msgid "Simple Privacy Settings:"
-msgstr "Configurações de privacidade simples:"
-
-#: ../../mod/settings.php:1071
-msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr "Muito público - <em>extremamente permissivo (deve ser usado com cuidado)</em>"
-
-#: ../../mod/settings.php:1072
-msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Típico - <em>público por padrão, privado quando desejável (similar às permissões de redes sociais, mas com melhor privacidade)</em>"
-
-#: ../../mod/settings.php:1073
-msgid "Private - <em>default private, never open or public</em>"
-msgstr "Privado - <em>privado por padrão, nunca aberto ou público</em>"
-
-#: ../../mod/settings.php:1074
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Bloqueado - <em>por padrão bloquado de/para todos</em>"
-
-#: ../../mod/settings.php:1076
-msgid "Allow others to tag your posts"
-msgstr "Permitir que outros etiquetem suas publicações"
-
-#: ../../mod/settings.php:1076
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr "Frequentemente utilizado pela comunidade para retroativamente sinalizar conteúdo inapropriado"
-
-#: ../../mod/settings.php:1078
-msgid "Advanced Privacy Settings"
-msgstr "Configurações de privacidade avançadas"
-
-#: ../../mod/settings.php:1080
-msgid "Expire other channel content after this many days"
-msgstr "Expirar outros conteúdos do canal após este número de dias"
-
-#: ../../mod/settings.php:1080
-msgid "0 or blank prevents expiration"
-msgstr "0 ou em branco previne expiração"
-
-#: ../../mod/settings.php:1081
-msgid "Maximum Friend Requests/Day:"
-msgstr "Número máximo de requisições de amizade por dia:"
-
-#: ../../mod/settings.php:1081
-msgid "May reduce spam activity"
-msgstr "Pode reduzir a frequência de spam"
-
-#: ../../mod/settings.php:1082
-msgid "Default Post Permissions"
-msgstr "Permissões padrão de publicação"
-
-#: ../../mod/settings.php:1087
-msgid "Channel permissions category:"
-msgstr "Categoria de permissões do canal:"
-
-#: ../../mod/settings.php:1093
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Máximo número de mensagens privadas por dia de pessoas desconhecidas:"
-
-#: ../../mod/settings.php:1093
-msgid "Useful to reduce spamming"
-msgstr "Útil para reduzir a frequência de spam"
-
-#: ../../mod/settings.php:1096
-msgid "Notification Settings"
-msgstr "Configurações de notificação"
-
-#: ../../mod/settings.php:1097
-msgid "By default post a status message when:"
-msgstr "Por padrão, publicar uma mensagem de status quando:"
-
-#: ../../mod/settings.php:1098
-msgid "accepting a friend request"
-msgstr "aceitar um pedido de amizade"
-
-#: ../../mod/settings.php:1099
-msgid "joining a forum/community"
-msgstr "associar-se a um fórum/comunidade"
-
-#: ../../mod/settings.php:1100
-msgid "making an <em>interesting</em> profile change"
-msgstr "modificar algo <em>interessante</em> em seu perfil"
-
-#: ../../mod/settings.php:1101
-msgid "Send a notification email when:"
-msgstr "Enviar um e-mail de notificação quando:"
-
-#: ../../mod/settings.php:1102
-msgid "You receive a connection request"
-msgstr "Você recebe uma solicitação de conexão"
-
-#: ../../mod/settings.php:1103
-msgid "Your connections are confirmed"
-msgstr "Suas conexões são confirmadas"
-
-#: ../../mod/settings.php:1104
-msgid "Someone writes on your profile wall"
-msgstr "Alguém escrever no mural do seu perfil"
-
-#: ../../mod/settings.php:1105
-msgid "Someone writes a followup comment"
-msgstr "Alguém comenta uma publicação"
-
-#: ../../mod/settings.php:1106
-msgid "You receive a private message"
-msgstr "Você recebeu uma mensagem privada"
-
-#: ../../mod/settings.php:1107
-msgid "You receive a friend suggestion"
-msgstr "Você recebe uma sugestão de amizade"
-
-#: ../../mod/settings.php:1108
-msgid "You are tagged in a post"
-msgstr "Você é mencionado num post"
-
-#: ../../mod/settings.php:1109
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Você foi cutucado/espetado/etc. numa publicação"
-
-#: ../../mod/settings.php:1112
-msgid "Show visual notifications including:"
-msgstr "Exibir notificações visuais incluindo:"
-
-#: ../../mod/settings.php:1114
-msgid "Unseen matrix activity"
-msgstr "Atividade não vista na matriz"
-
-#: ../../mod/settings.php:1115
-msgid "Unseen channel activity"
-msgstr "Atividade não vista no canal"
-
-#: ../../mod/settings.php:1116
-msgid "Unseen private messages"
-msgstr "Mensagens privadas não vistas"
-
-#: ../../mod/settings.php:1116 ../../mod/settings.php:1121
-#: ../../mod/settings.php:1122 ../../mod/settings.php:1123
-msgid "Recommended"
-msgstr "Recomendado"
-
-#: ../../mod/settings.php:1117
-msgid "Upcoming events"
-msgstr "Eventos próximos"
-
-#: ../../mod/settings.php:1118
-msgid "Events today"
-msgstr "Eventos hoje"
-
-#: ../../mod/settings.php:1119
-msgid "Upcoming birthdays"
-msgstr "Aniversários próximos"
-
-#: ../../mod/settings.php:1119
-msgid "Not available in all themes"
-msgstr "Não disponível em todos os temas"
-
-#: ../../mod/settings.php:1120
-msgid "System (personal) notifications"
-msgstr "Notificações de sistema (pessoais)"
-
-#: ../../mod/settings.php:1121
-msgid "System info messages"
-msgstr "Mensagens de informação do sistema"
-
-#: ../../mod/settings.php:1122
-msgid "System critical alerts"
-msgstr "Alertas críticos do sistema"
-
-#: ../../mod/settings.php:1123
-msgid "New connections"
-msgstr "Novas conexões"
-
-#: ../../mod/settings.php:1124
-msgid "System Registrations"
-msgstr "Registros no sistema"
-
-#: ../../mod/settings.php:1125
-msgid ""
-"Also show new wall posts, private messages and connections under Notices"
-msgstr "Também mostra novos textos, mensagens privadas e conexões nos Avisos"
-
-#: ../../mod/settings.php:1127
-msgid "Notify me of events this many days in advance"
-msgstr "Notifique-me de eventos adiante esse número de dias"
-
-#: ../../mod/settings.php:1127
-msgid "Must be greater than 0"
-msgstr "Deve ser maior que 0"
-
-#: ../../mod/settings.php:1129
-msgid "Advanced Account/Page Type Settings"
-msgstr "Configurações avançadas de conta/tipo de página"
-
-#: ../../mod/settings.php:1130
-msgid "Change the behaviour of this account for special situations"
-msgstr "Mudar o comportamento dessa conta em situações especiais"
-
-#: ../../mod/settings.php:1133
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Por favor, habilite o modo expert (em <a href=\"settings/features\">Configurações > Recursos adicionais</a>) para ajustar!"
-
-#: ../../mod/settings.php:1134
-msgid "Miscellaneous Settings"
-msgstr "Configurações miscelâneas"
-
-#: ../../mod/settings.php:1136
-msgid "Personal menu to display in your channel pages"
-msgstr "Menu pessoal para exibir nas páginas dos seus canais"
+#: ../../mod/layouts.php:176
+msgid "Comanche page description language help"
+msgstr "Página de Ajuda da descrição da Linguagem Comanche "
-#: ../../mod/settings.php:1137 ../../mod/removeme.php:61
-msgid "Remove Channel"
-msgstr "Remover canal"
+#: ../../mod/layouts.php:180
+msgid "Layout Description"
+msgstr "Descrição de Layout"
-#: ../../mod/settings.php:1138
-msgid "Remove this channel."
-msgstr "Remover este canal"
+#: ../../mod/layouts.php:185
+msgid "Download PDL file"
+msgstr "Baixar arquivo PDL"
#: ../../mod/id.php:11
msgid "First Name"
@@ -8165,328 +7978,495 @@ msgstr "Nenhuma mensagem."
msgid "Delete conversation"
msgstr "Excluir conversa"
-#: ../../mod/message.php:74
-msgid "D, d M Y - g:i A"
-msgstr "D, d M Y - g:i A"
+#: ../../mod/thing.php:232
+msgid "Show Thing"
+msgstr "Exibir coisa"
+
+#: ../../mod/mitem.php:51
+msgid "Unable to create element."
+msgstr "Não foi possível criar elemento."
+
+#: ../../mod/mitem.php:74
+msgid "Unable to update menu element."
+msgstr "Não foi possível atualizar o elemento de menu."
+
+#: ../../mod/mitem.php:89
+msgid "Unable to add menu element."
+msgstr "Não foi possível adicionar o elemento de menu."
+
+#: ../../mod/mitem.php:158 ../../mod/mitem.php:228
+msgid "Menu Item Permissions"
+msgstr "Permissões do item do menu"
+
+#: ../../mod/mitem.php:161 ../../mod/mitem.php:176
+msgid "Link Name"
+msgstr "Nome do Link"
+
+#: ../../mod/mitem.php:162 ../../mod/mitem.php:233
+msgid "Link or Submenu Target"
+msgstr "Alvo do Link ou Submenu"
+
+#: ../../mod/mitem.php:162
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr "Insira o URL do link ou selecione um nome de menu para criar um submenu"
+
+#: ../../mod/mitem.php:163 ../../mod/mitem.php:234
+msgid "Use magic-auth if available"
+msgstr "Usar magic-auth se disponível"
+
+#: ../../mod/mitem.php:164 ../../mod/mitem.php:235
+msgid "Open link in new window"
+msgstr "Abrir link em uma nova janela"
+
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:236
+msgid "Order in list"
+msgstr "Ordem na lista"
+
+#: ../../mod/mitem.php:165 ../../mod/mitem.php:236
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Números mais altos descem para o fim da lista"
+
+#: ../../mod/mitem.php:166
+msgid "Submit and finish"
+msgstr "Enviar e terminar"
+
+#: ../../mod/mitem.php:167
+msgid "Submit and continue"
+msgstr "Enviar e continuar"
+
+#: ../../mod/mitem.php:174
+msgid "Menu:"
+msgstr "Menu:"
+
+#: ../../mod/mitem.php:177
+msgid "Link Target"
+msgstr "Alvo do Link"
+
+#: ../../mod/mitem.php:180
+msgid "Edit menu"
+msgstr "Editar menu"
+
+#: ../../mod/mitem.php:183
+msgid "Edit element"
+msgstr "Editar elemento"
+
+#: ../../mod/mitem.php:184
+msgid "Drop element"
+msgstr "Descartar elemento"
+
+#: ../../mod/mitem.php:185
+msgid "New element"
+msgstr "Novo elemento"
+
+#: ../../mod/mitem.php:186
+msgid "Edit this menu container"
+msgstr "Editar esta caixa de menu"
+
+#: ../../mod/mitem.php:187
+msgid "Add menu element"
+msgstr "Adicionar um elemento de menu"
+
+#: ../../mod/mitem.php:188
+msgid "Delete this menu item"
+msgstr "Deleter este item de menu"
+
+#: ../../mod/mitem.php:189
+msgid "Edit this menu item"
+msgstr "Editar este item de menu"
+
+#: ../../mod/mitem.php:206
+msgid "Menu item not found."
+msgstr "O item de menu não foi encontrado."
+
+#: ../../mod/mitem.php:217
+msgid "Menu item deleted."
+msgstr "O item de menu foi deletado."
+
+#: ../../mod/mitem.php:219
+msgid "Menu item could not be deleted."
+msgstr "Não foi possível deletar o item de menu."
+
+#: ../../mod/mitem.php:226
+msgid "Edit Menu Element"
+msgstr "Editar elemento de menu"
+
+#: ../../mod/mitem.php:232
+msgid "Link text"
+msgstr "Texto do link"
#: ../../mod/mood.php:131
msgid "Set your current mood and tell your friends"
msgstr "Marque seu humor atual e compartilhe com seus amigos"
-#: ../../mod/vote.php:97
-msgid "Total votes"
-msgstr "Votos totais"
+#: ../../mod/thing.php:270
+msgid "Edit Thing"
+msgstr "Editar coisa"
-#: ../../mod/vote.php:98
-msgid "Average Rating"
-msgstr "Média das avaliações"
+#: ../../mod/thing.php:272 ../../mod/thing.php:319
+msgid "Select a profile"
+msgstr "Selecione um perfil"
-#: ../../mod/removeme.php:29
-msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "A remoção da canais fica desabilitada por 48 horas após uma troca de senha da conta."
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Post an activity"
+msgstr "Publique uma atividade"
-#: ../../mod/removeme.php:57
-msgid "Remove This Channel"
-msgstr "Remover este canal"
+#: ../../mod/thing.php:276 ../../mod/thing.php:322
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Envia apenas para a audiência do perfil aplicável"
-#: ../../mod/removeme.php:58
-msgid "This channel will be completely removed from the network. "
-msgstr "Este canal será completamente excluído da rede."
+#: ../../mod/thing.php:278 ../../mod/thing.php:324
+msgid "Name of thing e.g. something"
+msgstr "Nome da coisa e.g. coisinha"
-#: ../../mod/removeme.php:60
-msgid "Remove this channel and all its clones from the network"
-msgstr "Remover este canal e todos os seus clones da rede"
+#: ../../mod/thing.php:280 ../../mod/thing.php:325
+msgid "URL of thing (optional)"
+msgstr "URL da coisa (opcional)"
-#: ../../mod/removeme.php:60
+#: ../../mod/thing.php:282 ../../mod/thing.php:326
+msgid "URL for photo of thing (optional)"
+msgstr "URL para foto da coisa (opcional)"
+
+#: ../../mod/thing.php:317
+msgid "Add Thing to your Profile"
+msgstr "Adicionar a coisa ao seu perfil"
+
+#: ../../mod/import.php:25
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Seu plano de serviço permite apenas %d canais."
+
+#: ../../mod/import.php:51
+msgid "Nothing to import."
+msgstr "Nada a importar."
+
+#: ../../mod/import.php:75
+msgid "Unable to download data from old server"
+msgstr "Não foi possível descarregar os dados do servidor antigo"
+
+#: ../../mod/import.php:81
+msgid "Imported file is empty."
+msgstr "O arquivo importado está vazio."
+
+#: ../../mod/import.php:105
msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "Por padrão, apenas a instância do canal localizada neste hub será removida da rede"
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Não foi possível criar um identificador de canal duplicado neste sistema. A importação falhou."
-#: ../../mod/connedit.php:267
-msgid "is now connected to"
-msgstr "está agora conectado a"
+#: ../../mod/import.php:123
+msgid "Channel clone failed. Import failed."
+msgstr "Clonagem do canal falhou. A importação falhou."
-#: ../../mod/connedit.php:380
-msgid "Could not access address book record."
-msgstr "Não foi possível acessar o registro do contato."
+#: ../../mod/import.php:133
+msgid "Cloned channel not found. Import failed."
+msgstr "Canal a clonar não encontrado. A importação falhou."
-#: ../../mod/connedit.php:394
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "A atualização falhou - o canal está indisponível no momento."
+#: ../../mod/import.php:446
+msgid "Import completed."
+msgstr "A importação foi completada."
-#: ../../mod/connedit.php:401
-msgid "Channel has been unblocked"
-msgstr "O canal foi desbloqueado"
+#: ../../mod/import.php:458
+msgid "You must be logged in to use this feature."
+msgstr "Você precisa estar autenticado para usar este recurso."
-#: ../../mod/connedit.php:402
-msgid "Channel has been blocked"
-msgstr "O canal foi bloqueado"
+#: ../../mod/import.php:463
+msgid "Import Channel"
+msgstr "Importar canal"
-#: ../../mod/connedit.php:406 ../../mod/connedit.php:418
-#: ../../mod/connedit.php:430 ../../mod/connedit.php:442
-#: ../../mod/connedit.php:458
-msgid "Unable to set address book parameters."
-msgstr "Não foi possível definir os parâmetros do contato."
+#: ../../mod/import.php:464
+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. Only identity and connections/relationships will "
+"be imported. Importation of content is not yet available."
+msgstr "Use este formulário para importar um canal existente de um servidor/hub diferente. Você pode obter a identidade do canal do servidor/hub antigo pela rede, ou fornecer um arquivo de exportação. Somente a identidade e as conexões/relacionamentos serão importados. Importação de conteúdos ainda não está disponível."
-#: ../../mod/connedit.php:413
-msgid "Channel has been unignored"
-msgstr "O canal não está mais ignorado"
+#: ../../mod/import.php:465
+msgid "File to Upload"
+msgstr "Arquivo a carregar"
-#: ../../mod/connedit.php:414
-msgid "Channel has been ignored"
-msgstr "O canal passou a estar ignorado"
+#: ../../mod/import.php:466
+msgid "Or provide the old server/hub details"
+msgstr "Ou forneça os detalhes do antigo servidor/hub"
-#: ../../mod/connedit.php:425
-msgid "Channel has been unarchived"
-msgstr "O canal deixou o arquivo"
+#: ../../mod/import.php:467
+msgid "Your old identity address (xyz@example.com)"
+msgstr "O endereço da sua velha identidade (xyz@exemplo.com)"
-#: ../../mod/connedit.php:426
-msgid "Channel has been archived"
-msgstr "O canal foi colocado no arquivo"
+#: ../../mod/import.php:468
+msgid "Your old login email address"
+msgstr "O endereço de e-mail da sua antiga conta"
-#: ../../mod/connedit.php:437
-msgid "Channel has been unhidden"
-msgstr "O canal não está mais oculto"
+#: ../../mod/import.php:469
+msgid "Your old login password"
+msgstr "A senha dua sua antiga conta"
-#: ../../mod/connedit.php:438
-msgid "Channel has been hidden"
-msgstr "O canal passou a estar oculto"
+#: ../../mod/import.php:470
+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"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Para qualquer das opções, por favor escolha se deseja fazer deste hub seu novo endereço primário, ou se o velho local deve continuar com esse papel. Você será capaz de publicar a partir de ambos os locais, mas somente um pode estar designado como local primário para arquivos, fotos e mídia."
-#: ../../mod/connedit.php:453
-msgid "Channel has been approved"
-msgstr "O canal foi aprovado"
+#: ../../mod/import.php:471
+msgid "Make this hub my primary location"
+msgstr "Faça deste hub meu local primário"
-#: ../../mod/connedit.php:454
-msgid "Channel has been unapproved"
-msgstr "O canal deixou de estar aprovado"
+#: ../../mod/import.php:472
+msgid "Import existing posts if possible"
+msgstr "Importar publicações existentes se possível"
-#: ../../mod/connedit.php:482
-msgid "Connection has been removed."
-msgstr "A conexão foi removida."
+#: ../../mod/invite.php:25
+msgid "Total invitation limit exceeded."
+msgstr "Foi excedido o número total de convites."
-#: ../../mod/connedit.php:501
+#: ../../mod/invite.php:49
#, php-format
-msgid "View %s's profile"
-msgstr "Ver o perfil de %s"
+msgid "%s : Not a valid email address."
+msgstr "%s : Não é um endereço de e-mail válido."
-#: ../../mod/connedit.php:505
-msgid "Refresh Permissions"
-msgstr "Atualizar permissões"
+#: ../../mod/invite.php:76
+msgid "Please join us on Red"
+msgstr "Por favor, una-se a nós na Red"
-#: ../../mod/connedit.php:508
-msgid "Fetch updated permissions"
-msgstr "Buscar as permissões atualizadas"
+#: ../../mod/invite.php:87
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Você excedeu o limite de convites. Por favor, entre em contato com o administrador do site."
-#: ../../mod/connedit.php:512
-msgid "Recent Activity"
-msgstr "Atividades recentes"
+#: ../../mod/invite.php:92
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : Não foi possível enviar a mensagem."
-#: ../../mod/connedit.php:515
-msgid "View recent posts and comments"
-msgstr "Exibir publicações e comentários recentes"
+#: ../../mod/invite.php:96
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d mensagem enviada."
+msgstr[1] "%d mensagens enviadas."
-#: ../../mod/connedit.php:522
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Bloquear (desbloquear) todas as comunicações com essa conexão"
+#: ../../mod/invite.php:115
+msgid "You have no more invitations available"
+msgstr "Você não possui mais convites disponíveis"
-#: ../../mod/connedit.php:526
-msgid "Unignore"
-msgstr "Não ignorar"
+#: ../../mod/invite.php:129
+msgid "Send invitations"
+msgstr "Enviar convites."
-#: ../../mod/connedit.php:526 ../../mod/notifications.php:51
-msgid "Ignore"
-msgstr "Ignorar"
+#: ../../mod/invite.php:130
+msgid "Enter email addresses, one per line:"
+msgstr "Digite os endereços de e-mail, um por linha:"
-#: ../../mod/connedit.php:529
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Ignorar (desfazer) todas as entradas de comunicação desta conexão"
+#: ../../mod/invite.php:131 ../../mod/mail.php:225 ../../mod/mail.php:338
+msgid "Your message:"
+msgstr "Sua mensagem:"
-#: ../../mod/connedit.php:533
-msgid "Unarchive"
-msgstr "Não arquivar"
+#: ../../mod/invite.php:132
+msgid "Please join my community on Hubzilla."
+msgstr "Por favor junte-se à minha comunidade na Hubzilla"
-#: ../../mod/connedit.php:533
-msgid "Archive"
-msgstr "Arquivar"
+#: ../../mod/invite.php:134
+msgid "You will need to supply this invitation code: "
+msgstr "Você precisará fornecer este código de convite:"
-#: ../../mod/connedit.php:536
-msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Arquivar (desarquivar) essa conexão - marcar o canal como morto mas manter o conteúdo"
+#: ../../mod/invite.php:135
+msgid "1. Register at any Hubzilla location (they are all inter-connected)"
+msgstr "1. Registre-se em qualquer site da Hubzilla (eles são todos interconectados)"
-#: ../../mod/connedit.php:540
-msgid "Unhide"
-msgstr "Não ocultar"
+#: ../../mod/invite.php:137
+msgid "2. Enter my Hubzilla network address into the site searchbar."
+msgstr "2. Entre meu endereço da rede Hubzilla na barra de busca do site."
-#: ../../mod/connedit.php:540
-msgid "Hide"
-msgstr "Ocultar"
+#: ../../mod/invite.php:138
+msgid "or visit "
+msgstr "ou visite"
-#: ../../mod/connedit.php:543
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Esconder (mostrar) essa conexão de suas outras conexões"
+#: ../../mod/invite.php:140
+msgid "3. Click [Connect]"
+msgstr "3. Clique [Conectar]"
-#: ../../mod/connedit.php:550
-msgid "Delete this connection"
-msgstr "Deletar esta conexão"
+#: ../../mod/item.php:146
+msgid "Unable to locate original post."
+msgstr "Não foi possível localizar a publicação original."
-#: ../../mod/connedit.php:631
-msgid "Approve this connection"
-msgstr "Aprovar esta conexão"
+#: ../../mod/item.php:379
+msgid "Empty post discarded."
+msgstr "A publicação em branco foi descartada."
-#: ../../mod/connedit.php:631
-msgid "Accept connection to allow communication"
-msgstr "Aceite a conexão para permitir comunicação"
+#: ../../mod/item.php:421
+msgid "Executable content type not permitted to this channel."
+msgstr "Conteúdo de tipo executável não permitido para este canal."
-#: ../../mod/connedit.php:636
-msgid "Set Affinity"
-msgstr "Definir afinidade"
+#: ../../mod/item.php:849
+msgid "System error. Post not saved."
+msgstr "Erro no sistema. A publicação não foi salva."
-#: ../../mod/connedit.php:639
-msgid "Set Profile"
-msgstr "Definir perfil"
+#: ../../mod/item.php:1317
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Você atingiu o seu limite de %1$.0f publicações de novos tópicos."
-#: ../../mod/connedit.php:642
-msgid "Set Affinity & Profile"
-msgstr "Definir afinidade & perfil"
+#: ../../mod/item.php:1323
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Você atingiu o seu limite de %1$.0f páginas web."
+
+#: ../../mod/update_channel.php:43 ../../mod/update_display.php:25
+#: ../../mod/update_network.php:23 ../../mod/update_search.php:46
+msgid "[Embedded content - reload page to view]"
+msgstr "[Conteúdo incorporado - recarregue a página para ver]"
-#: ../../mod/connedit.php:659
-msgid "Apply these permissions automatically"
-msgstr "Aplicar essas permissões automaticamente"
+#: ../../mod/layouts.php:62
+msgid "Help with this feature"
+msgstr "Ajuda com este recurso"
-#: ../../mod/connedit.php:661
-msgid "This connection's address is"
-msgstr "O endereço dessa conexão é"
+#: ../../mod/layouts.php:85
+msgid "Layout Name"
+msgstr "Nome do layout"
-#: ../../mod/connedit.php:664
-msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "As permissões indicadas nesta página serão aplicadas a todas as novas conexões."
+#: ../../mod/like.php:15
+msgid "Like/Dislike"
+msgstr "Gostar/Desgostar"
-#: ../../mod/connedit.php:666
-msgid "Slide to adjust your degree of friendship"
-msgstr "Deslize para ajustar seu grau de amizade"
+#: ../../mod/like.php:20
+msgid "This action is restricted to members."
+msgstr "Esta ação é restrita a membros."
-#: ../../mod/connedit.php:668
-msgid "Slide to adjust your rating"
-msgstr "Deslize para ajustar sua avaliação"
+#: ../../mod/like.php:21
+msgid ""
+"Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a "
+"href=\"register\">register as a new Redmatrix.member</a> to continue."
+msgstr "Por favor <a href=\"rmagic\">entre com sua ID da Hubzilla</a> ou <a href=\"register\">registre-se como um novo membro da Hubzilla</a> para continuar."
-#: ../../mod/connedit.php:669 ../../mod/connedit.php:674
-msgid "Optionally explain your rating"
-msgstr "Opcionalmente explique sua avaliação"
+#: ../../mod/like.php:77 ../../mod/like.php:104 ../../mod/like.php:142
+msgid "Invalid request."
+msgstr "Solicitação inválida."
-#: ../../mod/connedit.php:671
-msgid "Custom Filter"
-msgstr "Filtro personalizado"
+#: ../../mod/like.php:119
+msgid "thing"
+msgstr "coisa"
-#: ../../mod/connedit.php:672
-msgid "Only import posts with this text"
-msgstr "Importar apenas publicações com este texto"
+#: ../../mod/like.php:165
+msgid "Channel unavailable."
+msgstr "Canal não disponível."
-#: ../../mod/connedit.php:672 ../../mod/connedit.php:673
-msgid ""
-"words one per line or #tags or /patterns/, leave blank to import all posts"
-msgstr "palavras uma por linha ou #tags ou /padrões/, deixe branco para importar todas as publicações"
+#: ../../mod/like.php:204
+msgid "Previous action reversed."
+msgstr "Ação anterior revertida."
-#: ../../mod/connedit.php:673
-msgid "Do not import posts with this text"
-msgstr "Não importar posts com este texto"
+#: ../../mod/like.php:417
+msgid "Action completed."
+msgstr "Ação completada."
-#: ../../mod/connedit.php:675
-msgid "This information is public!"
-msgstr "Esta informação é pública!"
+#: ../../mod/like.php:418
+msgid "Thank you."
+msgstr "Obrigado."
-#: ../../mod/connedit.php:680
-msgid "Connection Pending Approval"
-msgstr "Conexão pendente de aprovação"
+#: ../../mod/lockview.php:31
+msgid "Remote privacy information not available."
+msgstr "Não existe informação disponível sobre a privacidade remota."
-#: ../../mod/connedit.php:681
-msgid "Connection Request"
-msgstr "Solicitação de conexão"
+#: ../../mod/lockview.php:52
+msgid "Visible to:"
+msgstr "Visível para:"
-#: ../../mod/connedit.php:682
+#: ../../mod/viewconnections.php:58
+msgid "No connections."
+msgstr "Nenhuma conexão."
+
+#: ../../mod/viewconnections.php:71
#, php-format
-msgid ""
-"(%s) would like to connect with you. Please approve this connection to allow"
-" communication."
-msgstr "(%s) gostaria de conectar-se contigo. Por favor aprove esta conexão para permitir comunicação."
+msgid "Visit %s's profile [%s]"
+msgstr "Ver o perfil de %s [%s]"
-#: ../../mod/connedit.php:684
-msgid "Approve Later"
-msgstr "Aprovar depois"
+#: ../../mod/viewconnections.php:86
+msgid "View Connnections"
+msgstr "Ver conexões"
-#: ../../mod/connedit.php:687
-msgid "inherited"
-msgstr "herdado"
+#: ../../mod/lostpass.php:15
+msgid "No valid account found."
+msgstr "Não foi encontrada uma conta válida."
-#: ../../mod/connedit.php:689
+#: ../../mod/lostpass.php:29
+msgid "Password reset request issued. Check your email."
+msgstr "A solicitação de restauração de senha foi encaminhada. Verifique seu e-mail."
+
+#: ../../mod/lostpass.php:35 ../../mod/lostpass.php:102
#, php-format
+msgid "Site Member (%s)"
+msgstr "Membro do site (%s)"
+
+#: ../../mod/lostpass.php:40
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Foi feita uma solicitação de restauração de senha em %s"
+
+#: ../../mod/lostpass.php:63
msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Por favor, selecione o perfil que você gostaria de exibir para %s quando estiver visualizando seu perfil de modo seguro."
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Não foi possível verificar a solicitação (você pode tê-la submetido anteriormente). A senha não foi restaurada."
-#: ../../mod/connedit.php:691
-msgid "Their Settings"
-msgstr "Configurações dele/a"
+#: ../../mod/lostpass.php:85 ../../boot.php:1505
+msgid "Password Reset"
+msgstr "Reiniciar a senha"
-#: ../../mod/connedit.php:692
-msgid "My Settings"
-msgstr "Minhas configurações"
+#: ../../mod/lostpass.php:86
+msgid "Your password has been reset as requested."
+msgstr "Sua senha foi restaurada, conforme solicitado."
-#: ../../mod/connedit.php:694
-msgid "Individual Permissions"
-msgstr "Permissões individuais"
+#: ../../mod/lostpass.php:87
+msgid "Your new password is"
+msgstr "Sua nova senha é"
-#: ../../mod/connedit.php:695
-msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Algumas permissões podem ser herdadas das <a href=\"settings\"><strong>configurações de privacidade</strong></a> do seu canal, que tem prioridade sobre configurações individuais. Você <strong>não</strong> pode mudar tais configurações aqui."
+#: ../../mod/lostpass.php:88
+msgid "Save or copy your new password - and then"
+msgstr "Salve ou copie a sua nova senha e, então"
-#: ../../mod/connedit.php:696
+#: ../../mod/lostpass.php:89
+msgid "click here to login"
+msgstr "clique aqui para entrar"
+
+#: ../../mod/lostpass.php:90
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Algumas permissões serão herdadas das <a href=\"settings\"><strong>configurações de privacidade<strong></a> do seu canal, que tem prioridade sobre configurações individuais. Você pode modificar tais configurações individuais nesta página mas elas não surtirão efeito sem mudar a configuração do canal sendo herdada."
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Sua senha pode ser alterada na página de <em>Configurações</em> após você entrar em sua conta."
-#: ../../mod/connedit.php:697
-msgid "Last update:"
-msgstr "Última atualização:"
+#: ../../mod/lostpass.php:107
+#, php-format
+msgid "Your password has changed at %s"
+msgstr "Sua senha foi modificada em %s"
-#: ../../mod/rmagic.php:40
+#: ../../mod/lostpass.php:122
+msgid "Forgot your Password?"
+msgstr "Esqueceu a sua senha?"
+
+#: ../../mod/lostpass.php:123
msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Encontramos um problema ao entrar com a OpenID fornecida. Por favor, verifique se digitou corretamente a ID."
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Digite o seu endereço de e-mail e clique em 'Restaurar' para prosseguir com a restauração da sua senha. Após isso, verifique seu e-mail para mais instruções."
-#: ../../mod/rmagic.php:40
-msgid "The error message was:"
-msgstr "A mensagem de erro foi:"
+#: ../../mod/lostpass.php:124
+msgid "Email Address"
+msgstr "Endereço de e-mail"
-#: ../../mod/rmagic.php:44
-msgid "Authentication failed."
-msgstr "A autenticação falhou."
+#: ../../mod/lostpass.php:125
+msgid "Reset"
+msgstr "Restaurar"
-#: ../../mod/rmagic.php:84
-msgid "Remote Authentication"
-msgstr "Autenticação remota"
+#: ../../mod/magic.php:70
+msgid "Hub not found."
+msgstr "O hub não foi encontrado."
-#: ../../mod/rmagic.php:85
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Entre o endereço do seu canal (e.g. canal@exemplo.com)"
+#: ../../mod/vote.php:97
+msgid "Total votes"
+msgstr "Votos totais"
-#: ../../mod/rmagic.php:86
-msgid "Authenticate"
-msgstr "Autenticar"
+#: ../../mod/vote.php:98
+msgid "Average Rating"
+msgstr "Média das avaliações"
#: ../../mod/mail.php:33
msgid "Unable to lookup recipient."
@@ -8504,77 +8484,208 @@ msgstr "Não foi possível verificar o canal requisitado."
msgid "Selected channel has private message restrictions. Send failed."
msgstr "O canal solicitado tem restrições a mensagens privadas. Falha no envio."
-#: ../../mod/mail.php:139
+#: ../../mod/mail.php:121 ../../mod/message.php:31
+msgid "Messages"
+msgstr "Mensagens"
+
+#: ../../mod/mail.php:132
msgid "Message deleted."
msgstr "A mensagem foi excluída."
-#: ../../mod/mail.php:156
+#: ../../mod/mail.php:149
msgid "Message recalled."
msgstr "Mensagem retirada."
-#: ../../mod/mail.php:225
+#: ../../mod/mail.php:215
msgid "Send Private Message"
msgstr "Enviar mensagem privada"
-#: ../../mod/mail.php:226 ../../mod/mail.php:343
+#: ../../mod/mail.php:216 ../../mod/mail.php:333
msgid "To:"
msgstr "Para:"
-#: ../../mod/mail.php:231 ../../mod/mail.php:345
+#: ../../mod/mail.php:221 ../../mod/mail.php:335
msgid "Subject:"
msgstr "Assunto:"
-#: ../../mod/mail.php:242
+#: ../../mod/mail.php:232
msgid "Send"
msgstr "Enviar"
-#: ../../mod/mail.php:269
+#: ../../mod/mail.php:259
msgid "Message not found."
msgstr "Mensagem não encontrada."
-#: ../../mod/mail.php:312
+#: ../../mod/mail.php:302 ../../mod/message.php:72
msgid "Delete message"
msgstr "Excluir a mensagem"
-#: ../../mod/mail.php:313
+#: ../../mod/mail.php:303
msgid "Recall message"
msgstr "Retirar mensagem"
-#: ../../mod/mail.php:315
+#: ../../mod/mail.php:305
msgid "Message has been recalled."
msgstr "A mensagem foi retirada."
-#: ../../mod/mail.php:332
+#: ../../mod/mail.php:322
msgid "Private Conversation"
msgstr "Conversa privada"
-#: ../../mod/mail.php:338
+#: ../../mod/mail.php:326
+msgid "Delete conversation"
+msgstr "Excluir conversa"
+
+#: ../../mod/mail.php:328
msgid ""
"No secure communications available. You <strong>may</strong> be able to "
"respond from the sender's profile page."
msgstr "Comunicação segura indisponível. Você <strong>talvez</strong> consiga responder pela página de perfil do remetente."
-#: ../../mod/mail.php:342
+#: ../../mod/mail.php:332
msgid "Send Reply"
msgstr "Enviar resposta"
-#: ../../mod/notifications.php:26
-msgid "Invalid request identifier."
-msgstr "Identificador de solicitação inválido"
+#: ../../mod/manage.php:136
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Você criou %1$.0f de %2$.0f canais permitidos."
-#: ../../mod/notifications.php:35
-msgid "Discard"
+#: ../../mod/manage.php:144
+msgid "Create a new channel"
+msgstr "Criar um novo canal"
+
+#: ../../mod/manage.php:149
+msgid "Current Channel"
+msgstr "Canal atual"
+
+#: ../../mod/manage.php:151
+msgid "Attach to one of your channels by selecting it."
+msgstr "Selecione um dos seus canais para utilizá-lo."
+
+#: ../../mod/manage.php:152
+msgid "Default Channel"
+msgstr "Canal padrão"
+
+#: ../../mod/manage.php:153
+msgid "Make Default"
+msgstr "Tornar padrão"
+
+#: ../../mod/wall_upload.php:34
+msgid "Wall Photos"
+msgstr "Fotos do mural"
+
+#: ../../mod/match.php:16
+msgid "Profile Match"
+msgstr "Correspondência de perfil"
+
+#: ../../mod/match.php:24
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Nenhuma palavra-chave para combinar. Por favor, adicione palavras-chave ao seu perfil padrão."
+
+#: ../../mod/match.php:61
+msgid "is interested in:"
+msgstr "se interessa por:"
+
+#: ../../mod/match.php:69
+msgid "No matches"
+msgstr "Nenhuma correspondência"
+
+#: ../../mod/menu.php:21
+msgid "Menu updated."
+msgstr "Menu atualizado."
+
+#: ../../mod/menu.php:25
+msgid "Unable to update menu."
+msgstr "Não foi possível atualizar o menu."
+
+#: ../../mod/menu.php:30
+msgid "Menu created."
+msgstr "O menu foi criado."
+
+#: ../../mod/menu.php:34
+msgid "Unable to create menu."
+msgstr "Não foi possível criar o menu."
+
+#: ../../mod/menu.php:57
+msgid "Manage Menus"
+msgstr "Administrar menus"
+
+#: ../../mod/menu.php:60
+msgid "Drop"
msgstr "Descartar"
-#: ../../mod/regmod.php:11
-msgid "Please login."
-msgstr "Por favor, autentique-se."
+#: ../../mod/menu.php:62
+msgid "Create a new menu"
+msgstr "Criar um novo menu"
-#: ../../mod/post.php:235
-msgid ""
-"Remote authentication blocked. You are logged into this site locally. Please"
-" logout and retry."
-msgstr "Autenticação remota bloqueada. Você está autenticado neste site localmente. Por favor, saia e tente novamente."
+#: ../../mod/menu.php:63
+msgid "Delete this menu"
+msgstr "Deletar este menu"
+
+#: ../../mod/menu.php:64 ../../mod/menu.php:109
+msgid "Edit menu contents"
+msgstr "Editar os conteúdos do menu"
+
+#: ../../mod/menu.php:65
+msgid "Edit this menu"
+msgstr "Editar este menu"
+
+#: ../../mod/menu.php:80
+msgid "New Menu"
+msgstr "Novo menu"
+
+#: ../../mod/menu.php:81 ../../mod/menu.php:110
+msgid "Menu name"
+msgstr "Nome do menu"
+
+#: ../../mod/menu.php:81 ../../mod/menu.php:110
+msgid "Must be unique, only seen by you"
+msgstr "Deve ser único, exibido somente para você"
+
+#: ../../mod/menu.php:82 ../../mod/menu.php:111
+msgid "Menu title"
+msgstr "Título do menu"
+
+#: ../../mod/menu.php:82 ../../mod/menu.php:111
+msgid "Menu title as seen by others"
+msgstr "Título do menu quando visto por outros"
+
+#: ../../mod/menu.php:83 ../../mod/menu.php:112
+msgid "Allow bookmarks"
+msgstr "Habilitar links guardados"
+
+#: ../../mod/menu.php:83 ../../mod/menu.php:112
+msgid "Menu may be used to store saved bookmarks"
+msgstr "O menu pode ser utilizado para armazenar links guardados"
+
+#: ../../mod/menu.php:98
+msgid "Menu deleted."
+msgstr "Menu deletado."
+
+#: ../../mod/menu.php:100
+msgid "Menu could not be deleted."
+msgstr "Não foi possível deletar o menu."
+
+#: ../../mod/menu.php:106
+msgid "Edit Menu"
+msgstr "Editar menu"
+
+#: ../../mod/menu.php:108
+msgid "Add or remove entries to this menu"
+msgstr "Adicionar ou remover entradas deste menu"
+
+#: ../../mod/message.php:41
+msgid "Conversation removed."
+msgstr "A conversa foi removida."
+
+#: ../../mod/message.php:56
+msgid "No messages."
+msgstr "Nenhuma mensagem."
+
+#: ../../mod/message.php:74
+msgid "D, d M Y - g:i A"
+msgstr "D, d M Y - g:i A"
#: ../../mod/new_channel.php:109
msgid "Add a Channel"
@@ -8607,18 +8718,55 @@ msgid "Or <a href=\"import\">import an existing channel</a> from another locatio
msgstr "Ou <a href=\"import\">importe um canal existente</a> de outro local"
#: ../../mod/new_channel.php:118
+msgid "Channel Type"
+msgstr "Tipo de canal"
+
+#: ../../mod/new_channel.php:119
msgid ""
"Please choose a channel type (such as social networking or community forum) "
"and privacy requirements so we can select the best permissions for you"
msgstr "Por favor, escolha um tipo de canal (por exemplo rede social ou fórum de comunidade) e requisito de privacidade, para que possamos configurar as melhores permissões para você"
-#: ../../mod/new_channel.php:119
-msgid "Channel Type"
-msgstr "Tipo de canal"
+#: ../../mod/home.php:46
+msgid "Hubzilla - &quot;The Network&quot;"
+msgstr "Hubzilla - &quot;A Rede&quot;"
-#: ../../mod/new_channel.php:119
-msgid "Read more about roles"
-msgstr "Leia mais sobre as regras"
+#: ../../mod/home.php:101
+#, php-format
+msgid "Welcome to %s"
+msgstr "Bem-vindo(a) a %s"
+
+#: ../../mod/notifications.php:26
+msgid "Invalid request identifier."
+msgstr "Identificador de solicitação inválido"
+
+#: ../../mod/notifications.php:35
+msgid "Discard"
+msgstr "Descartar"
+
+#: ../../mod/notifications.php:94 ../../mod/notify.php:53
+msgid "No more system notifications."
+msgstr "Sem novas notificações do sistema."
+
+#: ../../mod/notifications.php:98 ../../mod/notify.php:57
+msgid "System Notifications"
+msgstr "Notificações do sistema"
+
+#: ../../mod/oexchange.php:23
+msgid "Unable to find your hub."
+msgstr "Não foi possível localizar seu hub."
+
+#: ../../mod/oexchange.php:37
+msgid "Post successful."
+msgstr "Publicado com sucesso."
+
+#: ../../mod/zfinger.php:23
+msgid "invalid target signature"
+msgstr "assinatura do destino inválida"
+
+#: ../../mod/openid.php:26
+msgid "OpenID protocol error. No ID returned."
+msgstr "Erro do protocolo OpenID. Nenhuma ID retornada."
#: ../../mod/appman.php:28 ../../mod/appman.php:44
msgid "App installed."
@@ -8680,26 +8828,37 @@ msgstr "adicionou seu canal"
msgid "posted an event"
msgstr "publicou um evento"
-#: ../../mod/layouts.php:176
-msgid "Comanche page description language help"
-msgstr "Página de Ajuda da descrição da Linguagem Comanche "
+#: ../../mod/network.php:91
+msgid "No such group"
+msgstr "Este grupo não existe"
-#: ../../mod/layouts.php:180
-msgid "Layout Description"
-msgstr "Descrição de Layout"
+#: ../../mod/network.php:129
+msgid "No such channel"
+msgstr "Nenhum canal"
-#: ../../mod/layouts.php:185
-msgid "Download PDL file"
-msgstr "Baixar arquivo PDL"
+#: ../../mod/network.php:143
+msgid "Search Results For:"
+msgstr "Resultados da busca por:"
-#: ../../mod/home.php:73
-#, php-format
-msgid "Welcome to %s"
-msgstr "Bem-vindo(a) a %s"
+#: ../../mod/network.php:198
+msgid "Collection is empty"
+msgstr "A coleção está vazia"
+
+#: ../../mod/network.php:207
+msgid "Collection: "
+msgstr "Coleção:"
+
+#: ../../mod/network.php:226
+msgid "Connection: "
+msgstr "Conexão:"
+
+#: ../../mod/network.php:233
+msgid "Invalid connection."
+msgstr "Conexão inválida."
-#: ../../mod/page.php:126
-msgid "Lorem Ipsum"
-msgstr "Lorem ipsum"
+#: ../../mod/page.php:122
+msgid "Ipsum Lorem"
+msgstr "Ipsum Lorem"
#: ../../mod/bookmarks.php:38
msgid "Bookmark added"
@@ -8717,21 +8876,6 @@ msgstr "Links guardados das minhas conexões"
msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Permissões insuficientes. Requisição redirecionada para a página de perfil."
-#: ../../mod/pconfig.php:27 ../../mod/pconfig.php:60
-msgid "This setting requires special processing and editing has been blocked."
-msgstr "Essa configuração requer processamento especial e a edição foi bloqueada."
-
-#: ../../mod/pconfig.php:49
-msgid "Configuration Editor"
-msgstr "Editor de configurações"
-
-#: ../../mod/pconfig.php:50
-msgid ""
-"Warning: Changing some settings could render your channel inoperable. Please"
-" leave this page unless you are comfortable with and knowledgeable about how"
-" to correctly use this feature."
-msgstr "Atenção: Mudar algumas configurações pode deixar seu canal inoperável. Por favor deixe essa página a não ser que esteja confortável e tenha o conhecimento para utilizar este recurso."
-
#: ../../mod/suggest.php:35
msgid ""
"No suggestions available. If this is a new site, please try again in 24 "
@@ -8740,31 +8884,43 @@ msgstr "Nenhuma sugestão disponível. Se este site é novo, por favor tente nov
#: ../../mod/poll.php:64
msgid "Poll"
-msgstr "Enquete"
+msgstr "Votação"
#: ../../mod/poll.php:69
msgid "View Results"
msgstr "Ver resultados"
-#: ../../mod/service_limits.php:19
-msgid "No service class restrictions found."
-msgstr "Não foram encontradas restrições de classe de serviço."
+#: ../../mod/removeaccount.php:30
+msgid ""
+"Account removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "A remoção da conta fica desabilitada por 48 horas após uma troca de senha da conta."
-#: ../../mod/sharedwithme.php:94
-msgid "Files: shared with me"
-msgstr "Arquivos: compartilhados comigo"
+#: ../../mod/removeaccount.php:57
+msgid "Remove This Account"
+msgstr "Remover esta conta"
-#: ../../mod/sharedwithme.php:96
-msgid "NEW"
-msgstr "NOVO"
+#: ../../mod/removeaccount.php:58
+msgid ""
+"This will completely remove this account including all its channels from the"
+" network. Once this has been done it is not recoverable."
+msgstr "Isso irá remover completamente esta conta, incluindo todos os canais da rede. Uma vez feito isso eles não poderão ser recuperados."
+
+#: ../../mod/removeaccount.php:60
+msgid ""
+"Remove this account, all its channels and all its channel clones from the "
+"network"
+msgstr "Remove esta conta, todos os seus canais e todos os clones desses canais da rede."
-#: ../../mod/sharedwithme.php:99
-msgid "Remove all files"
-msgstr "Remover todos arquivos"
+#: ../../mod/removeaccount.php:60
+msgid ""
+"By default only the instances of the channels located on this hub will be "
+"removed from the network"
+msgstr "Por padrão, apenas as instâncias dos canais localizadas neste hub serão removidas da rede"
-#: ../../mod/sharedwithme.php:100
-msgid "Remove this file"
-msgstr "Remover este arquivo"
+#: ../../mod/service_limits.php:19
+msgid "No service class restrictions found."
+msgstr "Não foram encontradas restrições de classe de serviço."
#: ../../view/theme/apw/php/config.php:202
#: ../../view/theme/apw/php/config.php:236
@@ -8780,11 +8936,14 @@ msgid "Monospace"
msgstr "Monospace"
#: ../../view/theme/apw/php/config.php:259
+#: ../../view/theme/blogga/php/config.php:69
+#: ../../view/theme/blogga/view/theme/blog/config.php:69
#: ../../view/theme/redbasic/php/config.php:102
msgid "Theme settings"
msgstr "Configurações de tema"
#: ../../view/theme/apw/php/config.php:260
+#: ../../view/theme/redbasic/php/config.php:103
msgid "Set scheme"
msgstr "Definir esquema"
@@ -8909,13 +9068,24 @@ msgstr "Deslocamento esquerdo do aparte"
msgid "Right offset of the aside element"
msgstr "Deslocamento direito do aparte"
-#: ../../view/theme/redbasic/php/config.php:82
-msgid "Light (Red Matrix default)"
-msgstr "Leve (padrão da Red Matrix)"
+#: ../../view/theme/blogga/php/config.php:47
+#: ../../view/theme/blogga/view/theme/blog/config.php:47
+msgid "None"
+msgstr "Nenhum"
-#: ../../view/theme/redbasic/php/config.php:103
-msgid "Select scheme"
-msgstr "Selecione esquema"
+#: ../../view/theme/blogga/php/config.php:70
+#: ../../view/theme/blogga/view/theme/blog/config.php:70
+msgid "Header image"
+msgstr "Imagem de cabeçalho"
+
+#: ../../view/theme/blogga/php/config.php:71
+#: ../../view/theme/blogga/view/theme/blog/config.php:71
+msgid "Header image only on profile pages"
+msgstr "Imagem de cabeçalho apenas em páginas de perfil"
+
+#: ../../view/theme/redbasic/php/config.php:84
+msgid "Light (Hubzilla default)"
+msgstr "Leve (padrão da Hubzilla)"
#: ../../view/theme/redbasic/php/config.php:104
msgid "Narrow navbar"
@@ -8997,10 +9167,6 @@ msgstr "Definir a cor para ícones de itens quando que o mouse está sobre eles"
msgid "Set font-size for the entire application"
msgstr "Definir o tamanho da fonte para a aplicação como um todo"
-#: ../../view/theme/redbasic/php/config.php:123
-msgid "Example: 14px"
-msgstr "Exemplo: 14px"
-
#: ../../view/theme/redbasic/php/config.php:125
msgid "Set font-color for posts and comments"
msgstr "Definir a cor da fonte para publicações e comentários"
@@ -9014,16 +9180,12 @@ msgid "Set shadow depth of photos"
msgstr "Definir a profundidade de sombra das fotos"
#: ../../view/theme/redbasic/php/config.php:128
-msgid "Set maximum width of content region in pixel"
-msgstr "Escolha a largura máxima da região de conteúdo em pixel"
-
-#: ../../view/theme/redbasic/php/config.php:128
-msgid "Leave empty for default width"
-msgstr "Deixe vazio para a largura padrão"
+msgid "Set maximum width of conversation regions"
+msgstr "Definir a largura máxima da área de conversas"
#: ../../view/theme/redbasic/php/config.php:129
-msgid "Center page content"
-msgstr "Conteúdo centralizado na página"
+msgid "Center conversation regions"
+msgstr "Centralizar regiões de conversação"
#: ../../view/theme/redbasic/php/config.php:130
msgid "Set minimum opacity of nav bar - to hide it"
@@ -9037,51 +9199,52 @@ msgstr "Definir o tamanho da foto do autor da conversa"
msgid "Set size of followup author photos"
msgstr "Definir o tamanho da foto dos autores de comentários"
-#: ../../boot.php:1356
+#: ../../boot.php:1355
#, php-format
msgid "Update %s failed. See error logs."
msgstr "A atualização %s falhou. Veja os logs de erro."
-#: ../../boot.php:1359
+#: ../../boot.php:1358
#, php-format
msgid "Update Error at %s"
msgstr "Erro de atualização em %s"
-#: ../../boot.php:1526
+#: ../../boot.php:1525
msgid ""
-"Create an account to access services and applications within the Red Matrix"
-msgstr "Crie uma conta para acessar serviços e aplicações na Red Matrix"
+"Create an account to access services and applications within the Hubzilla"
+msgstr "Crie uma conta para acessar serviços e aplicações na Hubzilla"
-#: ../../boot.php:1554
+#: ../../boot.php:1553
msgid "Password"
msgstr "Senha"
-#: ../../boot.php:1555
+#: ../../boot.php:1554
msgid "Remember me"
msgstr "Lembrar de mim"
-#: ../../boot.php:1558
+#: ../../boot.php:1557
msgid "Forgot your password?"
msgstr "Esqueceu a sua senha?"
-#: ../../boot.php:2179
+#: ../../boot.php:2178
msgid "toggle mobile"
msgstr "alternar para interface móvel"
-#: ../../boot.php:2314
+#: ../../boot.php:2313
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Certificado SSL do Website não é válido. Por favor corrija-o."
-#: ../../boot.php:2317
+#: ../../boot.php:2316
#, php-format
msgid "[red] Website SSL error for %s"
msgstr "[red] erro SSL da página para %s"
-#: ../../boot.php:2354
+#: ../../boot.php:2353
msgid "Cron/Scheduled tasks not running."
msgstr "Agendamento de tarefas não está rodando."
-#: ../../boot.php:2358
+#: ../../boot.php:2357
#, php-format
msgid "[red] Cron tasks not running on %s"
msgstr "[red] Agendador de tarefas não está rodando em %s"
+
diff --git a/view/pt-br/strings.php b/view/pt-br/strings.php
index c51803fc7..871e78cb2 100644
--- a/view/pt-br/strings.php
+++ b/view/pt-br/strings.php
@@ -7,143 +7,6 @@ function string_plural_select_pt_br($n){
;
$a->strings["Cannot locate DNS info for database server '%s'"] = "Não foi possível localizar a informação de DNS para o servidor de banco de dados '%s'";
$a->strings["Profile Photos"] = "Fotos do perfil";
-$a->strings["Edit"] = "Editar";
-$a->strings["photo"] = "foto";
-$a->strings["status"] = "status";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s gosta de %3\$s de %2\$s";
-$a->strings["Please choose"] = "Por favor, escolha";
-$a->strings["Agree"] = "Concordo";
-$a->strings["Disagree"] = "Discordo";
-$a->strings["Abstain"] = "Abstenho";
-$a->strings["\$projectname"] = "\$projectname";
-$a->strings["Frequently"] = "Frequentemente";
-$a->strings["Hourly"] = "De hora em hora";
-$a->strings["Twice daily"] = "Duas vezes ao dia";
-$a->strings["Daily"] = "Diariamente";
-$a->strings["Weekly"] = "Semanalmente";
-$a->strings["Monthly"] = "Mensalmente";
-$a->strings["Friendica"] = "Friendica";
-$a->strings["OStatus"] = "OStatus";
-$a->strings["RSS/Atom"] = "RSS/Atom";
-$a->strings["Email"] = "E-mail";
-$a->strings["Diaspora"] = "Diaspora";
-$a->strings["Facebook"] = "Facebook";
-$a->strings["Zot!"] = "Zot!";
-$a->strings["LinkedIn"] = "LinkedIn";
-$a->strings["XMPP/IM"] = "XMPP/MI";
-$a->strings["MySpace"] = "MySpace";
-$a->strings["created a new post"] = "criou uma nova publicação";
-$a->strings["commented on %s's post"] = "comentou a publicação de %s";
-$a->strings["No username found in import file."] = "Nenhum nome de usuário encontrado no arquivo de importação.";
-$a->strings["Unable to create a unique channel address. Import failed."] = "Não foi possível criar um endereço de canal único. Importação falhou.";
-$a->strings["Import completed."] = "A importação foi completada.";
-$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Um grupo com esse nome, anteriormente excluído, foi reativado. Permissões de itens já existentes <strong>poderão</strong> ser aplicadas a esse grupo e qualquer futuros membros. Se não é essa a sua intenção, favor criar outro grupo com um nome diferente.";
-$a->strings["Default privacy group for new contacts"] = "Grupo de privacidade padrão para novos contatos";
-$a->strings["All Channels"] = "Todos os canais";
-$a->strings["edit"] = "editar";
-$a->strings["Collections"] = "Coleções";
-$a->strings["Edit collection"] = "Editar coleção";
-$a->strings["Add new collection"] = "Adicionar nova coleção";
-$a->strings["Channels not in any collection"] = "Canais que não estão em nenhuma coleção";
-$a->strings["add"] = "adicionar";
-$a->strings["Not a valid email address"] = "Não é um endereço de e-mail válido";
-$a->strings["Your email domain is not among those allowed on this site"] = "O domínio do seu e-mail não está entre os permitidos neste site";
-$a->strings["Your email address is already registered at this site."] = "O seu endereço de e-mail já está registrado neste site.";
-$a->strings["An invitation is required."] = "É necessário um convite.";
-$a->strings["Invitation could not be verified."] = "Não foi possível verificar o convite.";
-$a->strings["Please enter the required information."] = "Por favor, forneça a informação solicitada.";
-$a->strings["Failed to store account information."] = "Não foi possível armazenar a informação da conta.";
-$a->strings["Registration confirmation for %s"] = "Confirmação de registro para %s";
-$a->strings["Registration request at %s"] = "Solicitação de registro em %s";
-$a->strings["Administrator"] = "Administrador";
-$a->strings["your registration password"] = "sua senha de registro";
-$a->strings["Registration details for %s"] = "Detalhes do registro de %s";
-$a->strings["Account approved."] = "A conta foi aprovada.";
-$a->strings["Registration revoked for %s"] = "O registro de %s foi revogado";
-$a->strings["Account verified. Please login."] = "Conta verificada. Por favor faça o login.";
-$a->strings["Click here to upgrade."] = "Clique aqui para atualizar.";
-$a->strings["This action exceeds the limits set by your subscription plan."] = "Essa ação excede o limite definido para o seu plano de assinatura.";
-$a->strings["This action is not available under your subscription plan."] = "Essa ação não está disponível para o seu plano de assinatura.";
-$a->strings["Miscellaneous"] = "Miscelânea";
-$a->strings["YYYY-MM-DD or MM-DD"] = "YYYY-MM-DD ou MM-DD";
-$a->strings["Required"] = "Obrigatório";
-$a->strings["never"] = "nunca";
-$a->strings["less than a second ago"] = "menos de um segundo atrás";
-$a->strings["year"] = "ano";
-$a->strings["years"] = "anos";
-$a->strings["month"] = "mês";
-$a->strings["months"] = "meses";
-$a->strings["week"] = "semana";
-$a->strings["weeks"] = "semanas";
-$a->strings["day"] = "dia";
-$a->strings["days"] = "dias";
-$a->strings["hour"] = "hora";
-$a->strings["hours"] = "horas";
-$a->strings["minute"] = "minuto";
-$a->strings["minutes"] = "minutos";
-$a->strings["second"] = "segundo";
-$a->strings["seconds"] = "segundos";
-$a->strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s atrás";
-$a->strings["%1\$s's birthday"] = "Aniversário de %1\$s ";
-$a->strings["Happy Birthday %1\$s"] = "Feliz Aniversário %1\$s";
-$a->strings["Directory Options"] = "Opções do Diretório";
-$a->strings["Safe Mode"] = "Modo tranquilo";
-$a->strings["No"] = "Não";
-$a->strings["Yes"] = "Sim";
-$a->strings["Public Forums Only"] = "Somente Fóruns públicos";
-$a->strings["This Website Only"] = "Somente este Website";
-$a->strings["New Page"] = "Nova página";
-$a->strings["View"] = "Ver";
-$a->strings["Preview"] = "Pré-visualizar";
-$a->strings["Actions"] = "Ações";
-$a->strings["Page Link"] = "Link da página";
-$a->strings["Title"] = "Título";
-$a->strings["Created"] = "Criado";
-$a->strings["Edited"] = "Editado";
-$a->strings["Public Timeline"] = "Linha do tempo pública";
-$a->strings["Default"] = "Default";
-$a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
-$a->strings["Starts:"] = "Início:";
-$a->strings["Finishes:"] = "Fim:";
-$a->strings["Location:"] = "Localização:";
-$a->strings["This event has been added to your calendar."] = "Esse evento foi adicionado ao seu calendário.";
-$a->strings["Delete this item?"] = "Excluir este item?";
-$a->strings["Comment"] = "Comentar";
-$a->strings["[+] show all"] = "[+] mostrar todos";
-$a->strings["[-] show less"] = "[-] mostra menos";
-$a->strings["[+] expand"] = "[+] expandir";
-$a->strings["[-] collapse"] = "[-] colapsar";
-$a->strings["Password too short"] = "A senha é muito curta";
-$a->strings["Passwords do not match"] = "As senhas não correspondem";
-$a->strings["everybody"] = "todos";
-$a->strings["Secret Passphrase"] = "Frase secreta";
-$a->strings["Passphrase hint"] = "Dica da frase secreta";
-$a->strings["Notice: Permissions have changed but have not yet been submitted."] = "Atenção: permissões foram modificadas mas ainda não foram enviadas.";
-$a->strings["close all"] = "fechar tudo";
-$a->strings["Nothing new here"] = "Nada de novo aqui";
-$a->strings["Rate This Channel (this is public)"] = "Avalie esse canal (isso é público)";
-$a->strings["Rating"] = "Avaliação";
-$a->strings["Describe (optional)"] = "Descreva (opcional)";
-$a->strings["Submit"] = "Enviar";
-$a->strings["Please enter a link URL"] = "Por favor entre um endereço URL";
-$a->strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Mudanças não salvas. Você tem certeza que deseja deixar essa página?";
-$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
-$a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
-$a->strings["ago"] = "atrás";
-$a->strings["from now"] = "de agora";
-$a->strings["less than a minute"] = "menos de um minuto";
-$a->strings["about a minute"] = "aproximadamente um minuto";
-$a->strings["%d minutes"] = "%d minutos";
-$a->strings["about an hour"] = "aproximadamente uma hora";
-$a->strings["about %d hours"] = "aproximadamente %d horas";
-$a->strings["a day"] = "um dia";
-$a->strings["%d days"] = "%d dias";
-$a->strings["about a month"] = "aproximadamente um mês";
-$a->strings["%d months"] = "%d meses";
-$a->strings["about a year"] = "aproximadamente um ano";
-$a->strings["%d years"] = "%d anos";
-$a->strings[" "] = " ";
-$a->strings["timeago.numbers"] = "timeago.numbers";
$a->strings["prev"] = "anterior";
$a->strings["first"] = "primeiro";
$a->strings["last"] = "último";
@@ -221,7 +84,9 @@ $a->strings["Page layout"] = "aparência da página";
$a->strings["You can create your own with the layouts tool"] = "Você pode criar sua própria com as ferramentas de layouts";
$a->strings["Page content type"] = "Tipo de conteúdo da página";
$a->strings["Select an alternate language"] = "Selecione um idioma alternativo";
+$a->strings["photo"] = "foto";
$a->strings["event"] = "evento";
+$a->strings["status"] = "status";
$a->strings["comment"] = "comentário";
$a->strings["activity"] = "atividade";
$a->strings["Design Tools"] = "Ferramentas de Design";
@@ -230,6 +95,136 @@ $a->strings["Menus"] = "Menus";
$a->strings["Layouts"] = "Layouts";
$a->strings["Pages"] = "Páginas";
$a->strings["Collection"] = "Coleção";
+$a->strings["Image/photo"] = "Imagem/foto";
+$a->strings["Encrypted content"] = "Conteúdo criptografado";
+$a->strings["Install %s element: "] = "Instalar elemento %s:";
+$a->strings["webpage"] = "página web";
+$a->strings["layout"] = "layout";
+$a->strings["block"] = "bloco";
+$a->strings["QR code"] = "código QR";
+$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s escreveu a seguinte %2\$s %3\$s";
+$a->strings["post"] = "publicação";
+$a->strings["Different viewers will see this text differently"] = "Visualizadores diferentes verão esse texto diferentemente";
+$a->strings["$1 spoiler"] = "$1 spoiler";
+$a->strings["$1 wrote:"] = "$1 escreveu:";
+$a->strings["created a new post"] = "criou uma nova publicação";
+$a->strings["commented on %s's post"] = "comentou a publicação de %s";
+$a->strings["Site Admin"] = "Administração do site";
+$a->strings["Bookmarks"] = "Links guardados";
+$a->strings["Address Book"] = "Livro de Endereços";
+$a->strings["Login"] = "Entrar";
+$a->strings["Channel Manager"] = "Seus canais";
+$a->strings["Matrix"] = "Matriz";
+$a->strings["Settings"] = "Configurações";
+$a->strings["Files"] = "Arquivos";
+$a->strings["Webpages"] = "Páginas web";
+$a->strings["Channel Home"] = "Página inicial do canal";
+$a->strings["Profile"] = "Perfil";
+$a->strings["Photos"] = "Fotos";
+$a->strings["Events"] = "Eventos";
+$a->strings["Directory"] = "Diretório";
+$a->strings["Help"] = "Ajuda";
+$a->strings["Mail"] = "Mensagens";
+$a->strings["Mood"] = "Humor";
+$a->strings["Poke"] = "Cutucar";
+$a->strings["Chat"] = "Bate-papo";
+$a->strings["Search"] = "Pesquisar";
+$a->strings["Probe"] = "Sonda";
+$a->strings["Suggest"] = "Sugerir";
+$a->strings["Random Channel"] = "Canal aleatório";
+$a->strings["Invite"] = "Convidar";
+$a->strings["Features"] = "Recursos";
+$a->strings["Language"] = "Idioma";
+$a->strings["Post"] = "Publicações";
+$a->strings["Profile Photo"] = "Foto do perfil";
+$a->strings["Update"] = "Atualizar";
+$a->strings["Install"] = "Instalar";
+$a->strings["Purchase"] = "Compras";
+$a->strings["Edit"] = "Editar";
+$a->strings["Delete"] = "Excluir";
+$a->strings["Unknown"] = "Desconhecidos";
+$a->strings["New Page"] = "Nova página";
+$a->strings["View"] = "Ver";
+$a->strings["Preview"] = "Pré-visualizar";
+$a->strings["Actions"] = "Ações";
+$a->strings["Page Link"] = "Link da página";
+$a->strings["Title"] = "Título";
+$a->strings["Created"] = "Criado";
+$a->strings["Edited"] = "Editado";
+$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "O token de segurança do formulário não estava correto. Isso provavelmente aconteceu porque o formulário ficou aberto por muito tempo (>3 horas) antes da sua submissão.";
+$a->strings["Invalid data packet"] = "Pacote de dados inválido";
+$a->strings["Unable to verify channel signature"] = "Não foi possível verificar a assinatura do canal";
+$a->strings["Unable to verify site signature for %s"] = "Não foi possível verificar a assinatura do site para %s";
+$a->strings["Permission denied."] = "Permissão negada.";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "A imagem excede o limite de tamanho do site, que é de %";
+$a->strings["Image file is empty."] = "O arquivo de imagem está vazio.";
+$a->strings["Unable to process image"] = "Não foi possível processar a imagem";
+$a->strings["Photo storage failed."] = "Não foi possível armazenar a foto.";
+$a->strings["Photo Albums"] = "Álbuns de fotos";
+$a->strings["Upload New Photos"] = "Enviar novas fotos";
+$a->strings["Visible to your default audience"] = "Visível para seu público padrão";
+$a->strings["Show"] = "Exibir";
+$a->strings["Don't show"] = "Não exibir";
+$a->strings["Permissions"] = "Permissões";
+$a->strings["Close"] = "Fechar";
+$a->strings[" and "] = " e ";
+$a->strings["public profile"] = "perfil público";
+$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s mudou %2\$s para &ldquo;%3\$s&rdquo;";
+$a->strings["Visit %1\$s's %2\$s"] = "Visite o %2\$s de %1\$s";
+$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s atualizou %2\$s, alterando %3\$s.";
+$a->strings["Public Timeline"] = "Linha do tempo pública";
+$a->strings["Default"] = "Default";
+$a->strings["Directory Options"] = "Opções do Diretório";
+$a->strings["Alphabetic"] = "Alfabética";
+$a->strings["Reverse Alphabetic"] = "Alfabética reversa";
+$a->strings["Newest to Oldest"] = "Das mais recentes para as mais antigas";
+$a->strings["Oldest to Newest"] = "Do mais Antigo para o mais Novo";
+$a->strings["Sort"] = "Ordenar";
+$a->strings["Safe Mode"] = "Modo tranquilo";
+$a->strings["Public Forums Only"] = "Somente Fóruns públicos";
+$a->strings["This Website Only"] = "Somente este Website";
+$a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
+$a->strings["Starts:"] = "Início:";
+$a->strings["Finishes:"] = "Fim:";
+$a->strings["Location:"] = "Localização:";
+$a->strings["This event has been added to your calendar."] = "Esse evento foi adicionado ao seu calendário.";
+$a->strings["Delete this item?"] = "Excluir este item?";
+$a->strings["Comment"] = "Comentar";
+$a->strings["[+] show all"] = "[+] mostrar todos";
+$a->strings["[-] show less"] = "[-] mostra menos";
+$a->strings["[+] expand"] = "[+] expandir";
+$a->strings["[-] collapse"] = "[-] colapsar";
+$a->strings["Password too short"] = "A senha é muito curta";
+$a->strings["Passwords do not match"] = "As senhas não correspondem";
+$a->strings["everybody"] = "todos";
+$a->strings["Secret Passphrase"] = "Frase secreta";
+$a->strings["Passphrase hint"] = "Dica da frase secreta";
+$a->strings["Notice: Permissions have changed but have not yet been submitted."] = "Atenção: permissões foram modificadas mas ainda não foram enviadas.";
+$a->strings["close all"] = "fechar tudo";
+$a->strings["Nothing new here"] = "Nada de novo aqui";
+$a->strings["Rate This Channel (this is public)"] = "Avalie esse canal (isso é público)";
+$a->strings["Rating"] = "Avaliação";
+$a->strings["Describe (optional)"] = "Descreva (opcional)";
+$a->strings["Submit"] = "Enviar";
+$a->strings["Please enter a link URL"] = "Por favor entre um endereço URL";
+$a->strings["Unsaved changes. Are you sure you wish to leave this page?"] = "Mudanças não salvas. Você tem certeza que deseja deixar essa página?";
+$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+$a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+$a->strings["ago"] = "atrás";
+$a->strings["from now"] = "de agora";
+$a->strings["less than a minute"] = "menos de um minuto";
+$a->strings["about a minute"] = "aproximadamente um minuto";
+$a->strings["%d minutes"] = "%d minutos";
+$a->strings["about an hour"] = "aproximadamente uma hora";
+$a->strings["about %d hours"] = "aproximadamente %d horas";
+$a->strings["a day"] = "um dia";
+$a->strings["%d days"] = "%d dias";
+$a->strings["about a month"] = "aproximadamente um mês";
+$a->strings["%d months"] = "%d meses";
+$a->strings["about a year"] = "aproximadamente um ano";
+$a->strings["%d years"] = "%d anos";
+$a->strings[" "] = " ";
+$a->strings["timeago.numbers"] = "timeago.numbers";
$a->strings["parent"] = "nível superior";
$a->strings["Principal"] = "Principal";
$a->strings["Addressbook"] = "Livro de endereços";
@@ -253,10 +248,6 @@ $a->strings["Create new folder"] = "Criar uma nova pasta";
$a->strings["Upload file"] = "Enviar arquivo";
$a->strings["%1\$s's bookmarks"] = "Links guardados de %1\$s";
$a->strings["view full size"] = "ver na tela inteira";
-$a->strings["\$Projectname Notification"] = "\$Projectname Notificação";
-$a->strings["Thank You,"] = "Obrigado(a),";
-$a->strings["%s Administrator"] = "Administrador de %s";
-$a->strings["No Subject"] = "Sem Assunto";
$a->strings["General Features"] = "Recursos gerais";
$a->strings["Content Expiration"] = "Expiração de conteúdo";
$a->strings["Remove posts/comments and/or private messages at a future time"] = "Remover publicações/comentários e/ou mensagens privadas num momento futuro.";
@@ -287,8 +278,8 @@ $a->strings["Channel Sources"] = "Fontes do canal";
$a->strings["Automatically import channel content from other channels or feeds"] = "Importar automaticamente conteúdo de outros canais ou fontes";
$a->strings["Even More Encryption"] = "Mais encriptação ainda";
$a->strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Permitir encriptação opcional de conteúdo, ponta-a-ponta com uma chave secreta compartilhada";
-$a->strings["Enable voting tools"] = "Habilitar ferramentas de enquete";
-$a->strings["Provide a class of post which others can vote on"] = "Forneça uma classe de publicação que permite enquetes";
+$a->strings["Enable voting tools"] = "Habilitar ferramenta de votos";
+$a->strings["Provide a class of post which others can vote on"] = "Forneça uma classe de publicação que outros possam votar";
$a->strings["Network and Stream Filtering"] = "Filtragem de rede e fluxo";
$a->strings["Search by Date"] = "Pesquisar por data";
$a->strings["Ability to select posts by date ranges"] = "capacidade de selecionar publicações por intervalos de datas";
@@ -302,8 +293,6 @@ $a->strings["Network New Tab"] = "Aba de novidades da rede";
$a->strings["Enable tab to display all new Network activity"] = "Habilita uma aba para exibir todas as novas atividades da rede";
$a->strings["Affinity Tool"] = "Ferramenta de afinidade";
$a->strings["Filter stream activity by depth of relationships"] = "Filtra o fluxo de atividades de acordo com o nível do relacionamento";
-$a->strings["Connection Filtering"] = "Filtragem de conexões";
-$a->strings["Filter incoming posts from connections based on keywords/content"] = "Filtrar publicações de conexões baseado em palavras-chave/conteúdo";
$a->strings["Suggest Channels"] = "Sugerir canais";
$a->strings["Show channel suggestions"] = "Exibir sugestões de canais";
$a->strings["Post/Comment Tools"] = "Ferramentas de publicação/comentário";
@@ -363,6 +352,10 @@ $a->strings["photo/image"] = "foto/imagem";
$a->strings["Rate Me"] = "Avalie-me";
$a->strings["View Ratings"] = "Ver avaliações";
$a->strings["Public Hubs"] = "Hubs Públicos";
+$a->strings["\$Projectname Notification"] = "\$Projectname Notificação";
+$a->strings["\$projectname"] = "\$projectname";
+$a->strings["Thank You,"] = "Obrigado(a),";
+$a->strings["%s Administrator"] = "Administrador de %s";
$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
$a->strings["[Red:Notify] New mail received at %s"] = "[Red:Notify] Nova mensagem recebida em %s";
$a->strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s te enviou uma nova mensagem privada em %3\$s.";
@@ -399,6 +392,22 @@ $a->strings["Name:"] = "Nome:";
$a->strings["Photo:"] = "Foto:";
$a->strings["Please visit %s to approve or reject the suggestion."] = "Por favor, visite %s para aprovar ou rejeitar a sugestão.";
$a->strings["[Red:Notify]"] = "[Red:Notify]";
+$a->strings["Frequently"] = "Frequentemente";
+$a->strings["Hourly"] = "De hora em hora";
+$a->strings["Twice daily"] = "Duas vezes ao dia";
+$a->strings["Daily"] = "Diariamente";
+$a->strings["Weekly"] = "Semanalmente";
+$a->strings["Monthly"] = "Mensalmente";
+$a->strings["Friendica"] = "Friendica";
+$a->strings["OStatus"] = "OStatus";
+$a->strings["RSS/Atom"] = "RSS/Atom";
+$a->strings["Email"] = "E-mail";
+$a->strings["Diaspora"] = "Diaspora";
+$a->strings["Facebook"] = "Facebook";
+$a->strings["Zot!"] = "Zot!";
+$a->strings["LinkedIn"] = "LinkedIn";
+$a->strings["XMPP/IM"] = "XMPP/MI";
+$a->strings["MySpace"] = "MySpace";
$a->strings["No recipient provided."] = "Falta o destinatário.";
$a->strings["[no subject]"] = "[sem assunto]";
$a->strings["Unable to determine sender."] = "Não foi possível determinar o remetente.";
@@ -408,7 +417,6 @@ $a->strings["Channel location missing."] = "A localização do canal foi perdida
$a->strings["Response from remote channel was incomplete."] = "A resposta do canal remoto está incompleta.";
$a->strings["Channel was deleted and no longer exists."] = "O canal foi deletado e não existe mais.";
$a->strings["Protocol disabled."] = "Protocolo desabilitado.";
-$a->strings["Protocol blocked for this channel."] = "Protocolo bloqueado para este canal.";
$a->strings["Channel discovery failed."] = "A descoberta de canais falhou.";
$a->strings["local account not found."] = "a conta local não foi encontrada.";
$a->strings["Cannot connect to yourself."] = "Não é possível conectar-se consigo mesmo.";
@@ -455,22 +463,69 @@ $a->strings["via Wall-To-Wall:"] = "via Mural-para-mural";
$a->strings["from %s"] = "de %s";
$a->strings["last edited: %s"] = "última edição: %s";
$a->strings["Expires: %s"] = "Expira: %s";
-$a->strings["Save Bookmarks"] = "Salve Favoritos";
-$a->strings["Add to Calendar"] = "Adicione ao calendário";
-$a->strings["Mark all seen"] = "Marcar todos como visto";
-$a->strings["__ctx:noun__ Likes"] = "Gostaram";
-$a->strings["__ctx:noun__ Dislikes"] = "Desgostaram";
-$a->strings["Close"] = "Fechar";
+$a->strings["View in context"] = "Ver no contexto";
$a->strings["Please wait"] = "Por favor, espere";
-$a->strings["This is you"] = "Este(a) é você";
-$a->strings["Bold"] = "Negrito";
-$a->strings["Italic"] = "Itálico";
-$a->strings["Underline"] = "Sublinhado";
-$a->strings["Quote"] = "Citação";
-$a->strings["Code"] = "Código";
-$a->strings["Image"] = "Imagem";
-$a->strings["Insert Link"] = "Inserir link";
-$a->strings["Video"] = "Vídeo";
+$a->strings["remove"] = "remover";
+$a->strings["Loading..."] = "Carregando...";
+$a->strings["Delete Selected Items"] = "Excluir os itens selecionados";
+$a->strings["View Source"] = "Ver a fonte";
+$a->strings["Follow Thread"] = "Acompanhar a discussão";
+$a->strings["View Status"] = "Ver status";
+$a->strings["View Profile"] = "Ver perfil";
+$a->strings["View Photos"] = "Ver fotos";
+$a->strings["Matrix Activity"] = "Atividade na matriz";
+$a->strings["Connect"] = "Conectar";
+$a->strings["Edit Contact"] = "Editar contato";
+$a->strings["Send PM"] = "Enviar MP";
+$a->strings["%s likes this."] = "%s gostou disso.";
+$a->strings["%s doesn't like this."] = "%s não gostou disso.";
+$a->strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "",
+ 1 => "<span %1\$s>%2\$d pessoas</span> gostaram disso.",
+);
+$a->strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "",
+ 1 => "<span %1\$s>%2\$d pessoas</span> não gostaram disso.",
+);
+$a->strings["and"] = "e";
+$a->strings[", and %d other people"] = array(
+ 0 => "",
+ 1 => ", e mais %d outras pessoas",
+);
+$a->strings["%s like this."] = "%s gostou disso.";
+$a->strings["%s don't like this."] = "%s não gostou disso.";
+$a->strings["Visible to <strong>everybody</strong>"] = "Visível para <strong>todos</strong>";
+$a->strings["Please enter a link URL:"] = "Por favor, digite uma URL:";
+$a->strings["Please enter a video link/URL:"] = "Por favor, digite o link/URL do vídeo:";
+$a->strings["Please enter an audio link/URL:"] = "Por favor, digite o link/URL do áudio:";
+$a->strings["Tag term:"] = "Etiqueta:";
+$a->strings["Save to Folder:"] = "Salvar para a pasta:";
+$a->strings["Where are you right now?"] = "Onde você está agora?";
+$a->strings["Expires YYYY-MM-DD HH:MM"] = "Expira YYYY-MM-DD HH:MM";
+$a->strings["Share"] = "Compartilhar";
+$a->strings["Page link title"] = "Título do link da página";
+$a->strings["Post as"] = "Publicar como";
+$a->strings["Upload photo"] = "Enviar foto";
+$a->strings["upload photo"] = "enviar foto";
+$a->strings["Attach file"] = "Anexar arquivo";
+$a->strings["attach file"] = "anexar arquivo";
+$a->strings["Insert web link"] = "Inserir link web";
+$a->strings["web link"] = "link web";
+$a->strings["Insert video link"] = "Inserir link de vídeo";
+$a->strings["video link"] = "link de vídeo";
+$a->strings["Insert audio link"] = "Inserir link de áudio";
+$a->strings["audio link"] = "link de áudio";
+$a->strings["Set your location"] = "Definir sua localização";
+$a->strings["set location"] = "definir localização";
+$a->strings["Clear browser location"] = "Limpar a localização do navegador";
+$a->strings["clear location"] = "limpar a localização";
+$a->strings["Set title"] = "Definir o título";
+$a->strings["Categories (comma-separated list)"] = "Categorias (lista separada por vírgulas)";
+$a->strings["Permission settings"] = "Configurações de permissão";
+$a->strings["permissions"] = "permissões";
+$a->strings["Public post"] = "Publicação pública";
+$a->strings["Example: bob@example.com, mary@example.com"] = "Por exemplo: joao@exemplo.com, maria@exemplo.com";
+$a->strings["Set expiration date"] = "Definir data de expiração";
$a->strings["Encrypt text"] = "Encriptar texto";
$a->strings["New window"] = "Nova janela";
$a->strings["Open the selected location in a different window or browser tab"] = "Abre a localização selecionada em outra aba ou janela";
@@ -545,13 +600,32 @@ $a->strings["have"] = "tenho";
$a->strings["has"] = "tem";
$a->strings["want"] = "quero";
$a->strings["wants"] = "quer";
+$a->strings["like"] = "gostei";
$a->strings["likes"] = "gosta";
+$a->strings["dislike"] = "não gostei";
$a->strings["dislikes"] = "desgosta";
$a->strings[" and "] = " e ";
$a->strings["public profile"] = "perfil público";
$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s mudou %2\$s para &ldquo;%3\$s&rdquo;";
$a->strings["Visit %1\$s's %2\$s"] = "Visite o %2\$s de %1\$s";
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s atualizou %2\$s, alterando %3\$s.";
+$a->strings["Permission denied"] = "Permissão negada";
+$a->strings["(Unknown)"] = "(Desconhecido)";
+$a->strings["Visible to anybody on the internet."] = "Visível para todos na internet.";
+$a->strings["Visible to you only."] = "Visível somente para você.";
+$a->strings["Visible to anybody in this network."] = "Visível para todos nesta rede.";
+$a->strings["Visible to anybody authenticated."] = "Visível para todos autenticados.";
+$a->strings["Visible to anybody on %s."] = "Visível para todos em %s.";
+$a->strings["Visible to all connections."] = "Visível para todas as conexões.";
+$a->strings["Visible to approved connections."] = "Visível para conexões aprovadas.";
+$a->strings["Visible to specific connections."] = "Visível para conexões específicas.";
+$a->strings["Item not found."] = "O item não foi encontrado.";
+$a->strings["Permission denied."] = "Permissão negada.";
+$a->strings["Collection not found."] = "A coleção não foi encontrada.";
+$a->strings["Collection is empty."] = "A coleção está vazia.";
+$a->strings["Collection: %s"] = "Coleção: %s";
+$a->strings["Connection: %s"] = "Conexão: %s";
+$a->strings["Connection not found."] = "A conexão não foi encontrada.";
$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "O token de segurança do formulário não estava correto. Isso provavelmente aconteceu porque o formulário ficou aberto por muito tempo (>3 horas) antes da sua submissão.";
$a->strings["Can view my normal stream and posts"] = "Pode ver meus fluxo e publicações normais";
$a->strings["Can view my default channel profile"] = "Pode ver o perfil padrão do meu canal";
@@ -587,6 +661,7 @@ $a->strings["Group Repository"] = "Repositório para grupo";
$a->strings["Other"] = "Outro";
$a->strings["Custom/Expert Mode"] = "Personalizado/Modo expert";
$a->strings["channel"] = "canal";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s gosta de %3\$s de %2\$s";
$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s não gosta de %3\$s de %2\$s";
$a->strings["%1\$s is now connected with %2\$s"] = "%1\$s agora está conectado com %2\$s";
$a->strings["%1\$s poked %2\$s"] = "%1\$s cutucou %2\$s";
@@ -653,7 +728,7 @@ $a->strings["Insert audio link"] = "Inserir link de áudio";
$a->strings["audio link"] = "link de áudio";
$a->strings["Set your location"] = "Definir sua localização";
$a->strings["set location"] = "definir localização";
-$a->strings["Toggle voting"] = "Alternar enquete";
+$a->strings["Toggle voting"] = "Alternar votação";
$a->strings["Clear browser location"] = "Limpar a localização do navegador";
$a->strings["clear location"] = "limpar a localização";
$a->strings["Title (optional)"] = "Título (opcional)";
@@ -703,31 +778,50 @@ $a->strings["__ctx:noun__ Agree"] = array(
0 => "Concorda",
1 => "Concordam",
);
-$a->strings["__ctx:noun__ Disagree"] = array(
- 0 => "Discordo",
- 1 => "Discordo",
+$a->strings["Default"] = "Default";
+$a->strings["Frequently"] = "Frequentemente";
+$a->strings["Hourly"] = "De hora em hora";
+$a->strings["Twice daily"] = "Duas vezes ao dia";
+$a->strings["Daily"] = "Diariamente";
+$a->strings["Weekly"] = "Semanalmente";
+$a->strings["Monthly"] = "Mensalmente";
+$a->strings["Friendica"] = "Friendica";
+$a->strings["OStatus"] = "OStatus";
+$a->strings["RSS/Atom"] = "RSS/Atom";
+$a->strings["Email"] = "E-mail";
+$a->strings["Diaspora"] = "Diaspora";
+$a->strings["Facebook"] = "Facebook";
+$a->strings["Zot!"] = "Zot!";
+$a->strings["LinkedIn"] = "LinkedIn";
+$a->strings["XMPP/IM"] = "XMPP/MI";
+$a->strings["MySpace"] = "MySpace";
+$a->strings["%d invitation available"] = array(
+ 0 => "%d convite disponível",
+ 1 => "%d convites disponíveis",
);
-$a->strings["__ctx:noun__ Abstain"] = array(
- 0 => "Abstenção",
- 1 => "Abstenções",
+$a->strings["Advanced"] = "Avançado";
+$a->strings["Find Channels"] = "Pesquisar canais";
+$a->strings["Enter name or interest"] = "Digite um nome ou interesse";
+$a->strings["Connect/Follow"] = "Conectar/Acompanhar";
+$a->strings["Examples: Robert Morgenstein, Fishing"] = "Por exemplo: José da Silva, Pescaria";
+$a->strings["Find"] = "Pesquisar";
+$a->strings["Channel Suggestions"] = "Sugestões de canais";
+$a->strings["Random Profile"] = "Perfil aleatório";
+$a->strings["Invite Friends"] = "Convidar amigos";
+$a->strings["Exammple: name=fred and country=iceland"] = "Exemplo: name=raoni and country=peru";
+$a->strings["Advanced Find"] = "Busca avançada";
+$a->strings["Saved Folders"] = "Pastas salvas";
+$a->strings["Everything"] = "Tudo";
+$a->strings["Categories"] = "Categorias";
+$a->strings["%d connection in common"] = array(
+ 0 => "%d conexão em comum",
+ 1 => "%d conexões em comum",
);
-$a->strings["Permission denied"] = "Permissão negada";
-$a->strings["(Unknown)"] = "(Desconhecido)";
-$a->strings["Visible to anybody on the internet."] = "Visível para todos na internet.";
-$a->strings["Visible to you only."] = "Visível somente para você.";
-$a->strings["Visible to anybody in this network."] = "Visível para todos nesta rede.";
-$a->strings["Visible to anybody authenticated."] = "Visível para todos autenticados.";
-$a->strings["Visible to anybody on %s."] = "Visível para todos em %s.";
-$a->strings["Visible to all connections."] = "Visível para todas as conexões.";
-$a->strings["Visible to approved connections."] = "Visível para conexões aprovadas.";
-$a->strings["Visible to specific connections."] = "Visível para conexões específicas.";
-$a->strings["Item not found."] = "O item não foi encontrado.";
-$a->strings["Permission denied."] = "Permissão negada.";
-$a->strings["Collection not found."] = "A coleção não foi encontrada.";
-$a->strings["Collection is empty."] = "A coleção está vazia.";
-$a->strings["Collection: %s"] = "Coleção: %s";
-$a->strings["Connection: %s"] = "Conexão: %s";
-$a->strings["Connection not found."] = "A conexão não foi encontrada.";
+$a->strings["Image exceeds website size limit of %lu bytes"] = "A imagem excede o limite de tamanho do site, que é de %";
+$a->strings["Image file is empty."] = "O arquivo de imagem está vazio.";
+$a->strings["Unable to process image"] = "Não foi possível processar a imagem";
+$a->strings["Photo storage failed."] = "Não foi possível armazenar a foto.";
+$a->strings["Upload New Photos"] = "Enviar novas fotos";
$a->strings["Invalid data packet"] = "Pacote de dados inválido";
$a->strings["Unable to verify channel signature"] = "Não foi possível verificar a assinatura do canal";
$a->strings["Unable to verify site signature for %s"] = "Não foi possível verificar a assinatura do site para %s";
@@ -782,12 +876,14 @@ $a->strings["Reserved nickname. Please choose another."] = "Apelido reservado. P
$a->strings["Nickname has unsupported characters or is already being used on this site."] = "O apelido possui caracteres não suportados ou já está sendo usado nesse site.";
$a->strings["Unable to retrieve created identity"] = "Não foi possível recuperar a identidade criada";
$a->strings["Default Profile"] = "Perfil padrão";
+$a->strings["Friends"] = "Amigos";
$a->strings["Requested channel is not available."] = "Canal solicitado não está disponível.";
$a->strings["Requested profile is not available."] = "O perfil solicitado não está disponível.";
$a->strings["Change profile photo"] = "Mudar a foto do perfil";
$a->strings["Profiles"] = "Perfis";
$a->strings["Manage/edit profiles"] = "Administrar/editar perfis";
$a->strings["Create New Profile"] = "Criar um novo perfil";
+$a->strings["Edit Profile"] = "Editar perfil";
$a->strings["Profile Image"] = "Imagem do perfil";
$a->strings["visible to everybody"] = "visível para todos";
$a->strings["Edit visibility"] = "Editar a visibilidade";
@@ -803,7 +899,6 @@ $a->strings["Birthdays this week:"] = "Aniversários nesta semana:";
$a->strings["[No description]"] = "[Sem descrição]";
$a->strings["Event Reminders"] = "Lembretes de eventos";
$a->strings["Events this week:"] = "Eventos nesta semana:";
-$a->strings["Profile"] = "Perfil";
$a->strings["Full Name:"] = "Nome completo:";
$a->strings["Like this channel"] = "Gostar deste canal";
$a->strings["j F, Y"] = "j \\d\\e F, Y";
@@ -830,6 +925,163 @@ $a->strings["Love/Romance:"] = "Amor/romance:";
$a->strings["Work/employment:"] = "Trabalho/emprego:";
$a->strings["School/education:"] = "Escola/educação:";
$a->strings["Like this thing"] = "Gostar desta coisa";
+$a->strings["Logout"] = "Sair";
+$a->strings["End this session"] = "Encerrar essa sessão";
+$a->strings["Home"] = "Ver canal";
+$a->strings["Your posts and conversations"] = "Suas publicações e conversas";
+$a->strings["Your profile page"] = "A página do seu perfil";
+$a->strings["Edit Profiles"] = "Editar perfis";
+$a->strings["Manage/Edit profiles"] = "Administrar/Editar perfis";
+$a->strings["Edit your profile"] = "Editar seu perfil";
+$a->strings["Your photos"] = "Suas fotos";
+$a->strings["Your files"] = "Seus arquivos";
+$a->strings["Your chatrooms"] = "Suas salas de bate-papo";
+$a->strings["Your bookmarks"] = "Seus links guardados";
+$a->strings["Your webpages"] = "Suas páginas web";
+$a->strings["Sign in"] = "Entrar";
+$a->strings["%s - click to logout"] = "%s - clique para sair";
+$a->strings["Click to authenticate to your home hub"] = "Clique para se autenticar com seu hub de origem";
+$a->strings["Home Page"] = "Página inicial";
+$a->strings["Register"] = "Registrar";
+$a->strings["Create an account"] = "Criar uma conta";
+$a->strings["Help and documentation"] = "Ajuda e documentação";
+$a->strings["Apps"] = "Aplicações";
+$a->strings["Applications, utilities, links, games"] = "Aplicações, utilitários, links, jogos";
+$a->strings["Search site content"] = "Pesquisar o conteúdo do site";
+$a->strings["Channel Locator"] = "Localizador de canais";
+$a->strings["Your matrix"] = "Sua matriz";
+$a->strings["Mark all matrix notifications seen"] = "Marcar todas as notificações da matriz como vistas";
+$a->strings["Channel home"] = "Página inicial do canal";
+$a->strings["Mark all channel notifications seen"] = "Marcar todas as notificações de canais como vistas";
+$a->strings["Connections"] = "Conexões";
+$a->strings["Notices"] = "Notificações";
+$a->strings["Notifications"] = "Notificações";
+$a->strings["See all notifications"] = "Ver todas as notificações";
+$a->strings["Mark all system notifications seen"] = "Marcar todas as notificações de sistema como vistas";
+$a->strings["Private mail"] = "Mensagens privadas";
+$a->strings["See all private messages"] = "Ver todas as mensagens privadas";
+$a->strings["Mark all private messages seen"] = "Marcar todas as mensagens privadas como vistas";
+$a->strings["Inbox"] = "Recebidas";
+$a->strings["Outbox"] = "Enviadas";
+$a->strings["New Message"] = "Nova mensagem";
+$a->strings["Event Calendar"] = "Agenda de eventos";
+$a->strings["See all events"] = "Ver todos os eventos";
+$a->strings["Mark all events seen"] = "Marcar todos os eventos como vistos";
+$a->strings["Manage Your Channels"] = "Gerencie os seus canais";
+$a->strings["Account/Channel Settings"] = "Configurações da conta/canal";
+$a->strings["Admin"] = "Admin";
+$a->strings["Site Setup and Configuration"] = "Configuração do site";
+$a->strings["Please wait..."] = "Por favor, aguarde...";
+$a->strings["No recipient provided."] = "Falta o destinatário.";
+$a->strings["[no subject]"] = "[sem assunto]";
+$a->strings["Unable to determine sender."] = "Não foi possível determinar o remetente.";
+$a->strings["Stored post could not be verified."] = "Não foi possível verificar a publicação armazenada.";
+$a->strings["System"] = "Sistema";
+$a->strings["Create Personal App"] = "Crie aplicações pessoais";
+$a->strings["Edit Personal App"] = "Edite aplicações pessoais";
+$a->strings["Ignore/Hide"] = "Ignorar/Ocultar";
+$a->strings["Suggestions"] = "Sugestões";
+$a->strings["See more..."] = "Veja mais...";
+$a->strings["You have %1$.0f of %2$.0f allowed connections."] = "Você tem %1$.0f de %2$.0f conexões permitidas.";
+$a->strings["Add New Connection"] = "Adicionar nova conexão";
+$a->strings["Enter the channel address"] = "Digite o endereço do canal";
+$a->strings["Example: bob@example.com, http://example.com/barbara"] = "Por exemplo: joao@exemplo.com, http://exemplo.com/maria";
+$a->strings["Notes"] = "Notas";
+$a->strings["Remove term"] = "Remover termo";
+$a->strings["Archives"] = "Arquivos";
+$a->strings["Refresh"] = "Atualizar";
+$a->strings["Me"] = "Eu";
+$a->strings["Best Friends"] = "Melhores amigos";
+$a->strings["Co-workers"] = "Colegas de trabalho";
+$a->strings["Former Friends"] = "Amigos afastados";
+$a->strings["Acquaintances"] = "Conhecidos";
+$a->strings["Everybody"] = "Todos";
+$a->strings["Account settings"] = "Configurações da conta";
+$a->strings["Channel settings"] = "Configurações do canal";
+$a->strings["Additional features"] = "Recursos adicionais";
+$a->strings["Feature settings"] = "Configurações dos recursos";
+$a->strings["Display settings"] = "Configurações de exibição";
+$a->strings["Connected apps"] = "Aplicações conectadas";
+$a->strings["Export channel"] = "Exportar o canal";
+$a->strings["Export content"] = "Exportar conteúdo";
+$a->strings["Automatic Permissions (Advanced)"] = "Permissões automáticas (avançado)";
+$a->strings["Premium Channel Settings"] = "Configurações de canal premium";
+$a->strings["Check Mail"] = "Checar mensagens";
+$a->strings["Chat Rooms"] = "Salas de bate-papo";
+$a->strings["Bookmarked Chatrooms"] = "Salas de bate-papo guardadas";
+$a->strings["Suggested Chatrooms"] = "Salas de bate-papo sugeridas";
+$a->strings["Save to Folder"] = "Salvar para pasta";
+$a->strings["View all"] = "Ver tudo";
+$a->strings["__ctx:noun__ Dislike"] = array(
+ 0 => "desgostou",
+ 1 => "desgostaram",
+);
+$a->strings["Add Star"] = "Adicione estrela";
+$a->strings["Remove Star"] = "Remove estrela";
+$a->strings["Toggle Star Status"] = "Alterna status da estrela";
+$a->strings["starred"] = "destacado";
+$a->strings["Add Tag"] = "Adiciona etiqueta";
+$a->strings["I like this (toggle)"] = "Eu gostei disso (alterna)";
+$a->strings["I don't like this (toggle)"] = "Eu não gostei disso (alterna)";
+$a->strings["Share This"] = "Compartilhe isso";
+$a->strings["share"] = "compartilhar";
+$a->strings["View %s's profile - %s"] = "Ver o perfil de %s - %s";
+$a->strings["to"] = "para";
+$a->strings["via"] = "via";
+$a->strings["Wall-to-Wall"] = "Mural-para-mural";
+$a->strings["via Wall-To-Wall:"] = "via Mural-para-mural";
+$a->strings["Save Bookmarks"] = "Salve Favoritos";
+$a->strings["Add to Calendar"] = "Adicione ao calendário";
+$a->strings["__ctx:noun__ Likes"] = "Gostaram";
+$a->strings["__ctx:noun__ Dislikes"] = "Desgostaram";
+$a->strings["%d comment"] = array(
+ 0 => "%d comentário",
+ 1 => "%d comentários",
+);
+$a->strings["[+] show all"] = "[+] mostrar todos";
+$a->strings["This is you"] = "Este(a) é você";
+$a->strings["Comment"] = "Comentar";
+$a->strings["Submit"] = "Enviar";
+$a->strings["Bold"] = "Negrito";
+$a->strings["Italic"] = "Itálico";
+$a->strings["Underline"] = "Sublinhado";
+$a->strings["Quote"] = "Citação";
+$a->strings["Code"] = "Código";
+$a->strings["Image"] = "Imagem";
+$a->strings["Link"] = "Link";
+$a->strings["Video"] = "Vídeo";
+$a->strings["Delete this item?"] = "Excluir este item?";
+$a->strings["[-] show less"] = "[-] mostra menos";
+$a->strings["[+] expand"] = "[+] expandir";
+$a->strings["[-] collapse"] = "[-] colapsar";
+$a->strings["Password too short"] = "A senha é muito curta";
+$a->strings["Passwords do not match"] = "As senhas não correspondem";
+$a->strings["everybody"] = "todos";
+$a->strings["Secret Passphrase"] = "Frase secreta";
+$a->strings["Passphrase hint"] = "Dica da frase secreta";
+$a->strings["Notice: Permissions have changed but have not yet been submitted."] = "Atenção: permissões foram modificadas mas ainda não foram enviadas.";
+$a->strings["close all"] = "fechar tudo";
+$a->strings["Nothing new here"] = "Nada de novo aqui";
+$a->strings["timeago.prefixAgo"] = "timeago.prefixAgo";
+$a->strings["timeago.prefixFromNow"] = "timeago.prefixFromNow";
+$a->strings["ago"] = "atrás";
+$a->strings["from now"] = "de agora";
+$a->strings["less than a minute"] = "menos de um minuto";
+$a->strings["about a minute"] = "aproximadamente um minuto";
+$a->strings["%d minutes"] = "%d minutos";
+$a->strings["about an hour"] = "aproximadamente uma hora";
+$a->strings["about %d hours"] = "aproximadamente %d horas";
+$a->strings["a day"] = "um dia";
+$a->strings["%d days"] = "%d dias";
+$a->strings["about a month"] = "aproximadamente um mês";
+$a->strings["%d months"] = "%d meses";
+$a->strings["about a year"] = "aproximadamente um ano";
+$a->strings["%d years"] = "%d anos";
+$a->strings[" "] = " ";
+$a->strings["timeago.numbers"] = "timeago.numbers";
+$a->strings["New window"] = "Nova janela";
+$a->strings["Open the selected location in a different window or browser tab"] = "Abre a localização selecionada em outra aba ou janela";
+$a->strings["User '%s' deleted"] = "O usuário/a '%s' foi deletado/a";
$a->strings["Male"] = "Masculino";
$a->strings["Female"] = "Feminino";
$a->strings["Currently Male"] = "Atualmente masculino";
@@ -842,6 +1094,7 @@ $a->strings["Transsexual"] = "Transexual";
$a->strings["Hermaphrodite"] = "Hermafrodita";
$a->strings["Neuter"] = "Neutro";
$a->strings["Non-specific"] = "Não específico";
+$a->strings["Other"] = "Outro";
$a->strings["Undecided"] = "Indeciso";
$a->strings["Males"] = "Homens";
$a->strings["Females"] = "Mulheres";
@@ -886,116 +1139,202 @@ $a->strings["Uncertain"] = "Incerto(a)";
$a->strings["It's complicated"] = "É complicado";
$a->strings["Don't care"] = "Não importa";
$a->strings["Ask me"] = "Pergunte-me";
-$a->strings["Site Admin"] = "Administração do site";
-$a->strings["Address Book"] = "Livro de Endereços";
-$a->strings["Mood"] = "Humor";
-$a->strings["Probe"] = "Sonda";
-$a->strings["Suggest"] = "Sugerir";
-$a->strings["Random Channel"] = "Canal aleatório";
-$a->strings["Invite"] = "Convidar";
-$a->strings["Features"] = "Recursos";
-$a->strings["Language"] = "Idioma";
-$a->strings["Post"] = "Publicação";
-$a->strings["Profile Photo"] = "Foto do perfil";
-$a->strings["Update"] = "Atualizar";
-$a->strings["Install"] = "Instalar";
-$a->strings["Purchase"] = "Compras";
-$a->strings["Image/photo"] = "Imagem/foto";
-$a->strings["Encrypted content"] = "Conteúdo criptografado";
-$a->strings["Install %s element: "] = "Instalar elemento %s:";
-$a->strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Esta publicação contém um elemento %s instalável, porém você não tem permissões para instalá-lo neste site.";
-$a->strings["webpage"] = "página web";
-$a->strings["layout"] = "layout";
-$a->strings["block"] = "bloco";
-$a->strings["menu"] = "menu";
-$a->strings["QR code"] = "código QR";
-$a->strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s escreveu a seguinte %2\$s %3\$s";
-$a->strings["post"] = "publicação";
-$a->strings["Different viewers will see this text differently"] = "Visualizadores diferentes verão esse texto diferentemente";
-$a->strings["$1 spoiler"] = "$1 spoiler";
-$a->strings["$1 wrote:"] = "$1 escreveu:";
-$a->strings["Missing room name"] = "Nome da sala vazio";
-$a->strings["Duplicate room name"] = "Nome da sala duplicado";
-$a->strings["Invalid room specifier."] = "Especificador de sala inválido.";
-$a->strings["Room not found."] = "A sala não foi encontrada.";
-$a->strings["Room is full"] = "A sala está cheia";
-$a->strings["Image exceeds website size limit of %lu bytes"] = "A imagem excede o limite de tamanho do site, que é de %";
-$a->strings["Image file is empty."] = "O arquivo de imagem está vazio.";
-$a->strings["Unable to process image"] = "Não foi possível processar a imagem";
-$a->strings["Photo storage failed."] = "Não foi possível armazenar a foto.";
-$a->strings["Upload New Photos"] = "Enviar novas fotos";
-$a->strings["Some blurb about what to do when you're new here"] = "Alguma coisa sobre o que fazer quando se é novo aqui";
-$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Você criou %1$.0f de %2$.0f canais permitidos.";
-$a->strings["Create a new channel"] = "Criar um novo canal";
-$a->strings["Current Channel"] = "Canal atual";
-$a->strings["Switch to one of your channels by selecting it."] = "Troque para um de seus canais selecionando-o.";
-$a->strings["Default Channel"] = "Canal padrão";
-$a->strings["Make Default"] = "Tornar padrão";
-$a->strings["%d new messages"] = "%d novas mensagens";
-$a->strings["%d new introductions"] = "%d novas apresentações";
-$a->strings["Delegated Channels"] = "Canais delegados";
-$a->strings["Public access denied."] = "Acesso público negado.";
-$a->strings["%d rating"] = array(
- 0 => "%d avaliação",
- 1 => "%d avaliações",
-);
-$a->strings["Gender: "] = "Gênero: ";
-$a->strings["Status: "] = "Status:";
-$a->strings["Homepage: "] = "Website:";
-$a->strings["Description:"] = "Descrição:";
-$a->strings["Public Forum:"] = "Fórum público:";
-$a->strings["Keywords: "] = "Palavras-chave:";
-$a->strings["Don't suggest"] = "Não sugerir";
-$a->strings["Common connections:"] = "Conexões em comum:";
-$a->strings["Global Directory"] = "Diretório global";
-$a->strings["Local Directory"] = "Diretório local";
-$a->strings["Finding:"] = "Pesquisando:";
-$a->strings["next page"] = "próxima página";
-$a->strings["previous page"] = "página anterior";
-$a->strings["Sort options"] = "Opções de ordenação";
-$a->strings["Alphabetic"] = "Alfabética";
-$a->strings["Reverse Alphabetic"] = "Alfabética reversa";
-$a->strings["Newest to Oldest"] = "Das mais recentes para as mais antigas";
-$a->strings["Oldest to Newest"] = "Do mais Antigo para o mais Novo";
-$a->strings["No entries (some entries may be hidden)."] = "Nenhuma entrada (algumas entradas podem estar escondidas).";
-$a->strings["Xchan Lookup"] = "Encontrar Xchan";
-$a->strings["Lookup xchan beginning with (or webbie): "] = "Encontrar xchan iniciado por (ou webbie):";
+$a->strings["Logged out."] = "Você saiu.";
+$a->strings["Failed authentication"] = "Não foi possível autenticar";
+$a->strings["Login failed."] = "Não foi possível entrar.";
+$a->strings["Can view my normal stream and posts"] = "Pode ver meus fluxo e publicações normais";
+$a->strings["Can view my default channel profile"] = "Pode ver o perfil padrão do meu canal";
+$a->strings["Can view my photo albums"] = "Pode ver meus álbuns de fotos";
+$a->strings["Can view my connections"] = "Pode ver minhas conexões";
+$a->strings["Can view my file storage"] = "Pode ver meu armazenamento de arquivos";
+$a->strings["Can view my webpages"] = "Pode ver minhas páginas web";
+$a->strings["Can send me their channel stream and posts"] = "Pode me enviar seu fluxo e publicações";
+$a->strings["Can post on my channel page (\"wall\")"] = "Pode publicar na página do meu canal (\"mural\")";
+$a->strings["Can comment on or like my posts"] = "Pode comentar em ou gostar de minhas publicações";
+$a->strings["Can send me private mail messages"] = "Pode me enviar mensagens privadas";
+$a->strings["Can post photos to my photo albums"] = "Pode publicar fotos nos meus álbuns de fotos";
+$a->strings["Can like/dislike stuff"] = "Pode gostar/desgostar de coisas";
+$a->strings["Profiles and things other than posts/comments"] = "Perfis e coisas que não publicações/comentários";
+$a->strings["Can forward to all my channel contacts via post @mentions"] = "Pode encaminhar para todos os contatos do meu canal via @menções na publicação";
+$a->strings["Advanced - useful for creating group forum channels"] = "Avançado - útil para criar canais de fóruns de grupos";
+$a->strings["Can chat with me (when available)"] = "Pode conversar comigo (quando disponívei)";
+$a->strings["Can write to my file storage"] = "Pode escrever em meu armazenamento de arquivos";
+$a->strings["Can edit my webpages"] = "Pode editar minhas páginas web";
+$a->strings["Can source my public posts in derived channels"] = "Pode usar minhas publicações públicas como fonte para canais derivados";
+$a->strings["Somewhat advanced - very useful in open communities"] = "Avançado - muito útil em comunidades abertas";
+$a->strings["Can administer my channel resources"] = "Pode administrar os recursos do meu canal";
+$a->strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Extremamente avançado. Não mexa nisso a não ser que saiba o que está fazendo";
+$a->strings["Social Networking"] = "Rede social";
+$a->strings["Mostly Public"] = "Padrão público";
+$a->strings["Restricted"] = "Restrito";
+$a->strings["Private"] = "Privado";
+$a->strings["Community Forum"] = "Fórum de comunidade";
+$a->strings["Feed Republish"] = "Republicação de feed";
+$a->strings["Celebrity/Soapbox"] = "Personalidade/Palanque";
+$a->strings["Custom/Expert Mode"] = "Personalizado/Modo expert";
+$a->strings["Set your current mood and tell your friends"] = "Marque seu humor atual e compartilhe com seus amigos";
+$a->strings["Menu not found."] = "O menu não foi encontrado.";
+$a->strings["Menu element updated."] = "O elemento de menu foi atualizado.";
+$a->strings["Unable to update menu element."] = "Não foi possível atualizar o elemento de menu.";
+$a->strings["Menu element added."] = "O elemento de menu foi adicionado.";
+$a->strings["Unable to add menu element."] = "Não foi possível adicionar o elemento de menu.";
$a->strings["Not found."] = "Não encontrado.";
+$a->strings["Manage Menu Elements"] = "Administrar elementos de menu";
+$a->strings["Edit menu"] = "Editar menu";
+$a->strings["Edit element"] = "Editar elemento";
+$a->strings["Drop element"] = "Descartar elemento";
+$a->strings["New element"] = "Novo elemento";
+$a->strings["Edit this menu container"] = "Editar esta caixa de menu";
+$a->strings["Add menu element"] = "Adicionar um elemento de menu";
+$a->strings["Delete this menu item"] = "Deleter este item de menu";
+$a->strings["Edit this menu item"] = "Editar este item de menu";
+$a->strings["New Menu Element"] = "Novo elemento de menu";
+$a->strings["Menu Item Permissions"] = "Permissões do item do menu";
+$a->strings["(click to open/close)"] = "(clique para abrir/fechar)";
+$a->strings["Link text"] = "Texto do link";
+$a->strings["URL of link"] = "URL do link";
+$a->strings["Use Red magic-auth if available"] = "Usar <em>Red magic-auth</em> se disponível";
+$a->strings["Open link in new window"] = "Abrir link em uma nova janela";
+$a->strings["Order in list"] = "Ordem na lista";
+$a->strings["Higher numbers will sink to bottom of listing"] = "Números mais altos descem para o fim da lista";
+$a->strings["Menu item not found."] = "O item de menu não foi encontrado.";
+$a->strings["Menu item deleted."] = "O item de menu foi deletado.";
+$a->strings["Menu item could not be deleted."] = "Não foi possível deletar o item de menu.";
+$a->strings["Edit Menu Element"] = "Editar elemento de menu";
+$a->strings["Modify"] = "Modificar";
+$a->strings["Some blurb about what to do when you're new here"] = "Alguma coisa sobre o que fazer quando se é novo aqui";
+$a->strings["sent you a private message"] = "lhe enviou uma mensagem privada";
+$a->strings["added your channel"] = "adicionou seu canal";
+$a->strings["posted an event"] = "publicou um evento";
+$a->strings["network"] = "+ rede";
+$a->strings["Name is required"] = "É necessário informar o nome";
+$a->strings["Key and Secret are required"] = "A chave e o segredo são obrigatórios";
+$a->strings["Passwords do not match. Password unchanged."] = "As senhas não correspondem. A senha não foi modificada.";
+$a->strings["Empty passwords are not allowed. Password unchanged."] = "Não é permitido uma senha em branco. A senha não foi modificada.";
+$a->strings["Password changed."] = "A senha foi modificada.";
+$a->strings["Password update failed. Please try again."] = "Não foi possível atualizar a senha. Por favor, tente novamente.";
+$a->strings["Not valid email."] = "Não é um e-mail válido";
+$a->strings["Protected email address. Cannot change to that email."] = "Endereço de e-mail protegido. Não é possível mudar para esse e-mail.";
+$a->strings["System failure storing new email. Please try again."] = "Falha do sistema ao armazenar novo e-mail. Por favor, tente novamente.";
+$a->strings["Settings updated."] = "As configurações foram atualizadas.";
+$a->strings["Add application"] = "Adicionar aplicação";
+$a->strings["Name of application"] = "Nome da aplicação";
+$a->strings["Consumer Key"] = "Chave de consumidor";
+$a->strings["Automatically generated - change if desired. Max length 20"] = "Gerado automaticamente - troque se desejável. Comprimento máximo 20";
+$a->strings["Consumer Secret"] = "Segredo de consumidor";
+$a->strings["Redirect"] = "Redirecionamento";
+$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI de redirecionamento - deixe em branco, a não ser que sua aplicação especificamente requeira isso";
+$a->strings["Icon url"] = "URL do ícone";
+$a->strings["Optional"] = "Opcional";
+$a->strings["You can't edit this application."] = "Você não pode editar esta aplicação.";
+$a->strings["Connected Apps"] = "Aplicações conectadas";
+$a->strings["Client key starts with"] = "Chave do cliente começa com";
+$a->strings["No name"] = "Sem nome";
+$a->strings["Remove authorization"] = "Remover autorização";
+$a->strings["No feature settings configured"] = "Não foi definida nenhuma configuração do recurso";
+$a->strings["Feature Settings"] = "Configurações do recurso";
+$a->strings["Account Settings"] = "Configurações da conta";
+$a->strings["Password Settings"] = "Configurações da senha";
+$a->strings["New Password:"] = "Nova senha:";
+$a->strings["Confirm:"] = "Confirme:";
+$a->strings["Leave password fields blank unless changing"] = "Deixe os campos de senha em branco, a não ser que você queira alterá-la";
+$a->strings["Email Address:"] = "Endereço de e-mail:";
+$a->strings["Remove Account"] = "Remover conta";
+$a->strings["Remove this account from this server including all its channels"] = "Remove esta conta deste servidor incluindo todos os seus canais.";
+$a->strings["Warning: This action is permanent and cannot be reversed."] = "Atenção: Esta ação é permanente e não pode ser revertida.";
+$a->strings["Off"] = "Desligado";
+$a->strings["On"] = "Ligado";
+$a->strings["Additional Features"] = "Recursos adicionais";
+$a->strings["Connector Settings"] = "Configurações do conector";
+$a->strings["No special theme for mobile devices"] = "Sem tema especial para aparelhos móveis";
+$a->strings["%s - (Experimental)"] = "%s - (Experimental)";
+$a->strings["Display Settings"] = "Configurações de exibição";
+$a->strings["Display Theme:"] = "Tema do perfil:";
+$a->strings["Mobile Theme:"] = "Tema móvel:";
+$a->strings["Enable user zoom on mobile devices"] = "Permitir zoom pelo usuário em dispositivos móveis";
+$a->strings["Update browser every xx seconds"] = "Atualizar navegador a cada xx segundos";
+$a->strings["Minimum of 10 seconds, no maximum"] = "Mínimo de 10 segundos, sem máximo";
+$a->strings["Maximum number of conversations to load at any time:"] = "Número máximo permitido de conversas carregadas:";
+$a->strings["Maximum of 100 items"] = "Máximo de 100 itens";
+$a->strings["Don't show emoticons"] = "Não exibir emoticons";
+$a->strings["Link post titles to source"] = "Ligar o título dos posts à fonte";
+$a->strings["System Page Layout Editor - (advanced)"] = "Editor de layout de página do sistema - (avançado)";
+$a->strings["Nobody except yourself"] = "Ninguém exceto você mesmo";
+$a->strings["Only those you specifically allow"] = "Apenas quem você der permissão";
+$a->strings["Approved connections"] = "Conexões aprovadas";
+$a->strings["Any connections"] = "Quaisquer conexões";
+$a->strings["Anybody on this website"] = "Qualquer um neste site";
+$a->strings["Anybody in this network"] = "Qualquer um nesta rede";
+$a->strings["Anybody authenticated"] = "Qualquer um autenticado";
+$a->strings["Anybody on the internet"] = "Qualquer um na internet";
+$a->strings["Publish your default profile in the network directory"] = "Publicar seu perfil padrão no diretório da rede?";
+$a->strings["No"] = "Não";
+$a->strings["Yes"] = "Sim";
+$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Permitir sugerir você como amigo potencial para outros membros?";
+$a->strings["or"] = "ou";
+$a->strings["Your channel address is"] = "O endereço do seu canal é";
+$a->strings["Channel Settings"] = "Configurações do canal";
+$a->strings["Basic Settings"] = "Configurações básicas";
+$a->strings["Your Timezone:"] = "Seu fuso horário:";
+$a->strings["Default Post Location:"] = "Localização padrão de suas publicações:";
+$a->strings["Geographical location to display on your posts"] = "Localização geográfica para exibir em suas publicações";
+$a->strings["Use Browser Location:"] = "Usar localizador do navegador:";
+$a->strings["Adult Content"] = "Conteúdo adulto";
+$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Este canal frequentemente ou regularmente publica conteúdo adulto. (Por favor marque qualquer material adulto e/ou nudez com #NSFW)";
+$a->strings["Security and Privacy Settings"] = "Configurações de segurança e privacidade";
+$a->strings["Your permissions are already configured. Click to view/adjust"] = "Suas permissões já foram configuradas. Clique para vê-las/ajustá-las";
+$a->strings["Hide my online presence"] = "Esconda minha presença online";
+$a->strings["Prevents displaying in your profile that you are online"] = "Previne exibir em seu perfil que você está online";
+$a->strings["Simple Privacy Settings:"] = "Configurações de privacidade simples:";
+$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Muito público - <em>extremamente permissivo (deve ser usado com cuidado)</em>";
+$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Típico - <em>público por padrão, privado quando desejável (similar às permissões de redes sociais, mas com melhor privacidade)</em>";
+$a->strings["Private - <em>default private, never open or public</em>"] = "Privado - <em>privado por padrão, nunca aberto ou público</em>";
+$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloqueado - <em>por padrão bloquado de/para todos</em>";
+$a->strings["Allow others to tag your posts"] = "Permitir que outros etiquetem suas publicações";
+$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Frequentemente utilizado pela comunidade para retroativamente sinalizar conteúdo inapropriado";
+$a->strings["Advanced Privacy Settings"] = "Configurações de privacidade avançadas";
+$a->strings["Expire other channel content after this many days"] = "Expirar outros conteúdos do canal após este número de dias";
+$a->strings["0 or blank prevents expiration"] = "0 ou em branco previne expiração";
+$a->strings["Maximum Friend Requests/Day:"] = "Número máximo de requisições de amizade por dia:";
+$a->strings["May reduce spam activity"] = "Pode reduzir a frequência de spam";
+$a->strings["Default Post Permissions"] = "Permissões padrão de publicação";
+$a->strings["Maximum private messages per day from unknown people:"] = "Máximo número de mensagens privadas por dia de pessoas desconhecidas:";
+$a->strings["Useful to reduce spamming"] = "Útil para reduzir a frequência de spam";
+$a->strings["Notification Settings"] = "Configurações de notificação";
+$a->strings["By default post a status message when:"] = "Por padrão, publicar uma mensagem de status quando:";
+$a->strings["accepting a friend request"] = "aceitar um pedido de amizade";
+$a->strings["joining a forum/community"] = "associar-se a um fórum/comunidade";
+$a->strings["making an <em>interesting</em> profile change"] = "modificar algo <em>interessante</em> em seu perfil";
+$a->strings["Send a notification email when:"] = "Enviar um e-mail de notificação quando:";
+$a->strings["You receive a connection request"] = "Você recebe uma solicitação de conexão";
+$a->strings["Your connections are confirmed"] = "Suas conexões são confirmadas";
+$a->strings["Someone writes on your profile wall"] = "Alguém escrever no mural do seu perfil";
+$a->strings["Someone writes a followup comment"] = "Alguém comenta uma publicação";
+$a->strings["You receive a private message"] = "Você recebeu uma mensagem privada";
+$a->strings["You receive a friend suggestion"] = "Você recebe uma sugestão de amizade";
+$a->strings["You are tagged in a post"] = "Você é mencionado num post";
+$a->strings["You are poked/prodded/etc. in a post"] = "Você foi cutucado/espetado/etc. numa publicação";
+$a->strings["Advanced Account/Page Type Settings"] = "Configurações avançadas de conta/tipo de página";
+$a->strings["Change the behaviour of this account for special situations"] = "Mudar o comportamento dessa conta em situações especiais";
+$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Por favor, habilite o modo expert (em <a href=\"settings/features\">Configurações > Recursos adicionais</a>) para ajustar!";
+$a->strings["Miscellaneous Settings"] = "Configurações miscelâneas";
+$a->strings["Personal menu to display in your channel pages"] = "Menu pessoal para exibir nas páginas dos seus canais";
+$a->strings["Remove this channel"] = "Remover este canal";
+$a->strings["Poke/Prod"] = "Cutucar/Espetar";
+$a->strings["poke, prod or do other things to somebody"] = "Cutucar, espetar ou fazer outras coisas a alguém";
+$a->strings["Recipient"] = "Destinatário";
+$a->strings["Choose what you wish to do to recipient"] = "Escolha o que você deseja fazer com seu alvo";
+$a->strings["Make this post private"] = "Torne esta publicação privada";
$a->strings["Authorize application connection"] = "Autorizar a conexão com a aplicação";
$a->strings["Return to your app and insert this Securty Code:"] = "Volte para a sua aplicação e digite este código de segurança:";
$a->strings["Please login to continue."] = "Por favor, autentique-se para continuar.";
$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Deseja autorizar esta aplicação a acessar suas publicações e contatos e/ou criar novas publicações para você?";
-$a->strings["Page Title"] = "Título da Página";
-$a->strings["Channel added."] = "Canal adicionado.";
-$a->strings["Tag removed"] = "A etiqueta foi removida";
-$a->strings["Remove Item Tag"] = "Remover a etiqueta de item";
-$a->strings["Select a tag to remove: "] = "Selecione uma etiqueta para remover: ";
-$a->strings["Remove"] = "Remover";
-$a->strings["Continue"] = "Continuar";
-$a->strings["Premium Channel Setup"] = "Configuração de canal premium";
-$a->strings["Enable premium channel connection restrictions"] = "Habilitar restrições de canal premium para conexão";
-$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Por favor, insira suas restrições ou condições, como um recibo de depósito, normas de conduta, etc.";
-$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Este canal pode exigir passos adicionais ou compreensão das seguintes condições antes de conectar:";
-$a->strings["Potential connections will then see the following text before proceeding:"] = "Tentativas de conexões verão então o seguinte texto antes de prosseguir:";
-$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Ao prosseguir, eu certifico que cumpri todas as instruções exibidas nesta página.";
-$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Nenhuma instrução foi especificada pelo dono do canal.)";
-$a->strings["Restricted or Premium Channel"] = "Canal restrito ou premium";
-$a->strings["Thing updated"] = "A coisa foi atualizada";
-$a->strings["Object store: failed"] = "Armazenamento do objeto: falhou";
-$a->strings["Thing added"] = "A coisa foi adicionada";
-$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-$a->strings["Show Thing"] = "Exibir coisa";
-$a->strings["item not found."] = "o item não foi encontrado";
-$a->strings["Edit Thing"] = "Editar coisa";
-$a->strings["Select a profile"] = "Selecione um perfil";
-$a->strings["Post an activity"] = "Publique uma atividade";
-$a->strings["Only sends to viewers of the applicable profile"] = "Envia apenas para a audiência do perfil aplicável";
-$a->strings["Name of thing e.g. something"] = "Nome da coisa e.g. coisinha";
-$a->strings["URL of thing (optional)"] = "URL da coisa (opcional)";
-$a->strings["URL for photo of thing (optional)"] = "URL para foto da coisa (opcional)";
-$a->strings["Add Thing to your Profile"] = "Adicionar a coisa ao seu perfil";
+$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Autenticação remota bloqueada. Você está autenticado neste site localmente. Por favor, saia e tente novamente.";
+$a->strings["Welcome %s. Remote authentication successful."] = "Bem vindo %s. Autenticação remota realizada com sucesso.";
$a->strings["Item not available."] = "O item não está disponível.";
$a->strings["Fetching URL returns error: %1\$s"] = "Carregar o URL retorna o erro: %1\$s";
+$a->strings["\$Projectname"] = "\$Projectname";
+$a->strings["Welcome to %s"] = "Bem-vindo(a) a %s";
$a->strings["Image uploaded but image cropping failed."] = "A imagem foi enviada, mas não foi possível cortá-la.";
$a->strings["Image resize failed."] = "Falha ao modificar o tamanho da imagem.";
$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Se a nova foto não aparecer imediatamente, recarregue a página segurando a tecla \"shift\" ou limpe o cache do navegador, ";
@@ -1005,7 +1344,6 @@ $a->strings["Photo not available."] = "A foto não está disponível.";
$a->strings["Upload File:"] = "Enviar arquivo:";
$a->strings["Select a profile:"] = "Selecione um perfil:";
$a->strings["Upload Profile Photo"] = "Enviar foto do perfil";
-$a->strings["or"] = "ou";
$a->strings["skip this step"] = "pule esta etapa";
$a->strings["select a photo from your photo albums"] = "selecione uma foto do seu álbum de fotos";
$a->strings["Crop Image"] = "Cortar a imagem";
@@ -1053,6 +1391,7 @@ $a->strings["Finish date/time is not known or not relevant"] = "A data/hora de t
$a->strings["Event Finishes:"] = "Término do evento:";
$a->strings["Adjust for viewer timezone"] = "Ajustar para o fuso horário do visualizador";
$a->strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante para eventos que ocorrem em um lugar específico. Não prático para feriados globais.";
+$a->strings["Description:"] = "Descrição:";
$a->strings["Title:"] = "Título:";
$a->strings["Share this event"] = "Compartilhar este evento";
$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s está acompanhando %3\$s de %2\$s";
@@ -1062,10 +1401,98 @@ $a->strings["Rate this hub"] = "Avalie esse hub.";
$a->strings["Site URL"] = "URL do site";
$a->strings["Access Type"] = "Tipo de acesso";
$a->strings["Registration Policy"] = "Política de registro";
-$a->strings["Location"] = "Localização";
-$a->strings["View hub ratings"] = "Ver avaliações do hub";
-$a->strings["Rate"] = "Avalie";
-$a->strings["View ratings"] = "Veja avaliações";
+$a->strings["You must be logged in to see this page."] = "Você precisa estar autenticado para ver esta página.";
+$a->strings["Insufficient permissions. Request redirected to profile page."] = "Permissões insuficientes. Requisição redirecionada para a página de perfil.";
+$a->strings["Select a bookmark folder"] = "Escolha uma pasta de links onde guardar";
+$a->strings["Save Bookmark"] = "Guardar link";
+$a->strings["URL of bookmark"] = "URL do link guardado";
+$a->strings["Description"] = "Descrição";
+$a->strings["Or enter new bookmark folder name"] = "Ou digite o nome para uma nova pasta de links";
+$a->strings["Room not found"] = "Sala não encontrada";
+$a->strings["Leave Room"] = "Sair da sala";
+$a->strings["Delete This Room"] = "Deletar esta sala";
+$a->strings["I am away right now"] = "Eu estou ausente no momento";
+$a->strings["I am online"] = "Eu estou online";
+$a->strings["Bookmark this room"] = "Guarde esta sala";
+$a->strings["New Chatroom"] = "Nova sala de bate-papo";
+$a->strings["Chatroom Name"] = "Nome da sala de bate-papo";
+$a->strings["%1\$s's Chatrooms"] = "Salas de bate-papo de %1\$s";
+$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Número máximo de novos registros neste site excedido por hoje. Por favor, tente novamente amanhã.";
+$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Por favor, indique a aceitação dos Termos de Serviço. Falha ao registrar.";
+$a->strings["Passwords do not match."] = "Senhas não conferem.";
+$a->strings["Registration successful. Please check your email for validation instructions."] = "O registro foi bem sucedido. Por favor, verifique seu e-mail para confirmar o registro.";
+$a->strings["Your registration is pending approval by the site owner."] = "A aprovação do seu registro está pendente junto ao administrador do site.";
+$a->strings["Your registration can not be processed."] = "Não foi possível processar o seu registro.";
+$a->strings["Registration on this site/hub is by approval only."] = "O registro neste site/hub requer aprovação.";
+$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registre em um outro site/hub afiliado</a>";
+$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Este site excedeu o número máximo de registros de novas contas. Por favor, tente novamente amanhã.";
+$a->strings["Terms of Service"] = "Termos de Serviço";
+$a->strings["I accept the %s for this website"] = "Eu aceito os %s deste website.";
+$a->strings["I am over 13 years of age and accept the %s for this website"] = "Eu sou maior de 13 anos e aceito os %s deste website";
+$a->strings["Registration"] = "Registro";
+$a->strings["Membership on this site is by invitation only."] = "Novas contas neste site se dão apenas por convite.";
+$a->strings["Please enter your invitation code"] = "Por favor, digite o código do seu convite";
+$a->strings["Your email address"] = "Seu endereço de e-mail";
+$a->strings["Choose a password"] = "Escolha uma senha";
+$a->strings["Please re-enter your password"] = "Por favor, digite sua senha novamente";
+$a->strings["Away"] = "Ausente";
+$a->strings["Online"] = "Online";
+$a->strings["Please login."] = "Por favor, autentique-se.";
+$a->strings["Hubzilla - Guests: Username: {your email address}, Password: +++"] = "Hubzilla - Visitantes: Usuário: {seu endereço de e-mail}, Senha: +++";
+$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "A remoção da canais fica desabilitada por 48 horas após uma troca de senha da conta.";
+$a->strings["Remove This Channel"] = "Remover este canal";
+$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "Isso irá remover completamente este canal da rede. Uma vez que seja feito não será possível recuperá-lo.";
+$a->strings["Please enter your password for verification:"] = "Por favor, digite a sua senha para verificação:";
+$a->strings["Remove this channel and all its clones from the network"] = "Remover este canal e todos os seus clones da rede";
+$a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Por padrão, apenas a instância do canal localizada neste hub será removida da rede";
+$a->strings["Remove Channel"] = "Remover canal";
+$a->strings["No channel."] = "Nenhum canal.";
+$a->strings["Common connections"] = "Conexões em comum";
+$a->strings["No connections in common."] = "Nenhuma conexão em comum.";
+$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Encontramos um problema ao entrar com a OpenID fornecida. Por favor, verifique se digitou corretamente a ID.";
+$a->strings["The error message was:"] = "A mensagem de erro foi:";
+$a->strings["Authentication failed."] = "A autenticação falhou.";
+$a->strings["Remote Authentication"] = "Autenticação remota";
+$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Entre o endereço do seu canal (e.g. canal@exemplo.com)";
+$a->strings["Authenticate"] = "Autenticar";
+$a->strings["Continue"] = "Continuar";
+$a->strings["Premium Channel Setup"] = "Configuração de canal premium";
+$a->strings["Enable premium channel connection restrictions"] = "Habilitar restrições de canal premium para conexão";
+$a->strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Por favor, insira suas restrições ou condições, como um recibo de depósito, normas de conduta, etc.";
+$a->strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Este canal pode exigir passos adicionais ou compreensão das seguintes condições antes de conectar:";
+$a->strings["Potential connections will then see the following text before proceeding:"] = "Tentativas de conexões verão então o seguinte texto antes de prosseguir:";
+$a->strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Ao prosseguir, eu certifico que cumpri todas as instruções exibidas nesta página.";
+$a->strings["(No specific instructions have been provided by the channel owner.)"] = "(Nenhuma instrução foi especificada pelo dono do canal.)";
+$a->strings["Restricted or Premium Channel"] = "Canal restrito ou premium";
+$a->strings["No such group"] = "Este grupo não existe";
+$a->strings["Search Results For:"] = "Resultados da busca por:";
+$a->strings["Collection is empty"] = "A coleção está vazia";
+$a->strings["Collection: "] = "Coleção:";
+$a->strings["Connection: "] = "Conexão:";
+$a->strings["Invalid connection."] = "Conexão inválida.";
+$a->strings["Could not access contact record."] = "Não foi possível acessar o registro do contato.";
+$a->strings["Could not locate selected profile."] = "Não foi possível localizar o perfil selecionado.";
+$a->strings["Connection updated."] = "A conexão foi atualizada.";
+$a->strings["Failed to update connection record."] = "Não foi possível atualizar o registro da conexão.";
+$a->strings["Blocked"] = "Bloqueado";
+$a->strings["Ignored"] = "Ignorado";
+$a->strings["Hidden"] = "Oculto";
+$a->strings["Archived"] = "Arquivado";
+$a->strings["All"] = "Todos";
+$a->strings["Suggest new connections"] = "Sugerir novas conexões";
+$a->strings["New Connections"] = "Novas conexões";
+$a->strings["Show pending (new) connections"] = "Exibir conexões pendentes (novas)";
+$a->strings["Show all connections"] = "Exibir todas as conexões";
+$a->strings["Unblocked"] = "Não bloqueado";
+$a->strings["Only show unblocked connections"] = "Exibir apenas conexões não bloqueadas";
+$a->strings["Only show blocked connections"] = "Exibir apenas conexões bloqueadas";
+$a->strings["Only show ignored connections"] = "Exibir apenas conexões ignoradas";
+$a->strings["Only show archived connections"] = "Exibir apenas conexões arquivadas";
+$a->strings["Only show hidden connections"] = "Exibir apenas conexões ocultas";
+$a->strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+$a->strings["Edit connection"] = "Editar conexão";
+$a->strings["Search your connections"] = "Pesquisar em suas conexões";
+$a->strings["Finding: "] = "Pesquisando: ";
$a->strings["Edit post"] = "Editar a publicação";
$a->strings["\$Projectname channel"] = "Canal na \$Projectname";
$a->strings["Collection created."] = "A coleção foi criada.";
@@ -1083,30 +1510,95 @@ $a->strings["Click on a channel to add or remove."] = "Clique em um canal para a
$a->strings["Version %s"] = "Versão %s";
$a->strings["Installed plugins/addons/apps:"] = "Plugins/complementos/aplicações instalados:";
$a->strings["No installed plugins/addons/apps"] = "Nenhum plugin/complemento/aplicação instalado";
-$a->strings["\$Projectname"] = "\$Projectname";
$a->strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Este é um hub da \$Projectname - uma rede global cooperativa de websites descentralizados com privacidade aprimorada.";
$a->strings["Tag: "] = "Etiqueta:";
$a->strings["Last background fetch: "] = "Buscar último fundo:";
$a->strings["Running at web location"] = "Sendo executado no endereço web";
$a->strings["Please visit <a href=\"https://redmatrix.me\">redmatrix.me</a> to learn more about \$Projectname."] = "Por favor visite <a href=\"https://redmatrix.me\">redmatrix.me</a> para aprender mais sobre a \$Projectname.";
$a->strings["Bug reports and issues: please visit"] = "Relatos e acompanhamentos de erros podem ser encontrados em";
-$a->strings["\$projectname issues"] = "Questões de \$projectname";
$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Sugestões, elogios, etc - mande um e-mail para \"redmatrix\" arrôba librelist ponto com";
$a->strings["Site Administrators"] = "Administradores do site";
-$a->strings["Unable to locate original post."] = "Não foi possível localizar a publicação original.";
-$a->strings["Empty post discarded."] = "A publicação em branco foi descartada.";
-$a->strings["Executable content type not permitted to this channel."] = "Conteúdo de tipo executável não permitido para este canal.";
-$a->strings["System error. Post not saved."] = "Erro no sistema. A publicação não foi salva.";
-$a->strings["Unable to obtain post information from database."] = "Impossível obter informação do texto no banco de dados";
-$a->strings["You have reached your limit of %1$.0f top level posts."] = "Você atingiu o seu limite de %1$.0f publicações de novos tópicos.";
-$a->strings["You have reached your limit of %1$.0f webpages."] = "Você atingiu o seu limite de %1$.0f páginas web.";
-$a->strings["No such group"] = "Este grupo não existe";
-$a->strings["No such channel"] = "Nenhum canal";
-$a->strings["Search Results For:"] = "Resultados da busca por:";
-$a->strings["Collection is empty"] = "A coleção está vazia";
-$a->strings["Collection: "] = "Coleção:";
-$a->strings["Connection: "] = "Conexão:";
-$a->strings["Invalid connection."] = "Conexão inválida.";
+$a->strings["Help:"] = "Ajuda:";
+$a->strings["Not Found"] = "Não encontrada";
+$a->strings["\$Projectname Server - Setup"] = "Servidor \$Projectname - Configuração";
+$a->strings["Could not connect to database."] = "Não foi possível conectar ao banco de dados.";
+$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Não foi possível conectar à URL especificada para o site. Provavlmente um problema de DNS ou com o certificado SSL.";
+$a->strings["Could not create table."] = "Não foi possível criar a tabela.";
+$a->strings["Your site database has been installed."] = "O banco de dados do seu site foi instalado.";
+$a->strings["You may need to import the file \"install/database.sql\" manually using phpmyadmin or mysql."] = "Pode ser que você precise importar o arquivo \"install/database.sql\" manualmente, usando o phpmyadmin or mysql.";
+$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Por favor, veja o arquivo \"install/INSTALL.txt\".";
+$a->strings["System check"] = "Checagem do sistema";
+$a->strings["Next"] = "Próximo";
+$a->strings["Check again"] = "Cheque novamente";
+$a->strings["Database connection"] = "Conexão ao banco de dados";
+$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "Para instalar a \$Projectname é necessário saber como se conectar ao seu banco de dados.";
+$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Por favor, entre em contato com a sua hospedagem ou com o administrador do site caso você tenha alguma dúvida em relação a isso.";
+$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "O banco de dados que você especificar abaixo já deve existir. Caso contrário, crie-o antes de prosseguir.";
+$a->strings["Database Server Name"] = "Nome do servidor de banco de dados";
+$a->strings["Default is localhost"] = "O default é localhost";
+$a->strings["Database Port"] = "Porta do banco de dados";
+$a->strings["Communication port number - use 0 for default"] = "Número da porta de comunicação - use 0 para o default";
+$a->strings["Database Login Name"] = "Nome do usuário do banco de dados";
+$a->strings["Database Login Password"] = "Senha do usuário do banco de dados";
+$a->strings["Database Name"] = "Nome do banco de dados";
+$a->strings["Site administrator email address"] = "Endereço de email do administrador do site";
+$a->strings["Your account email address must match this in order to use the web admin panel."] = "O endereço de email da sua conta deve ser igual a este para que você possa utilizar o painel de administração web.";
+$a->strings["Website URL"] = "URL do website";
+$a->strings["Please use SSL (https) URL if available."] = "Por favor, use uma URL SSL (https) se disponível.";
+$a->strings["Please select a default timezone for your website"] = "Por favor, selecione o fuso horário padrão para o seu site";
+$a->strings["Site settings"] = "Configurações do site";
+$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Não foi possível encontrar uma versão de linha de comando do PHP nos caminhos do seu servidor web.";
+$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Caso você não tenha uma versão de linha de comando do PHP instalada no seu servidor, você não será capaz de executar coletas em segundo plano pelo cron.";
+$a->strings["PHP executable path"] = "Caminho para o executável do PHP";
+$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Digite o caminho completo do executável PHP. Você pode deixar isso em branco para continuar com a instalação.";
+$a->strings["Command line PHP"] = "PHP em linha de comando";
+$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "\"register_argc_argv\" não está habilitado na versão de linha de comando do PHP no seu sistema.";
+$a->strings["This is required for message delivery to work."] = "Isto é necessário para o funcionamento do envio de mensagens.";
+$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Erro: a função \"openssl_pkey_new\" no seu sistema não é capaz de gerar as chaves de criptografia";
+$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se estiver usando o Windows, por favor dê uma olhada em \"http://www.php.net/manual/en/openssl.installation.php\".";
+$a->strings["Generate encryption keys"] = "Gerar chaves de criptografia";
+$a->strings["libCurl PHP module"] = "Módulo PHP libCurl";
+$a->strings["GD graphics PHP module"] = "Módulo PHP GD graphics";
+$a->strings["OpenSSL PHP module"] = "Módulo PHP OpenSSL";
+$a->strings["mysqli PHP module"] = "Módulo PHP mysqli";
+$a->strings["mb_string PHP module"] = "Módulo PHP mb_string ";
+$a->strings["mcrypt PHP module"] = "Módulo PHP mcrypt";
+$a->strings["Apache mod_rewrite module"] = "Módulo mod_rewrite do Apache";
+$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Erro: o módulo mod-rewrite do Apache é necessário, mas não está instalado.";
+$a->strings["proc_open"] = "proc_open";
+$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Erro: proc_open é necessário, mas não está instalado ou foi desabilitado no php.ini";
+$a->strings["Error: libCURL PHP module required but not installed."] = "Erro: o módulo libCURL do PHP é necessário, mas não está instalado.";
+$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Erro: o módulo gráfico GD, com suporte a JPEG, do PHP é necessário, mas não está instalado.";
+$a->strings["Error: openssl PHP module required but not installed."] = "Erro: o módulo openssl do PHP é necessário, mas não está instalado.";
+$a->strings["Error: mysqli PHP module required but not installed."] = "Erro: o módulo mysqli do PHP é necessário, mas não está instalado.";
+$a->strings["Error: mb_string PHP module required but not installed."] = "Erro: o módulo mb_string do PHP é necessário, mas não está instalado.";
+$a->strings["Error: mcrypt PHP module required but not installed."] = "Erro: o módulo mcrypt do PHP é necessário, mas não está instalado.";
+$a->strings["The web installer needs to be able to create a file called \".htconfig.php\ in the top folder of your web server and it is unable to do so."] = "O instalador web precisa criar um arquivo chamado \".htconfig.php\" na pasta raiz da instalação e não está conseguindo.";
+$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Geralmente isso está relacionado às definições de permissão, uma vez que o servidor web pode não estar conseguindo escrever os arquivos nesta pasta.";
+$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Ao final desse procedimento, será fornecido um texto que deverá ser salvo em um arquivo de nome .htconfig.php, na pasta raiz do seu Red.";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Você também pode pular esse procedimento e executar uma instalação manual. Por favor, dê uma olhada no arquivo \"install/INSTALL.TXT\" para instruções.";
+$a->strings[".htconfig.php is writable"] = ".htconfig.php tem permissão de escrita";
+$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red usa o engine de template Smarty3 para renderizar suas telas. Smarty3 compila templates para PHP para acelerar a renderização.";
+$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Para guardar os templates compilados, o servidor web necessita de permissão de escrita no diretório %s no diretório raiz da Red.";
+$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Por favor, certifique-se de que o usuário sob o qual o servidor web roda (ex: www-data) tenha permissão de escrita nesse diretório.";
+$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota: como uma medida de segurança, você deve fornecer ao servidor web permissão de escrita somente em %s e não aos arquivos de template (.tpl) que ele contém.";
+$a->strings["%s is writable"] = "%s tem permissão de escrita";
+$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "A Red usa o diretório store para salvar arquivos carregados. O servidor web necessita de permissão de escrita no diretório store dentro do diretório raiz da Red";
+$a->strings["store is writable"] = "store tem permissão de escrita";
+$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Não foi possível validar o certificado SSL. Corrija o certificado ou desabilite o acesso via https ao site.";
+$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se você oferece acesso https ao seu website ou permite conexões na porta TCP 443 (a porta https:), você DEVE usar um certificado reconhecido pelos navegadores. Você NÃO DEVE usar certificados assinados por você mesmo!";
+$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Essa restrição é incorporada porque publicações públicas suas podem, por exemplo, conter referências a imagens no seu próprio hub.";
+$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Se seu certificado não for reconhecido, membros de outros sites (que podem ter certificados válidos) receberão uma mensagem de aviso nos seus próprios sites reclamando de problemas de segurança.";
+$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Isso pode causar problemas de usabilidade (não só no seu site) então nós precisamos insistir nesse requisito.";
+$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Existem provedores que disponibilizam gratuitamente certificados reconhecidos por navegadores.";
+$a->strings["SSL certificate validation"] = "Validação do certificado SSL";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "A reescrita de URLs não está funcionando no .htaccess. Verifique as configurações do servidor.";
+$a->strings["Url rewrite is working"] = "A reescrita de URLs está funcionando";
+$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Não foi possível gravar o arquivo de configuração \".htconfig.php\". Por favor, use o texto incluso para criar um arquivo de configuração na raiz da instalação do Friendika em seu servidor web.";
+$a->strings["Errors encountered creating database tables."] = "Foram encontrados erros durante a criação das tabelas do banco de dados.";
+$a->strings["<h1>What next</h1>"] = "<h1>Próximos passos</h1>";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Você deve configurar [manualmente] uma tarefa agendada para o coletor.";
$a->strings["No channel."] = "Nenhum canal.";
$a->strings["Common connections"] = "Conexões em comum";
$a->strings["No connections in common."] = "Nenhuma conexão em comum.";
@@ -1136,17 +1628,13 @@ $a->strings["Search your connections"] = "Pesquisar em suas conexões";
$a->strings["Finding: "] = "Pesquisando: ";
$a->strings["Block Name"] = "Nome do bloco";
$a->strings["Block Title"] = "Título do Bloco";
-$a->strings["Item not found"] = "O item não foi encontrado";
-$a->strings["Item is not editable"] = "O item não está editável";
-$a->strings["Delete item?"] = "Deletar item?";
-$a->strings["Insert YouTube video"] = "Inserir vídeo do YouTube";
-$a->strings["Insert Vorbis [.ogg] video"] = "Inserir vídeo Vorbis (.ogg)";
-$a->strings["Insert Vorbis [.ogg] audio"] = "Inserir áudio Vorbis (.ogg)";
+$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s marcou %3\$s de %2\$s com %4\$s";
$a->strings["\$Projectname - Guests: Username: {your email address}, Password: +++"] = "\$Projectname - Convidados: Nome de usuário: {seu endereço de e-mail}, Senha: +++";
$a->strings["Page owner information could not be retrieved."] = "As informações do dono da pagina não puderam ser obtidas.";
$a->strings["Album not found."] = "O álbum não foi encontrado.";
$a->strings["Delete Album"] = "Excluir o álbum";
$a->strings["Delete Photo"] = "Excluir a foto";
+$a->strings["Public access denied."] = "Acesso público negado.";
$a->strings["No photos selected"] = "Não foi selecionada nenhuma foto";
$a->strings["Access to this item is restricted."] = "O acesso a este item está restrito.";
$a->strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Utilizados %1$.2f MB de %2$.2f MB para armazenamento de fotos.";
@@ -1177,8 +1665,6 @@ $a->strings["In This Photo:"] = "Nesta foto:";
$a->strings["Map"] = "Mapa";
$a->strings["View Album"] = "Ver álbum";
$a->strings["Recent Photos"] = "Fotos recentes";
-$a->strings["Items tagged with: %s"] = "Items etiquetados com: %s";
-$a->strings["Search results for: %s"] = "Resultados da busca por: %s";
$a->strings["Profile Match"] = "Correspondência de perfil";
$a->strings["No keywords to match. Please add keywords to your default profile."] = "Nenhuma palavra-chave para combinar. Por favor, adicione palavras-chave ao seu perfil padrão.";
$a->strings["is interested in:"] = "se interessa por:";
@@ -1199,98 +1685,11 @@ $a->strings["Edit System Page Description"] = "Editar descrição de página do
$a->strings["Layout not found."] = "Layout não encontrado.";
$a->strings["Module Name:"] = "Nome do módulo:";
$a->strings["Layout Help"] = "Ajuda de layout";
-$a->strings["- select -"] = "- selecionar -";
-$a->strings["Your service plan only allows %d channels."] = "Seu plano de serviço permite apenas %d canais.";
-$a->strings["Nothing to import."] = "Nada a importar.";
-$a->strings["Unable to download data from old server"] = "Não foi possível descarregar os dados do servidor antigo";
-$a->strings["Imported file is empty."] = "O arquivo importado está vazio.";
-$a->strings["The data provided is not compatible with this project."] = "Os dados fornecidos não são compatíveis com este projeto.";
-$a->strings["Warning: Database versions differ by %1\$d updates."] = "Atenção: Versões do banco de dados diferem por %1\$d atualizações.";
-$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Não foi possível criar um identificador de canal duplicado neste sistema. A importação falhou.";
-$a->strings["Channel clone failed. Import failed."] = "Clonagem do canal falhou. A importação falhou.";
-$a->strings["Cloned channel not found. Import failed."] = "Canal a clonar não encontrado. A importação falhou.";
-$a->strings["You must be logged in to use this feature."] = "Você precisa estar autenticado para usar este recurso.";
-$a->strings["Import Channel"] = "Importar canal";
-$a->strings["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."] = "Use este formulário para importar um canal existente de um servidor/hub diferente. Você pode obter a identidade do canal do servidor/hub antigo pela rede, ou fornecer um arquivo de exportação.";
-$a->strings["File to Upload"] = "Arquivo a carregar";
-$a->strings["Or provide the old server/hub details"] = "Ou forneça os detalhes do antigo servidor/hub";
-$a->strings["Your old identity address (xyz@example.com)"] = "O endereço da sua velha identidade (xyz@exemplo.com)";
-$a->strings["Your old login email address"] = "O endereço de e-mail da sua antiga conta";
-$a->strings["Your old login password"] = "A senha dua sua antiga conta";
-$a->strings["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 able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Para qualquer das opções, por favor escolha se deseja fazer deste hub seu novo endereço primário, ou se o velho local deve continuar com esse papel. Você será capaz de publicar a partir de ambos os locais, mas somente um pode estar designado como local primário para arquivos, fotos e mídia.";
-$a->strings["Make this hub my primary location"] = "Faça deste hub meu local primário";
-$a->strings["Import existing posts if possible (experimental - limited by available memory"] = "Importar publicações existentes se possível (experimental - limitado pela memória disponível)";
-$a->strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Esse processo pode levar vários minutos para completar. Por favor envie o formulário uma única vez e deixe esta página aberta até que finalize.";
-$a->strings["Delete layout?"] = "Deletar layout?";
-$a->strings["Layout Description (Optional)"] = "Descrição do Layout. (Opcional)";
-$a->strings["Layout Name"] = "Nome do layout";
$a->strings["Edit Layout"] = "Editar layout";
-$a->strings["You must be logged in to see this page."] = "Você precisa estar autenticado para ver esta página.";
-$a->strings["Room not found"] = "Sala não encontrada";
-$a->strings["Leave Room"] = "Sair da sala";
-$a->strings["Delete This Room"] = "Deletar esta sala";
-$a->strings["I am away right now"] = "Eu estou ausente no momento";
-$a->strings["I am online"] = "Eu estou online";
-$a->strings["Bookmark this room"] = "Guarde esta sala";
-$a->strings["New Chatroom"] = "Nova sala de bate-papo";
-$a->strings["Chatroom Name"] = "Nome da sala de bate-papo";
-$a->strings["%1\$s's Chatrooms"] = "Salas de bate-papo de %1\$s";
-$a->strings["Menu not found."] = "O menu não foi encontrado.";
-$a->strings["Unable to create element."] = "Não foi possível criar elemento.";
-$a->strings["Unable to update menu element."] = "Não foi possível atualizar o elemento de menu.";
-$a->strings["Unable to add menu element."] = "Não foi possível adicionar o elemento de menu.";
-$a->strings["Menu Item Permissions"] = "Permissões do item do menu";
-$a->strings["(click to open/close)"] = "(clique para abrir/fechar)";
-$a->strings["Link Name"] = "Nome do Link";
-$a->strings["Link or Submenu Target"] = "Alvo do Link ou Submenu";
-$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Insira o URL do link ou selecione um nome de menu para criar um submenu";
-$a->strings["Use magic-auth if available"] = "Usar magic-auth se disponível";
-$a->strings["Open link in new window"] = "Abrir link em uma nova janela";
-$a->strings["Order in list"] = "Ordem na lista";
-$a->strings["Higher numbers will sink to bottom of listing"] = "Números mais altos descem para o fim da lista";
-$a->strings["Submit and finish"] = "Enviar e terminar";
-$a->strings["Submit and continue"] = "Enviar e continuar";
-$a->strings["Menu:"] = "Menu:";
-$a->strings["Link Target"] = "Alvo do Link";
-$a->strings["Edit menu"] = "Editar menu";
-$a->strings["Edit element"] = "Editar elemento";
-$a->strings["Drop element"] = "Descartar elemento";
-$a->strings["New element"] = "Novo elemento";
-$a->strings["Edit this menu container"] = "Editar esta caixa de menu";
-$a->strings["Add menu element"] = "Adicionar um elemento de menu";
-$a->strings["Delete this menu item"] = "Deleter este item de menu";
-$a->strings["Edit this menu item"] = "Editar este item de menu";
-$a->strings["Menu item not found."] = "O item de menu não foi encontrado.";
-$a->strings["Menu item deleted."] = "O item de menu foi deletado.";
-$a->strings["Menu item could not be deleted."] = "Não foi possível deletar o item de menu.";
-$a->strings["Edit Menu Element"] = "Editar elemento de menu";
-$a->strings["Link text"] = "Texto do link";
-$a->strings["Delete webpage?"] = "Deletar página web?";
-$a->strings["Page link title"] = "Título do link da página";
-$a->strings["Edit Webpage"] = "Editar página web";
-$a->strings["This directory server requires an access token"] = "O servidor deste diretório requer um token de acesso";
-$a->strings["No valid account found."] = "Não foi encontrada uma conta válida.";
-$a->strings["Password reset request issued. Check your email."] = "A solicitação de restauração de senha foi encaminhada. Verifique seu e-mail.";
-$a->strings["Site Member (%s)"] = "Membro do site (%s)";
-$a->strings["Password reset requested at %s"] = "Foi feita uma solicitação de restauração de senha em %s";
-$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Não foi possível verificar a solicitação (você pode tê-la submetido anteriormente). A senha não foi restaurada.";
-$a->strings["Password Reset"] = "Reiniciar a senha";
-$a->strings["Your password has been reset as requested."] = "Sua senha foi restaurada, conforme solicitado.";
-$a->strings["Your new password is"] = "Sua nova senha é";
-$a->strings["Save or copy your new password - and then"] = "Salve ou copie a sua nova senha e, então";
-$a->strings["click here to login"] = "clique aqui para entrar";
-$a->strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Sua senha pode ser alterada na página de <em>Configurações</em> após você entrar em sua conta.";
-$a->strings["Your password has changed at %s"] = "Sua senha foi modificada em %s";
-$a->strings["Forgot your Password?"] = "Esqueceu a sua senha?";
-$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Digite o seu endereço de e-mail e clique em 'Restaurar' para prosseguir com a restauração da sua senha. Após isso, verifique seu e-mail para mais instruções.";
-$a->strings["Email Address"] = "Endereço de e-mail";
-$a->strings["Reset"] = "Restaurar";
-$a->strings["Website:"] = "Sítio web:";
-$a->strings["Remote Channel [%s] (not yet known on this site)"] = "Canal Remoto [%s] (ainda não conhecido neste sítio)";
-$a->strings["Rating (this information is public)"] = "Avaliações (essa informação é pública)";
-$a->strings["Optionally explain your rating (this information is public)"] = "Opcionalmente justifique sua avaliação (essa informação é pública)";
-$a->strings["Delete block?"] = "Deletar bloco?";
-$a->strings["Edit Block"] = "Editar bloco";
+$a->strings["Delete layout?"] = "Deletar layout?";
+$a->strings["Delete Layout"] = "Deletar layout";
+$a->strings["Item is not editable"] = "O item não está editável";
+$a->strings["Delete item?"] = "Deletar item?";
$a->strings["Total invitation limit exceeded."] = "Foi excedido o número total de convites.";
$a->strings["%s : Not a valid email address."] = "%s : Não é um endereço de e-mail válido.";
$a->strings["Please join us on Red"] = "Por favor, una-se a nós na Red";
@@ -1332,28 +1731,25 @@ $a->strings["Edit Source"] = "Editar fonte";
$a->strings["Delete Source"] = "Deletar fonte";
$a->strings["Source removed"] = "A fonte foi removida.";
$a->strings["Unable to remove source."] = "Não foi possível remover a fonte.";
-$a->strings["Unable to update menu."] = "Não foi possível atualizar o menu.";
-$a->strings["Unable to create menu."] = "Não foi possível criar o menu.";
-$a->strings["Menu Name"] = "Nome do Menu";
-$a->strings["Unique name (not visible on webpage) - required"] = "Nome único (não visível na página web) - necessário";
-$a->strings["Menu Title"] = "Título do Menu";
-$a->strings["Visible on webpage - leave empty for no title"] = "Visível na Página web - Deixe vazio para nenhum título";
-$a->strings["Allow Bookmarks"] = "Permite Favoritos";
-$a->strings["Menu may be used to store saved bookmarks"] = "O menu pode ser utilizado para armazenar links guardados";
-$a->strings["Submit and proceed"] = "Envie e Prossiga";
-$a->strings["Drop"] = "Descartar";
-$a->strings["Bookmarks allowed"] = "Permitindo guardar links";
-$a->strings["Delete this menu"] = "Deletar este menu";
-$a->strings["Edit menu contents"] = "Editar os conteúdos do menu";
-$a->strings["Edit this menu"] = "Editar este menu";
-$a->strings["Menu could not be deleted."] = "Não foi possível deletar o menu.";
-$a->strings["Edit Menu"] = "Editar menu";
-$a->strings["Add or remove entries to this menu"] = "Adicionar ou remover entradas deste menu";
-$a->strings["Menu name"] = "Nome do menu";
-$a->strings["Must be unique, only seen by you"] = "Deve ser único, exibido somente para você";
-$a->strings["Menu title"] = "Título do menu";
-$a->strings["Menu title as seen by others"] = "Título do menu quando visto por outros";
-$a->strings["Allow bookmarks"] = "Habilitar links guardados";
+$a->strings["- select -"] = "- selecionar -";
+$a->strings["Event title and start time are required."] = "O título do evento e a hora de início são obrigatórios.";
+$a->strings["Event not found."] = "Evento não encontrado.";
+$a->strings["l, F j"] = "l, F j";
+$a->strings["Edit event"] = "Editar o evento";
+$a->strings["Create New Event"] = "Criar um novo evento";
+$a->strings["Previous"] = "Anterior";
+$a->strings["hour:minute"] = "hora:minuto";
+$a->strings["Event details"] = "Detalhes do evento";
+$a->strings["Format is %s %s."] = "O formato é %s %s.";
+$a->strings["Starting date and Title are required."] = "Data de início e título são obrigatórios.";
+$a->strings["Event Starts:"] = "Início do evento:";
+$a->strings["Required"] = "Obrigatório";
+$a->strings["Finish date/time is not known or not relevant"] = "A data/hora de término não é conhecida ou não é relevante";
+$a->strings["Event Finishes:"] = "Término do evento:";
+$a->strings["Adjust for viewer timezone"] = "Ajustar para o fuso horário do visualizador";
+$a->strings["Description:"] = "Descrição:";
+$a->strings["Title:"] = "Título:";
+$a->strings["Share this event"] = "Compartilhar este evento";
$a->strings["Permission Denied."] = "Permissão negada.";
$a->strings["File not found."] = "O arquivo não foi encontrado.";
$a->strings["Edit file permissions"] = "Editar permissões do arquivo";
@@ -1362,9 +1758,8 @@ $a->strings["Include all files and sub folders"] = "Incluir todos os arquivos e
$a->strings["Return to file list"] = "Retornar à lista de arquivos";
$a->strings["Copy/paste this code to attach file to a post"] = "Copiar/colar este código para anexar um arquivo a uma publicação";
$a->strings["Copy/paste this URL to link file from a web page"] = "Copiar/colar este URL para linkar para o arquivo em uma página web";
-$a->strings["Share this file"] = "Compartilhe esse arquivo";
-$a->strings["Show URL to this file"] = "Mostre URL para esse arquivo";
-$a->strings["Notify your contacts about this file"] = "Notifique seus contatos sobre esse arquivo";
+$a->strings["Channel added."] = "Canal adicionado.";
+$a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s está acompanhando %3\$s de %2\$s";
$a->strings["Contact not found."] = "O contato não foi encontrado.";
$a->strings["Friend suggestion sent."] = "Sugestão de amizade enviada.";
$a->strings["Suggest Friends"] = "Sugerir amigos";
@@ -1451,93 +1846,24 @@ $a->strings["Rating: "] = "Avaliações";
$a->strings["Website: "] = "Website:";
$a->strings["Description: "] = "Descrição:";
$a->strings["Source of Item"] = "Fonte do Item";
-$a->strings["\$Projectname Server - Setup"] = "Servidor \$Projectname - Configuração";
-$a->strings["Could not connect to database."] = "Não foi possível conectar ao banco de dados.";
-$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Não foi possível conectar à URL especificada para o site. Provavlmente um problema de DNS ou com o certificado SSL.";
-$a->strings["Could not create table."] = "Não foi possível criar a tabela.";
-$a->strings["Your site database has been installed."] = "O banco de dados do seu site foi instalado.";
-$a->strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Você pode precisar importar o arquivo \"install/schema_xxx.sql\" manualmente usando um cliente do banco de dados.";
-$a->strings["Please see the file \"install/INSTALL.txt\"."] = "Por favor, veja o arquivo \"install/INSTALL.txt\".";
-$a->strings["System check"] = "Checagem do sistema";
-$a->strings["Check again"] = "Cheque novamente";
-$a->strings["Database connection"] = "Conexão ao banco de dados";
-$a->strings["In order to install \$Projectname we need to know how to connect to your database."] = "Para instalar a \$Projectname é necessário saber como se conectar ao seu banco de dados.";
-$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Por favor, entre em contato com a sua hospedagem ou com o administrador do site caso você tenha alguma dúvida em relação a isso.";
-$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "O banco de dados que você especificar abaixo já deve existir. Caso contrário, crie-o antes de prosseguir.";
-$a->strings["Database Server Name"] = "Nome do servidor de banco de dados";
-$a->strings["Default is localhost"] = "O default é localhost";
-$a->strings["Database Port"] = "Porta do banco de dados";
-$a->strings["Communication port number - use 0 for default"] = "Número da porta de comunicação - use 0 para o default";
-$a->strings["Database Login Name"] = "Nome do usuário do banco de dados";
-$a->strings["Database Login Password"] = "Senha do usuário do banco de dados";
-$a->strings["Database Name"] = "Nome do banco de dados";
-$a->strings["Database Type"] = "Tipo do banco de dados";
-$a->strings["Site administrator email address"] = "Endereço de email do administrador do site";
-$a->strings["Your account email address must match this in order to use the web admin panel."] = "O endereço de email da sua conta deve ser igual a este para que você possa utilizar o painel de administração web.";
-$a->strings["Website URL"] = "URL do website";
-$a->strings["Please use SSL (https) URL if available."] = "Por favor, use uma URL SSL (https) se disponível.";
-$a->strings["Please select a default timezone for your website"] = "Por favor, selecione o fuso horário padrão para o seu site";
-$a->strings["Site settings"] = "Configurações do site";
-$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Não foi possível encontrar uma versão de linha de comando do PHP nos caminhos do seu servidor web.";
-$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."] = "Caso você não tenha uma versão de linha de comando do PHP instalada no seu servidor, você não será capaz de executar coletas em segundo plano pelo cron.";
-$a->strings["PHP executable path"] = "Caminho para o executável do PHP";
-$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Digite o caminho completo do executável PHP. Você pode deixar isso em branco para continuar com a instalação.";
-$a->strings["Command line PHP"] = "PHP em linha de comando";
-$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "\"register_argc_argv\" não está habilitado na versão de linha de comando do PHP no seu sistema.";
-$a->strings["This is required for message delivery to work."] = "Isto é necessário para o funcionamento do envio de mensagens.";
-$a->strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-$a->strings["Your max allowed total upload size is set to %s. Maximum size of one file to upload is set to %s. You are allowed to upload up to %d files at once."] = "Seu volume de carregamento total está definido para %s. Tamanho máximo de um arquivo carregado para %s. Você pode carregar até %d arquivos ao mesmo tempo.";
-$a->strings["You can adjust these settings in the servers php.ini."] = "Você pode ajustar essas configurações no php.ini do servidor.";
-$a->strings["PHP upload limits"] = "Limites de carregamento do PHP";
-$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Erro: a função \"openssl_pkey_new\" no seu sistema não é capaz de gerar as chaves de criptografia";
-$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se estiver usando o Windows, por favor dê uma olhada em \"http://www.php.net/manual/en/openssl.installation.php\".";
-$a->strings["Generate encryption keys"] = "Gerar chaves de criptografia";
-$a->strings["libCurl PHP module"] = "Módulo PHP libCurl";
-$a->strings["GD graphics PHP module"] = "Módulo PHP GD graphics";
-$a->strings["OpenSSL PHP module"] = "Módulo PHP OpenSSL";
-$a->strings["mysqli or postgres PHP module"] = "módulo 'mysqli' ou 'postgres' do PHP";
-$a->strings["mb_string PHP module"] = "Módulo PHP mb_string ";
-$a->strings["mcrypt PHP module"] = "Módulo PHP mcrypt";
-$a->strings["xml PHP module"] = "Módulo PHP xml";
-$a->strings["Apache mod_rewrite module"] = "Módulo mod_rewrite do Apache";
-$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Erro: o módulo mod-rewrite do Apache é necessário, mas não está instalado.";
-$a->strings["proc_open"] = "proc_open";
-$a->strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Erro: proc_open é necessário, mas não está instalado ou foi desabilitado no php.ini";
-$a->strings["Error: libCURL PHP module required but not installed."] = "Erro: o módulo libCURL do PHP é necessário, mas não está instalado.";
-$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Erro: o módulo gráfico GD, com suporte a JPEG, do PHP é necessário, mas não está instalado.";
-$a->strings["Error: openssl PHP module required but not installed."] = "Erro: o módulo openssl do PHP é necessário, mas não está instalado.";
-$a->strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Erro: módulo 'mysqli' ou 'postgres' do PHP é necessário mas nenhum deles está instalado.";
-$a->strings["Error: mb_string PHP module required but not installed."] = "Erro: o módulo mb_string do PHP é necessário, mas não está instalado.";
-$a->strings["Error: mcrypt PHP module required but not installed."] = "Erro: o módulo mcrypt do PHP é necessário, mas não está instalado.";
-$a->strings["Error: xml PHP module required for DAV but not installed."] = "Erro: o módulo xml do PHP é necessário para DAV, mas não está instalado.";
-$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "O instalador web precisa criar um arquivo chamado \".htconfig.php\" na pasta raiz da instalação e não está conseguindo.";
-$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Geralmente isso está relacionado às definições de permissão, uma vez que o servidor web pode não estar conseguindo escrever os arquivos nesta pasta.";
-$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Ao final desse procedimento, será fornecido um texto que deverá ser salvo em um arquivo de nome .htconfig.php, na pasta raiz do seu Red.";
-$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Você também pode pular esse procedimento e executar uma instalação manual. Por favor, dê uma olhada no arquivo \"install/INSTALL.TXT\" para instruções.";
-$a->strings[".htconfig.php is writable"] = ".htconfig.php tem permissão de escrita";
-$a->strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Red usa o engine de template Smarty3 para renderizar suas telas. Smarty3 compila templates para PHP para acelerar a renderização.";
-$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory %s under the Red top level folder."] = "Para guardar os templates compilados, o servidor web necessita de permissão de escrita no diretório %s no diretório raiz da Red.";
-$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Por favor, certifique-se de que o usuário sob o qual o servidor web roda (ex: www-data) tenha permissão de escrita nesse diretório.";
-$a->strings["Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."] = "Nota: como uma medida de segurança, você deve fornecer ao servidor web permissão de escrita somente em %s e não aos arquivos de template (.tpl) que ele contém.";
-$a->strings["%s is writable"] = "%s tem permissão de escrita";
-$a->strings["Red uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"] = "A Red usa o diretório store para salvar arquivos carregados. O servidor web necessita de permissão de escrita no diretório store dentro do diretório raiz da Red";
-$a->strings["store is writable"] = "store tem permissão de escrita";
-$a->strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Não foi possível validar o certificado SSL. Corrija o certificado ou desabilite o acesso via https ao site.";
-$a->strings["If you have https access to your website or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"] = "Se você oferece acesso https ao seu website ou permite conexões na porta TCP 443 (a porta https:), você DEVE usar um certificado reconhecido pelos navegadores. Você NÃO DEVE usar certificados assinados por você mesmo!";
-$a->strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Essa restrição é incorporada porque publicações públicas suas podem, por exemplo, conter referências a imagens no seu próprio hub.";
-$a->strings["If your certificate is not recognized, members of other sites (who may themselves have valid certificates) will get a warning message on their own site complaining about security issues."] = "Se seu certificado não for reconhecido, membros de outros sites (que podem ter certificados válidos) receberão uma mensagem de aviso nos seus próprios sites reclamando de problemas de segurança.";
-$a->strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Isso pode causar problemas de usabilidade (não só no seu site) então nós precisamos insistir nesse requisito.";
-$a->strings["Providers are available that issue free certificates which are browser-valid."] = "Existem provedores que disponibilizam gratuitamente certificados reconhecidos por navegadores.";
-$a->strings["SSL certificate validation"] = "Validação do certificado SSL";
-$a->strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "A reescrita de URLs não está funcionando no .htaccess. Verifique as configurações do servidor. Teste:";
-$a->strings["Url rewrite is working"] = "A reescrita de URLs está funcionando";
-$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Não foi possível gravar o arquivo de configuração \".htconfig.php\". Por favor, use o texto incluso para criar um arquivo de configuração na raiz da instalação do Friendika em seu servidor web.";
-$a->strings["Errors encountered creating database tables."] = "Foram encontrados erros durante a criação das tabelas do banco de dados.";
-$a->strings["<h1>What next</h1>"] = "<h1>Próximos passos</h1>";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Você deve configurar [manualmente] uma tarefa agendada para o coletor.";
$a->strings["OpenID protocol error. No ID returned."] = "Erro do protocolo OpenID. Nenhuma ID retornada.";
$a->strings["Welcome %s. Remote authentication successful."] = "Bem vindo %s. Autenticação remota realizada com sucesso.";
-$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s marcou %3\$s de %2\$s com %4\$s";
+$a->strings["%d rating"] = array(
+ 0 => "%d avaliação",
+ 1 => "%d avaliações",
+);
+$a->strings["Gender: "] = "Gênero: ";
+$a->strings["Status: "] = "Status:";
+$a->strings["Homepage: "] = "Website:";
+$a->strings["Hometown: "] = "Cidade natal:";
+$a->strings["About: "] = "Sobre:";
+$a->strings["Public Forum:"] = "Fórum público:";
+$a->strings["Keywords: "] = "Palavras-chave:";
+$a->strings["Common connections: %s"] = "Conexões em Comum: %s";
+$a->strings["Finding:"] = "Pesquisando:";
+$a->strings["next page"] = "próxima página";
+$a->strings["previous page"] = "página anterior";
+$a->strings["No entries (some entries may be hidden)."] = "Nenhuma entrada (algumas entradas podem estar escondidas).";
$a->strings["Export Channel"] = "Exportar o canal";
$a->strings["Export your basic channel information to a small file. This acts as a backup of your connections, permissions, profile and basic data, which can be used to import your data to a new hub, but\tdoes not contain your content."] = "Exportar suas informações básicas do canal para um arquivo pequeno. Isso funciona como um backup das suas ligações, permissões, perfis e dados básicos, que podem ser usados para importar os dados para um novo hub, não mas não contém seu conteúdo.";
$a->strings["Export Content"] = "Exportar conteúdo";
@@ -1551,37 +1877,26 @@ $a->strings["Accounts"] = "Contas";
$a->strings["Channels"] = "Canais";
$a->strings["Plugins"] = "Plugins";
$a->strings["Themes"] = "Temas";
-$a->strings["Inspect queue"] = "Inspecione fila";
+$a->strings["Server"] = "Servidor";
$a->strings["Profile Config"] = "Configuração de perfis";
$a->strings["DB updates"] = "Atualizações do Banco de Dados";
$a->strings["Logs"] = "Logs";
$a->strings["Plugin Features"] = "Recursos dos plugins";
$a->strings["User registrations waiting for confirmation"] = "Registros de usuário aguardando confirmação";
-$a->strings["# Accounts"] = "# Contas";
-$a->strings["# blocked accounts"] = "# Contas bloqueadas";
-$a->strings["# expired accounts"] = "# Contas expiradas";
-$a->strings["# expiring accounts"] = "#contas expirando";
-$a->strings["# Channels"] = "# Canais";
-$a->strings["# primary"] = "# Primário";
-$a->strings["# clones"] = "# clones";
$a->strings["Message queues"] = "Filas de mensagem";
$a->strings["Administration"] = "Administração";
$a->strings["Summary"] = "Resumo";
-$a->strings["Registered accounts"] = "Contas Registradas";
+$a->strings["Registered users"] = "Usuários registrados";
$a->strings["Pending registrations"] = "Registros pendentes";
-$a->strings["Registered channels"] = "Canais Registrados";
-$a->strings["Active plugins"] = "Plugins ativos";
$a->strings["Version"] = "Versão";
+$a->strings["Active plugins"] = "Plugins ativos";
$a->strings["Site settings updated."] = "As configurações de site foram atualizadas.";
-$a->strings["mobile"] = "móvel";
-$a->strings["experimental"] = "experimental";
-$a->strings["unsupported"] = "não suportado";
+$a->strings["No special theme for accessibility"] = "Sem tema especial para acessibilidade";
$a->strings["Yes - with approval"] = "Sim - pendente aprovação";
$a->strings["My site is not a public server"] = "Meu site não é um servidor público";
$a->strings["My site has paid access only"] = "Meu site oferece somente acesso pago";
$a->strings["My site has free access only"] = "Meu site oferece somente acesso gratuito";
$a->strings["My site offers free accounts with optional paid upgrades"] = "Meu site oferece contas gratuitas com recursos adicionais pagos";
-$a->strings["Registration"] = "Registro";
$a->strings["File upload"] = "Carregamento de arquivos";
$a->strings["Policies"] = "Políticas";
$a->strings["Site name"] = "Nome do site";
@@ -1593,6 +1908,8 @@ $a->strings["System theme"] = "Tema do sistema";
$a->strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Tema padrão do sistema - pode ser sobrescrito por perfis de usuário - <a href='#' id='cnftheme'>mudar configurações do tema</a>";
$a->strings["Mobile system theme"] = "Tema do sistema móvel";
$a->strings["Theme for mobile devices"] = "Tema para dispositivos móveis";
+$a->strings["Accessibility system theme"] = "Tema do sistema acessível";
+$a->strings["Accessibility theme"] = "Tema acessível";
$a->strings["Enable Diaspora Protocol"] = "Habilitar protocolo Diaspora";
$a->strings["Communicate with Diaspora and Friendica - experimental"] = "Comunicar com Diaspora e Friendica - experimental";
$a->strings["Allow Feeds as Connections"] = "Permitir Feeds como conexões";
@@ -1603,18 +1920,12 @@ $a->strings["Does this site allow new member registration?"] = "Este site permit
$a->strings["Which best describes the types of account offered by this hub?"] = "Qual descreve melhor os tipos de conta oferecidas por este hub?";
$a->strings["Register text"] = "Texto de registro";
$a->strings["Will be displayed prominently on the registration page."] = "Será exibido proeminentemente na página de registro.";
-$a->strings["Site homepage to show visitors (default: login box)"] = "Deinir página inicial para exibir a visitantes (padrão: caixa de login)";
-$a->strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "exemplo: 'public' para mostrar o fluxo público, 'page/sys/home' para mostrar uma página web do sistema chamada 'home', ou 'include:home.html' para incluir um arquivo.";
-$a->strings["Preserve site homepage URL"] = "Preservar o URL da homepage do site";
-$a->strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Apresentar a homepage do site em um frame na localização original ao invés de redirecionar";
$a->strings["Accounts abandoned after x days"] = "Contas abandonadas após x dias";
$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Não gastará recursos do sistema coletando de sites externos para contas abandonadas. Use 0 para sem limite de tempo.";
$a->strings["Allowed friend domains"] = "Domínios permitidos para amigos";
$a->strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Lista, separada por vírgulas, de domínios permitidos para estabelecer amizades com este site. <em>Wildcards</em> são aceitas. Vazio para permitir qualquer domínio";
$a->strings["Allowed email domains"] = "Domínios permitidos de e-mail";
$a->strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Lista, separada por vírgulas, de domínios permitidos em endereços de e-mail para registros nesse site. <em>Wildcards</em> são aceitas. Vazio para permitir qualquer domínio";
-$a->strings["Not allowed email domains"] = "Não permitido domínios de e-mail";
-$a->strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Lista de domínios separadas por vírgulas, que não são permitidos em endereços de e-mail para inscrições para este sítio. Curingas são aceitos. Deixe vazio para permitir quaisquer domínios, a menos que domínios permitidos tenham sido definidos.";
$a->strings["Block public"] = "Bloquear público";
$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = "Marque para bloquear o acesso público a todas as páginas pessoais que seriam públicas, a não ser que se esteja autenticado.";
$a->strings["Verify Email Addresses"] = "Verificar endereços de email";
@@ -1623,8 +1934,8 @@ $a->strings["Force publish"] = "Forçar publicação";
$a->strings["Check to force all profiles on this site to be listed in the site directory."] = "Marque para forçar todos os perfis neste site a aparecerem listados no diretório do site.";
$a->strings["Disable discovery tab"] = "Desabilitar a aba \"Descubra\"";
$a->strings["Remove the tab in the network view with public content pulled from sources chosen for this site."] = "Remove da visualização de rede a aba com conteúdos públicos obtidos de fontes escolhidas para esse site.";
-$a->strings["login on Homepage"] = "login na Página inicial";
-$a->strings["Present a login box to visitors on the home page if no other content has been configured."] = "Apresentar uma caixa de login para visitantes na página inicial se nenhum outro conteúdo foi configurado.";
+$a->strings["No login on Homepage"] = "Sem formulário de autenticação na página inicial";
+$a->strings["Check to hide the login form from your sites homepage when visitors arrive who are not logged in (e.g. when you put the content of the homepage in via the site channel)."] = "Marque para esconder o formulário de autenticação da página inicial do seu site quando visitantes chegarem sem estar autenticados (e.g. quando você inclui os conteúdos da página inicial através do canal do site).";
$a->strings["Proxy user"] = "Usuário do proxy";
$a->strings["Proxy URL"] = "URL do proxy";
$a->strings["Network timeout"] = "Timeout da rede";
@@ -1635,14 +1946,11 @@ $a->strings["Poll interval"] = "Intervalo de coleta";
$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Atrase os processos de coleta em segundo plano por este número de segundos para reduzir a carga do sistema. Se 0, use o intervalo de entrega.";
$a->strings["Maximum Load Average"] = "Carga média máxima";
$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carga máxima do sistema antes de adiar processos de entrega e coleta - padrão 50.";
-$a->strings["Expiration period in days for imported (matrix/network) content"] = "Período de expiração em dias para importação de conteúdo (rede/matriz)";
-$a->strings["0 for no expiration of imported content"] = "0 para nunca expirar o conteúdo importado";
$a->strings["No server found"] = "Nenhum servidor foi encontrado";
$a->strings["ID"] = "ID";
$a->strings["for channel"] = "para o canal";
$a->strings["on server"] = "no servidor";
$a->strings["Status"] = "Status";
-$a->strings["Server"] = "Servidor";
$a->strings["Update has been marked successful"] = "A atualização foi designada bem sucedida";
$a->strings["Executing %s failed. Check system logs."] = "Execução de %s falhou. Verifique os logs do sistema.";
$a->strings["Update %s was successfully applied."] = "A atualização %s foi aplicada com sucesso.";
@@ -1652,13 +1960,6 @@ $a->strings["No failed updates."] = "Nenhuma falha nas atualizações.";
$a->strings["Failed Updates"] = "Falha nas atualizações";
$a->strings["Mark success (if update was manually applied)"] = "Marque sucesso (se a atualização foi aplicada manualmente)";
$a->strings["Attempt to execute this update step automatically"] = "Tente executar este passo da atualização automaticamente";
-$a->strings["Queue Statistics"] = "Filas de Estatísticas";
-$a->strings["Total Entries"] = "Total de Entradas";
-$a->strings["Priority"] = "Prioridade";
-$a->strings["Destination URL"] = "URL de destino";
-$a->strings["Mark hub permanently offline"] = "Marque o Hub como permanentemente fora do ar";
-$a->strings["Empty queue for this hub"] = "Fila vazia para esse hub";
-$a->strings["Last known contact"] = "Último contato conhecido";
$a->strings["%s user blocked/unblocked"] = array(
0 => "%s usuário foi bloqueado/desbloqueado",
1 => "%s usuários foram bloqueados/desbloqueados",
@@ -1668,8 +1969,8 @@ $a->strings["%s user deleted"] = array(
1 => "%s usuários foram deletados",
);
$a->strings["Account not found"] = "A conta não foi encontrada";
-$a->strings["User '%s' blocked"] = "O usuário/a '%s' foi bloqueado/a";
$a->strings["User '%s' unblocked"] = "O usuário/a '%s' foi desbloqueado/a";
+$a->strings["User '%s' blocked"] = "O usuário/a '%s' foi bloqueado/a";
$a->strings["Users"] = "Usuários";
$a->strings["select all"] = "selecionar tudo";
$a->strings["User registrations waiting for confirm"] = "Registros de usuário aguardando confirmação";
@@ -1677,8 +1978,6 @@ $a->strings["Request date"] = "Data de requisição";
$a->strings["No registrations."] = "Nenhum registro.";
$a->strings["Approve"] = "Aprovar";
$a->strings["Deny"] = "Negar";
-$a->strings["Block"] = "Bloquear";
-$a->strings["Unblock"] = "Desbloquear";
$a->strings["Register date"] = "Data de registro";
$a->strings["Last login"] = "Última autenticação";
$a->strings["Expires"] = "Expira";
@@ -1689,24 +1988,16 @@ $a->strings["%s channel censored/uncensored"] = array(
0 => "%s canal censurado/descensurado",
1 => "%s canais censurados/descensurados",
);
-$a->strings["%s channel code allowed/disallowed"] = array(
- 0 => "%s canal com código permitido/proibido",
- 1 => "%s canais com código permitido/proibido",
-);
$a->strings["%s channel deleted"] = array(
0 => "%s canal deletado",
1 => "%s canais deletados",
);
$a->strings["Channel not found"] = "Canal não encontrado";
$a->strings["Channel '%s' deleted"] = "Canal '%s' deletado";
-$a->strings["Channel '%s' censored"] = "Canal '%s' censurado";
$a->strings["Channel '%s' uncensored"] = "Canal '%s' não censurado";
-$a->strings["Channel '%s' code allowed"] = "Código permitido para o canal '%s'";
-$a->strings["Channel '%s' code disallowed"] = "Código proibido para o canal '%s'";
+$a->strings["Channel '%s' censored"] = "Canal '%s' censurado";
$a->strings["Censor"] = "Censurar";
$a->strings["Uncensor"] = "Não censurar";
-$a->strings["Allow Code"] = "Permitir código";
-$a->strings["Disallow Code"] = "Proibir código";
$a->strings["UID"] = "UID";
$a->strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Os canais selecionados serão deletados!\\n\\nTudo que foi postado nesses canais nesse site será permanentemente deletado!\\n\\nVocê tem certeza?";
$a->strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "O canal {0} será deletado!\\n\\nTudo o que foi postado nesse canal nesse site será permanentemente deletado!\\n\\nVocê tem certeza?";
@@ -1737,181 +2028,81 @@ $a->strings["Help text"] = "Texto de ajuda";
$a->strings["Additional info (optional)"] = "Informações adicionais (opcional)";
$a->strings["Field definition not found"] = "A dfinição de campo não foi encontrada";
$a->strings["Edit Profile Field"] = "Editar campo de perfil";
-$a->strings["Unable to find your hub."] = "Não foi possível localizar seu hub.";
-$a->strings["Post successful."] = "Publicado com sucesso.";
-$a->strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Número máximo de novos registros neste site excedido por hoje. Por favor, tente novamente amanhã.";
-$a->strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Por favor, indique a aceitação dos Termos de Serviço. Falha ao registrar.";
-$a->strings["Passwords do not match."] = "Senhas não conferem.";
-$a->strings["Registration successful. Please check your email for validation instructions."] = "O registro foi bem sucedido. Por favor, verifique seu e-mail para confirmar o registro.";
-$a->strings["Your registration is pending approval by the site owner."] = "A aprovação do seu registro está pendente junto ao administrador do site.";
-$a->strings["Your registration can not be processed."] = "Não foi possível processar o seu registro.";
-$a->strings["Registration on this site/hub is by approval only."] = "O registro neste site/hub requer aprovação.";
-$a->strings["<a href=\"pubsites\">Register at another affiliated site/hub</a>"] = "<a href=\"pubsites\">Registre em um outro site/hub afiliado</a>";
-$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Este site excedeu o número máximo de registros de novas contas. Por favor, tente novamente amanhã.";
-$a->strings["Terms of Service"] = "Termos de Serviço";
-$a->strings["I accept the %s for this website"] = "Eu aceito os %s deste website.";
-$a->strings["I am over 13 years of age and accept the %s for this website"] = "Eu sou maior de 13 anos e aceito os %s deste website";
-$a->strings["Membership on this site is by invitation only."] = "Novas contas neste site se dão apenas por convite.";
-$a->strings["Please enter your invitation code"] = "Por favor, digite o código do seu convite";
-$a->strings["Your email address"] = "Seu endereço de e-mail";
-$a->strings["Choose a password"] = "Escolha uma senha";
-$a->strings["Please re-enter your password"] = "Por favor, digite sua senha novamente";
-$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "A remoção da conta fica desabilitada por 48 horas após uma troca de senha da conta.";
-$a->strings["Remove This Account"] = "Remover esta conta";
-$a->strings["WARNING: "] = "AVISO:";
-$a->strings["This account and all its channels will be completely removed from the network. "] = "Esta conta e todos seus canais será completamente excluída da rede.";
-$a->strings["This action is permanent and can not be undone!"] = "Esta ação é permanente e não pode ser desfeita!";
-$a->strings["Please enter your password for verification:"] = "Por favor, digite a sua senha para verificação:";
-$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Remove esta conta, todos os seus canais e todos os clones desses canais da rede.";
-$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Por padrão, apenas as instâncias dos canais localizadas neste hub serão removidas da rede";
-$a->strings["Remove Account"] = "Remover conta";
-$a->strings["Help:"] = "Ajuda:";
-$a->strings["Not Found"] = "Não encontrada";
-$a->strings["\$Projectname Documentation"] = "Documentação de \$Projectname";
+$a->strings["Thing updated"] = "A coisa foi atualizada";
+$a->strings["Object store: failed"] = "Armazenamento do objeto: falhou";
+$a->strings["Thing added"] = "A coisa foi adicionada";
+$a->strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+$a->strings["Show Thing"] = "Exibir coisa";
+$a->strings["item not found."] = "o item não foi encontrado";
+$a->strings["Edit Thing"] = "Editar coisa";
+$a->strings["Select a profile"] = "Selecione um perfil";
+$a->strings["Post an activity"] = "Publique uma atividade";
+$a->strings["Only sends to viewers of the applicable profile"] = "Envia apenas para a audiência do perfil aplicável";
+$a->strings["Name of thing e.g. something"] = "Nome da coisa e.g. coisinha";
+$a->strings["URL of thing (optional)"] = "URL da coisa (opcional)";
+$a->strings["URL for photo of thing (optional)"] = "URL para foto da coisa (opcional)";
+$a->strings["Add Thing to your Profile"] = "Adicionar a coisa ao seu perfil";
+$a->strings["Your service plan only allows %d channels."] = "Seu plano de serviço permite apenas %d canais.";
+$a->strings["Nothing to import."] = "Nada a importar.";
+$a->strings["Unable to download data from old server"] = "Não foi possível descarregar os dados do servidor antigo";
+$a->strings["Imported file is empty."] = "O arquivo importado está vazio.";
+$a->strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Não foi possível criar um identificador de canal duplicado neste sistema. A importação falhou.";
+$a->strings["Channel clone failed. Import failed."] = "Clonagem do canal falhou. A importação falhou.";
+$a->strings["Cloned channel not found. Import failed."] = "Canal a clonar não encontrado. A importação falhou.";
+$a->strings["Import completed."] = "A importação foi completada.";
+$a->strings["You must be logged in to use this feature."] = "Você precisa estar autenticado para usar este recurso.";
+$a->strings["Import Channel"] = "Importar canal";
+$a->strings["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. Only identity and connections/relationships will be imported. Importation of content is not yet available."] = "Use este formulário para importar um canal existente de um servidor/hub diferente. Você pode obter a identidade do canal do servidor/hub antigo pela rede, ou fornecer um arquivo de exportação. Somente a identidade e as conexões/relacionamentos serão importados. Importação de conteúdos ainda não está disponível.";
+$a->strings["File to Upload"] = "Arquivo a carregar";
+$a->strings["Or provide the old server/hub details"] = "Ou forneça os detalhes do antigo servidor/hub";
+$a->strings["Your old identity address (xyz@example.com)"] = "O endereço da sua velha identidade (xyz@exemplo.com)";
+$a->strings["Your old login email address"] = "O endereço de e-mail da sua antiga conta";
+$a->strings["Your old login password"] = "A senha dua sua antiga conta";
+$a->strings["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 able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Para qualquer das opções, por favor escolha se deseja fazer deste hub seu novo endereço primário, ou se o velho local deve continuar com esse papel. Você será capaz de publicar a partir de ambos os locais, mas somente um pode estar designado como local primário para arquivos, fotos e mídia.";
+$a->strings["Make this hub my primary location"] = "Faça deste hub meu local primário";
+$a->strings["Import existing posts if possible"] = "Importar publicações existentes se possível";
+$a->strings["Total invitation limit exceeded."] = "Foi excedido o número total de convites.";
+$a->strings["%s : Not a valid email address."] = "%s : Não é um endereço de e-mail válido.";
+$a->strings["Please join us on Red"] = "Por favor, una-se a nós na Red";
+$a->strings["Invitation limit exceeded. Please contact your site administrator."] = "Você excedeu o limite de convites. Por favor, entre em contato com o administrador do site.";
+$a->strings["%s : Message delivery failed."] = "%s : Não foi possível enviar a mensagem.";
+$a->strings["%d message sent."] = array(
+ 0 => "%d mensagem enviada.",
+ 1 => "%d mensagens enviadas.",
+);
+$a->strings["You have no more invitations available"] = "Você não possui mais convites disponíveis";
+$a->strings["Send invitations"] = "Enviar convites.";
+$a->strings["Enter email addresses, one per line:"] = "Digite os endereços de e-mail, um por linha:";
+$a->strings["Your message:"] = "Sua mensagem:";
+$a->strings["Please join my community on Hubzilla."] = "Por favor junte-se à minha comunidade na Hubzilla";
+$a->strings["You will need to supply this invitation code: "] = "Você precisará fornecer este código de convite:";
+$a->strings["1. Register at any Hubzilla location (they are all inter-connected)"] = "1. Registre-se em qualquer site da Hubzilla (eles são todos interconectados)";
+$a->strings["2. Enter my Hubzilla network address into the site searchbar."] = "2. Entre meu endereço da rede Hubzilla na barra de busca do site.";
+$a->strings["or visit "] = "ou visite";
+$a->strings["3. Click [Connect]"] = "3. Clique [Conectar]";
+$a->strings["Unable to locate original post."] = "Não foi possível localizar a publicação original.";
+$a->strings["Empty post discarded."] = "A publicação em branco foi descartada.";
+$a->strings["Executable content type not permitted to this channel."] = "Conteúdo de tipo executável não permitido para este canal.";
+$a->strings["System error. Post not saved."] = "Erro no sistema. A publicação não foi salva.";
+$a->strings["You have reached your limit of %1$.0f top level posts."] = "Você atingiu o seu limite de %1$.0f publicações de novos tópicos.";
+$a->strings["You have reached your limit of %1$.0f webpages."] = "Você atingiu o seu limite de %1$.0f páginas web.";
$a->strings["[Embedded content - reload page to view]"] = "[Conteúdo incorporado - recarregue a página para ver]";
+$a->strings["Help with this feature"] = "Ajuda com este recurso";
+$a->strings["Layout Name"] = "Nome do layout";
+$a->strings["Like/Dislike"] = "Gostar/Desgostar";
+$a->strings["This action is restricted to members."] = "Esta ação é restrita a membros.";
+$a->strings["Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a href=\"register\">register as a new Redmatrix.member</a> to continue."] = "Por favor <a href=\"rmagic\">entre com sua ID da Hubzilla</a> ou <a href=\"register\">registre-se como um novo membro da Hubzilla</a> para continuar.";
+$a->strings["Invalid request."] = "Solicitação inválida.";
+$a->strings["thing"] = "coisa";
+$a->strings["Channel unavailable."] = "Canal não disponível.";
+$a->strings["Previous action reversed."] = "Ação anterior revertida.";
+$a->strings["Action completed."] = "Ação completada.";
+$a->strings["Thank you."] = "Obrigado.";
$a->strings["Remote privacy information not available."] = "Não existe informação disponível sobre a privacidade remota.";
$a->strings["Visible to:"] = "Visível para:";
-$a->strings["Name is required"] = "É necessário informar o nome";
-$a->strings["Key and Secret are required"] = "A chave e o segredo são obrigatórios";
-$a->strings["Diaspora Policy Settings updated."] = "Configurações da política do Diáspora atualizadas.";
-$a->strings["Passwords do not match. Password unchanged."] = "As senhas não correspondem. A senha não foi modificada.";
-$a->strings["Empty passwords are not allowed. Password unchanged."] = "Não é permitido uma senha em branco. A senha não foi modificada.";
-$a->strings["Password changed."] = "A senha foi modificada.";
-$a->strings["Password update failed. Please try again."] = "Não foi possível atualizar a senha. Por favor, tente novamente.";
-$a->strings["Not valid email."] = "Não é um e-mail válido";
-$a->strings["Protected email address. Cannot change to that email."] = "Endereço de e-mail protegido. Não é possível mudar para esse e-mail.";
-$a->strings["System failure storing new email. Please try again."] = "Falha do sistema ao armazenar novo e-mail. Por favor, tente novamente.";
-$a->strings["Settings updated."] = "As configurações foram atualizadas.";
-$a->strings["Add application"] = "Adicionar aplicação";
-$a->strings["Name of application"] = "Nome da aplicação";
-$a->strings["Consumer Key"] = "Chave de consumidor";
-$a->strings["Automatically generated - change if desired. Max length 20"] = "Gerado automaticamente - troque se desejável. Comprimento máximo 20";
-$a->strings["Consumer Secret"] = "Segredo de consumidor";
-$a->strings["Redirect"] = "Redirecionamento";
-$a->strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI de redirecionamento - deixe em branco, a não ser que sua aplicação especificamente requeira isso";
-$a->strings["Icon url"] = "URL do ícone";
-$a->strings["Optional"] = "Opcional";
-$a->strings["You can't edit this application."] = "Você não pode editar esta aplicação.";
-$a->strings["Connected Apps"] = "Aplicações conectadas";
-$a->strings["Client key starts with"] = "Chave do cliente começa com";
-$a->strings["No name"] = "Sem nome";
-$a->strings["Remove authorization"] = "Remover autorização";
-$a->strings["No feature settings configured"] = "Não foi definida nenhuma configuração do recurso";
-$a->strings["Feature/Addon Settings"] = "Configuração de Característica/Plugins";
-$a->strings["Settings for the built-in Diaspora emulator"] = "Configurações para construir um emulador de Diáspora";
-$a->strings["Allow any Diaspora member to comment on your public posts"] = "Permitir que qualquer membro do Diaspora comente em suas postagens públicas";
-$a->strings["Enable the Diaspora protocol for this channel"] = "Habilitar o protocolo Diaspora para este canal";
-$a->strings["Diaspora Policy Settings"] = "Configurações de Política do Diáspora";
-$a->strings["Prevent your hashtags from being redirected to other sites"] = "Previne que suas hashtags sejam redirecionadas para outros sítios";
-$a->strings["Account Settings"] = "Configurações da conta";
-$a->strings["Enter New Password:"] = "Digite a Nova Senha:";
-$a->strings["Confirm New Password:"] = "Confirme a Nova Senha:";
-$a->strings["Leave password fields blank unless changing"] = "Deixe os campos de senha em branco, a não ser que você queira alterá-la";
-$a->strings["Email Address:"] = "Endereço de e-mail:";
-$a->strings["Remove this account including all its channels"] = "Exclua esta conta, incluindo todos seus canais";
-$a->strings["Off"] = "Desligado";
-$a->strings["On"] = "Ligado";
-$a->strings["Additional Features"] = "Recursos adicionais";
-$a->strings["Connector Settings"] = "Configurações do conector";
-$a->strings["No special theme for mobile devices"] = "Sem tema especial para aparelhos móveis";
-$a->strings["%s - (Experimental)"] = "%s - (Experimental)";
-$a->strings["Display Settings"] = "Configurações de exibição";
-$a->strings["Theme Settings"] = "Configurações de tema";
-$a->strings["Custom Theme Settings"] = "Configurações personalizadas de tema";
-$a->strings["Content Settings"] = "Configurações de conteúdo";
-$a->strings["Display Theme:"] = "Tema do perfil:";
-$a->strings["Mobile Theme:"] = "Tema móvel:";
-$a->strings["Enable user zoom on mobile devices"] = "Permitir zoom pelo usuário em dispositivos móveis";
-$a->strings["Update browser every xx seconds"] = "Atualizar navegador a cada xx segundos";
-$a->strings["Minimum of 10 seconds, no maximum"] = "Mínimo de 10 segundos, sem máximo";
-$a->strings["Maximum number of conversations to load at any time:"] = "Número máximo permitido de conversas carregadas:";
-$a->strings["Maximum of 100 items"] = "Máximo de 100 itens";
-$a->strings["Show emoticons (smilies) as images"] = "Mostrar emoticons (smilies) como imagens";
-$a->strings["Link post titles to source"] = "Ligar o título dos posts à fonte";
-$a->strings["System Page Layout Editor - (advanced)"] = "Editor de layout de página do sistema - (avançado)";
-$a->strings["Use blog/list mode on channel page"] = "Usar modo blog/lista na página do canal";
-$a->strings["(comments displayed separately)"] = "(comentários mostrados separadamente)";
-$a->strings["Use blog/list mode on matrix page"] = "Use modo de blogue/lista na página da matriz";
-$a->strings["Channel page max height of content (in pixels)"] = "Altura máxima do conteúdo na página (em pixels)";
-$a->strings["click to expand content exceeding this height"] = "clique para expandir o conteúdo que excede essa altura";
-$a->strings["Matrix page max height of content (in pixels)"] = "Máxima altura de conteúdo na página Matriz (in pixesl)";
-$a->strings["Nobody except yourself"] = "Ninguém exceto você mesmo";
-$a->strings["Only those you specifically allow"] = "Apenas quem você der permissão";
-$a->strings["Approved connections"] = "Conexões aprovadas";
-$a->strings["Any connections"] = "Quaisquer conexões";
-$a->strings["Anybody on this website"] = "Qualquer um neste site";
-$a->strings["Anybody in this network"] = "Qualquer um nesta rede";
-$a->strings["Anybody authenticated"] = "Qualquer um autenticado";
-$a->strings["Anybody on the internet"] = "Qualquer um na internet";
-$a->strings["Publish your default profile in the network directory"] = "Publicar seu perfil padrão no diretório da rede?";
-$a->strings["Allow us to suggest you as a potential friend to new members?"] = "Permitir sugerir você como amigo potencial para outros membros?";
-$a->strings["Your channel address is"] = "O endereço do seu canal é";
-$a->strings["Channel Settings"] = "Configurações do canal";
-$a->strings["Basic Settings"] = "Configurações básicas";
-$a->strings["Your Timezone:"] = "Seu fuso horário:";
-$a->strings["Default Post Location:"] = "Localização padrão de suas publicações:";
-$a->strings["Geographical location to display on your posts"] = "Localização geográfica para exibir em suas publicações";
-$a->strings["Use Browser Location:"] = "Usar localizador do navegador:";
-$a->strings["Adult Content"] = "Conteúdo adulto";
-$a->strings["This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)"] = "Este canal frequentemente ou regularmente publica conteúdo adulto. (Por favor marque qualquer material adulto e/ou nudez com #NSFW)";
-$a->strings["Security and Privacy Settings"] = "Configurações de segurança e privacidade";
-$a->strings["Your permissions are already configured. Click to view/adjust"] = "Suas permissões já foram configuradas. Clique para vê-las/ajustá-las";
-$a->strings["Hide my online presence"] = "Esconda minha presença online";
-$a->strings["Prevents displaying in your profile that you are online"] = "Previne exibir em seu perfil que você está online";
-$a->strings["Simple Privacy Settings:"] = "Configurações de privacidade simples:";
-$a->strings["Very Public - <em>extremely permissive (should be used with caution)</em>"] = "Muito público - <em>extremamente permissivo (deve ser usado com cuidado)</em>";
-$a->strings["Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>"] = "Típico - <em>público por padrão, privado quando desejável (similar às permissões de redes sociais, mas com melhor privacidade)</em>";
-$a->strings["Private - <em>default private, never open or public</em>"] = "Privado - <em>privado por padrão, nunca aberto ou público</em>";
-$a->strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloqueado - <em>por padrão bloquado de/para todos</em>";
-$a->strings["Allow others to tag your posts"] = "Permitir que outros etiquetem suas publicações";
-$a->strings["Often used by the community to retro-actively flag inappropriate content"] = "Frequentemente utilizado pela comunidade para retroativamente sinalizar conteúdo inapropriado";
-$a->strings["Advanced Privacy Settings"] = "Configurações de privacidade avançadas";
-$a->strings["Expire other channel content after this many days"] = "Expirar outros conteúdos do canal após este número de dias";
-$a->strings["0 or blank prevents expiration"] = "0 ou em branco previne expiração";
-$a->strings["Maximum Friend Requests/Day:"] = "Número máximo de requisições de amizade por dia:";
-$a->strings["May reduce spam activity"] = "Pode reduzir a frequência de spam";
-$a->strings["Default Post Permissions"] = "Permissões padrão de publicação";
-$a->strings["Channel permissions category:"] = "Categoria de permissões do canal:";
-$a->strings["Maximum private messages per day from unknown people:"] = "Máximo número de mensagens privadas por dia de pessoas desconhecidas:";
-$a->strings["Useful to reduce spamming"] = "Útil para reduzir a frequência de spam";
-$a->strings["Notification Settings"] = "Configurações de notificação";
-$a->strings["By default post a status message when:"] = "Por padrão, publicar uma mensagem de status quando:";
-$a->strings["accepting a friend request"] = "aceitar um pedido de amizade";
-$a->strings["joining a forum/community"] = "associar-se a um fórum/comunidade";
-$a->strings["making an <em>interesting</em> profile change"] = "modificar algo <em>interessante</em> em seu perfil";
-$a->strings["Send a notification email when:"] = "Enviar um e-mail de notificação quando:";
-$a->strings["You receive a connection request"] = "Você recebe uma solicitação de conexão";
-$a->strings["Your connections are confirmed"] = "Suas conexões são confirmadas";
-$a->strings["Someone writes on your profile wall"] = "Alguém escrever no mural do seu perfil";
-$a->strings["Someone writes a followup comment"] = "Alguém comenta uma publicação";
-$a->strings["You receive a private message"] = "Você recebeu uma mensagem privada";
-$a->strings["You receive a friend suggestion"] = "Você recebe uma sugestão de amizade";
-$a->strings["You are tagged in a post"] = "Você é mencionado num post";
-$a->strings["You are poked/prodded/etc. in a post"] = "Você foi cutucado/espetado/etc. numa publicação";
-$a->strings["Show visual notifications including:"] = "Exibir notificações visuais incluindo:";
-$a->strings["Unseen matrix activity"] = "Atividade não vista na matriz";
-$a->strings["Unseen channel activity"] = "Atividade não vista no canal";
-$a->strings["Unseen private messages"] = "Mensagens privadas não vistas";
-$a->strings["Recommended"] = "Recomendado";
-$a->strings["Upcoming events"] = "Eventos próximos";
-$a->strings["Events today"] = "Eventos hoje";
-$a->strings["Upcoming birthdays"] = "Aniversários próximos";
-$a->strings["Not available in all themes"] = "Não disponível em todos os temas";
-$a->strings["System (personal) notifications"] = "Notificações de sistema (pessoais)";
-$a->strings["System info messages"] = "Mensagens de informação do sistema";
-$a->strings["System critical alerts"] = "Alertas críticos do sistema";
-$a->strings["New connections"] = "Novas conexões";
-$a->strings["System Registrations"] = "Registros no sistema";
-$a->strings["Also show new wall posts, private messages and connections under Notices"] = "Também mostra novos textos, mensagens privadas e conexões nos Avisos";
-$a->strings["Notify me of events this many days in advance"] = "Notifique-me de eventos adiante esse número de dias";
-$a->strings["Must be greater than 0"] = "Deve ser maior que 0";
-$a->strings["Advanced Account/Page Type Settings"] = "Configurações avançadas de conta/tipo de página";
-$a->strings["Change the behaviour of this account for special situations"] = "Mudar o comportamento dessa conta em situações especiais";
-$a->strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Por favor, habilite o modo expert (em <a href=\"settings/features\">Configurações > Recursos adicionais</a>) para ajustar!";
-$a->strings["Miscellaneous Settings"] = "Configurações miscelâneas";
-$a->strings["Personal menu to display in your channel pages"] = "Menu pessoal para exibir nas páginas dos seus canais";
-$a->strings["Remove Channel"] = "Remover canal";
-$a->strings["Remove this channel."] = "Remover este canal";
+$a->strings["Comanche page description language help"] = "Página de Ajuda da descrição da Linguagem Comanche ";
+$a->strings["Layout Description"] = "Descrição de Layout";
+$a->strings["Download PDL file"] = "Baixar arquivo PDL";
$a->strings["First Name"] = "Primeiro Nome";
$a->strings["Last Name"] = "Último Nome";
$a->strings["Nickname"] = "Apelido";
@@ -1932,83 +2123,42 @@ $a->strings["Conversation removed."] = "A conversa foi removida.";
$a->strings["No messages."] = "Nenhuma mensagem.";
$a->strings["Delete conversation"] = "Excluir conversa";
$a->strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
+$a->strings["Unable to create element."] = "Não foi possível criar elemento.";
+$a->strings["Unable to update menu element."] = "Não foi possível atualizar o elemento de menu.";
+$a->strings["Unable to add menu element."] = "Não foi possível adicionar o elemento de menu.";
+$a->strings["Menu Item Permissions"] = "Permissões do item do menu";
+$a->strings["Link Name"] = "Nome do Link";
+$a->strings["Link or Submenu Target"] = "Alvo do Link ou Submenu";
+$a->strings["Enter URL of the link or select a menu name to create a submenu"] = "Insira o URL do link ou selecione um nome de menu para criar um submenu";
+$a->strings["Use magic-auth if available"] = "Usar magic-auth se disponível";
+$a->strings["Open link in new window"] = "Abrir link em uma nova janela";
+$a->strings["Order in list"] = "Ordem na lista";
+$a->strings["Higher numbers will sink to bottom of listing"] = "Números mais altos descem para o fim da lista";
+$a->strings["Submit and finish"] = "Enviar e terminar";
+$a->strings["Submit and continue"] = "Enviar e continuar";
+$a->strings["Menu:"] = "Menu:";
+$a->strings["Link Target"] = "Alvo do Link";
+$a->strings["Edit menu"] = "Editar menu";
+$a->strings["Edit element"] = "Editar elemento";
+$a->strings["Drop element"] = "Descartar elemento";
+$a->strings["New element"] = "Novo elemento";
+$a->strings["Edit this menu container"] = "Editar esta caixa de menu";
+$a->strings["Add menu element"] = "Adicionar um elemento de menu";
+$a->strings["Delete this menu item"] = "Deleter este item de menu";
+$a->strings["Edit this menu item"] = "Editar este item de menu";
+$a->strings["Menu item not found."] = "O item de menu não foi encontrado.";
+$a->strings["Menu item deleted."] = "O item de menu foi deletado.";
+$a->strings["Menu item could not be deleted."] = "Não foi possível deletar o item de menu.";
+$a->strings["Edit Menu Element"] = "Editar elemento de menu";
+$a->strings["Link text"] = "Texto do link";
$a->strings["Set your current mood and tell your friends"] = "Marque seu humor atual e compartilhe com seus amigos";
$a->strings["Total votes"] = "Votos totais";
$a->strings["Average Rating"] = "Média das avaliações";
-$a->strings["Channel removals are not allowed within 48 hours of changing the account password."] = "A remoção da canais fica desabilitada por 48 horas após uma troca de senha da conta.";
-$a->strings["Remove This Channel"] = "Remover este canal";
-$a->strings["This channel will be completely removed from the network. "] = "Este canal será completamente excluído da rede.";
-$a->strings["Remove this channel and all its clones from the network"] = "Remover este canal e todos os seus clones da rede";
-$a->strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Por padrão, apenas a instância do canal localizada neste hub será removida da rede";
-$a->strings["is now connected to"] = "está agora conectado a";
-$a->strings["Could not access address book record."] = "Não foi possível acessar o registro do contato.";
-$a->strings["Refresh failed - channel is currently unavailable."] = "A atualização falhou - o canal está indisponível no momento.";
-$a->strings["Channel has been unblocked"] = "O canal foi desbloqueado";
-$a->strings["Channel has been blocked"] = "O canal foi bloqueado";
-$a->strings["Unable to set address book parameters."] = "Não foi possível definir os parâmetros do contato.";
-$a->strings["Channel has been unignored"] = "O canal não está mais ignorado";
-$a->strings["Channel has been ignored"] = "O canal passou a estar ignorado";
-$a->strings["Channel has been unarchived"] = "O canal deixou o arquivo";
-$a->strings["Channel has been archived"] = "O canal foi colocado no arquivo";
-$a->strings["Channel has been unhidden"] = "O canal não está mais oculto";
-$a->strings["Channel has been hidden"] = "O canal passou a estar oculto";
-$a->strings["Channel has been approved"] = "O canal foi aprovado";
-$a->strings["Channel has been unapproved"] = "O canal deixou de estar aprovado";
-$a->strings["Connection has been removed."] = "A conexão foi removida.";
-$a->strings["View %s's profile"] = "Ver o perfil de %s";
-$a->strings["Refresh Permissions"] = "Atualizar permissões";
-$a->strings["Fetch updated permissions"] = "Buscar as permissões atualizadas";
-$a->strings["Recent Activity"] = "Atividades recentes";
-$a->strings["View recent posts and comments"] = "Exibir publicações e comentários recentes";
-$a->strings["Block (or Unblock) all communications with this connection"] = "Bloquear (desbloquear) todas as comunicações com essa conexão";
-$a->strings["Unignore"] = "Não ignorar";
-$a->strings["Ignore"] = "Ignorar";
-$a->strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignorar (desfazer) todas as entradas de comunicação desta conexão";
-$a->strings["Unarchive"] = "Não arquivar";
-$a->strings["Archive"] = "Arquivar";
-$a->strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Arquivar (desarquivar) essa conexão - marcar o canal como morto mas manter o conteúdo";
-$a->strings["Unhide"] = "Não ocultar";
-$a->strings["Hide"] = "Ocultar";
-$a->strings["Hide or Unhide this connection from your other connections"] = "Esconder (mostrar) essa conexão de suas outras conexões";
-$a->strings["Delete this connection"] = "Deletar esta conexão";
-$a->strings["Approve this connection"] = "Aprovar esta conexão";
-$a->strings["Accept connection to allow communication"] = "Aceite a conexão para permitir comunicação";
-$a->strings["Set Affinity"] = "Definir afinidade";
-$a->strings["Set Profile"] = "Definir perfil";
-$a->strings["Set Affinity & Profile"] = "Definir afinidade & perfil";
-$a->strings["Apply these permissions automatically"] = "Aplicar essas permissões automaticamente";
-$a->strings["This connection's address is"] = "O endereço dessa conexão é";
-$a->strings["The permissions indicated on this page will be applied to all new connections."] = "As permissões indicadas nesta página serão aplicadas a todas as novas conexões.";
-$a->strings["Slide to adjust your degree of friendship"] = "Deslize para ajustar seu grau de amizade";
-$a->strings["Slide to adjust your rating"] = "Deslize para ajustar sua avaliação";
-$a->strings["Optionally explain your rating"] = "Opcionalmente explique sua avaliação";
-$a->strings["Custom Filter"] = "Filtro personalizado";
-$a->strings["Only import posts with this text"] = "Importar apenas publicações com este texto";
-$a->strings["words one per line or #tags or /patterns/, leave blank to import all posts"] = "palavras uma por linha ou #tags ou /padrões/, deixe branco para importar todas as publicações";
-$a->strings["Do not import posts with this text"] = "Não importar posts com este texto";
-$a->strings["This information is public!"] = "Esta informação é pública!";
-$a->strings["Connection Pending Approval"] = "Conexão pendente de aprovação";
-$a->strings["Connection Request"] = "Solicitação de conexão";
-$a->strings["(%s) would like to connect with you. Please approve this connection to allow communication."] = "(%s) gostaria de conectar-se contigo. Por favor aprove esta conexão para permitir comunicação.";
-$a->strings["Approve Later"] = "Aprovar depois";
-$a->strings["inherited"] = "herdado";
-$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Por favor, selecione o perfil que você gostaria de exibir para %s quando estiver visualizando seu perfil de modo seguro.";
-$a->strings["Their Settings"] = "Configurações dele/a";
-$a->strings["My Settings"] = "Minhas configurações";
-$a->strings["Individual Permissions"] = "Permissões individuais";
-$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Algumas permissões podem ser herdadas das <a href=\"settings\"><strong>configurações de privacidade</strong></a> do seu canal, que tem prioridade sobre configurações individuais. Você <strong>não</strong> pode mudar tais configurações aqui.";
-$a->strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Algumas permissões serão herdadas das <a href=\"settings\"><strong>configurações de privacidade<strong></a> do seu canal, que tem prioridade sobre configurações individuais. Você pode modificar tais configurações individuais nesta página mas elas não surtirão efeito sem mudar a configuração do canal sendo herdada.";
-$a->strings["Last update:"] = "Última atualização:";
-$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Encontramos um problema ao entrar com a OpenID fornecida. Por favor, verifique se digitou corretamente a ID.";
-$a->strings["The error message was:"] = "A mensagem de erro foi:";
-$a->strings["Authentication failed."] = "A autenticação falhou.";
-$a->strings["Remote Authentication"] = "Autenticação remota";
-$a->strings["Enter your channel address (e.g. channel@example.com)"] = "Entre o endereço do seu canal (e.g. canal@exemplo.com)";
-$a->strings["Authenticate"] = "Autenticar";
$a->strings["Unable to lookup recipient."] = "Não foi possível encontrar o destinatário.";
$a->strings["Unable to communicate with requested channel."] = "Não foi possível comunicar com o canal solicitado.";
$a->strings["Cannot verify requested channel."] = "Não foi possível verificar o canal requisitado.";
$a->strings["Selected channel has private message restrictions. Send failed."] = "O canal solicitado tem restrições a mensagens privadas. Falha no envio.";
+$a->strings["Messages"] = "Mensagens";
$a->strings["Message deleted."] = "A mensagem foi excluída.";
$a->strings["Message recalled."] = "Mensagem retirada.";
$a->strings["Send Private Message"] = "Enviar mensagem privada";
@@ -2020,21 +2170,62 @@ $a->strings["Delete message"] = "Excluir a mensagem";
$a->strings["Recall message"] = "Retirar mensagem";
$a->strings["Message has been recalled."] = "A mensagem foi retirada.";
$a->strings["Private Conversation"] = "Conversa privada";
+$a->strings["Delete conversation"] = "Excluir conversa";
$a->strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicação segura indisponível. Você <strong>talvez</strong> consiga responder pela página de perfil do remetente.";
$a->strings["Send Reply"] = "Enviar resposta";
-$a->strings["Invalid request identifier."] = "Identificador de solicitação inválido";
-$a->strings["Discard"] = "Descartar";
-$a->strings["Please login."] = "Por favor, autentique-se.";
-$a->strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Autenticação remota bloqueada. Você está autenticado neste site localmente. Por favor, saia e tente novamente.";
+$a->strings["You have created %1$.0f of %2$.0f allowed channels."] = "Você criou %1$.0f de %2$.0f canais permitidos.";
+$a->strings["Create a new channel"] = "Criar um novo canal";
+$a->strings["Current Channel"] = "Canal atual";
+$a->strings["Attach to one of your channels by selecting it."] = "Selecione um dos seus canais para utilizá-lo.";
+$a->strings["Default Channel"] = "Canal padrão";
+$a->strings["Make Default"] = "Tornar padrão";
+$a->strings["Wall Photos"] = "Fotos do mural";
+$a->strings["Profile Match"] = "Correspondência de perfil";
+$a->strings["No keywords to match. Please add keywords to your default profile."] = "Nenhuma palavra-chave para combinar. Por favor, adicione palavras-chave ao seu perfil padrão.";
+$a->strings["is interested in:"] = "se interessa por:";
+$a->strings["No matches"] = "Nenhuma correspondência";
+$a->strings["Menu updated."] = "Menu atualizado.";
+$a->strings["Unable to update menu."] = "Não foi possível atualizar o menu.";
+$a->strings["Menu created."] = "O menu foi criado.";
+$a->strings["Unable to create menu."] = "Não foi possível criar o menu.";
+$a->strings["Manage Menus"] = "Administrar menus";
+$a->strings["Drop"] = "Descartar";
+$a->strings["Create a new menu"] = "Criar um novo menu";
+$a->strings["Delete this menu"] = "Deletar este menu";
+$a->strings["Edit menu contents"] = "Editar os conteúdos do menu";
+$a->strings["Edit this menu"] = "Editar este menu";
+$a->strings["New Menu"] = "Novo menu";
+$a->strings["Menu name"] = "Nome do menu";
+$a->strings["Must be unique, only seen by you"] = "Deve ser único, exibido somente para você";
+$a->strings["Menu title"] = "Título do menu";
+$a->strings["Menu title as seen by others"] = "Título do menu quando visto por outros";
+$a->strings["Allow bookmarks"] = "Habilitar links guardados";
+$a->strings["Menu may be used to store saved bookmarks"] = "O menu pode ser utilizado para armazenar links guardados";
+$a->strings["Menu deleted."] = "Menu deletado.";
+$a->strings["Menu could not be deleted."] = "Não foi possível deletar o menu.";
+$a->strings["Edit Menu"] = "Editar menu";
+$a->strings["Add or remove entries to this menu"] = "Adicionar ou remover entradas deste menu";
+$a->strings["Conversation removed."] = "A conversa foi removida.";
+$a->strings["No messages."] = "Nenhuma mensagem.";
+$a->strings["D, d M Y - g:i A"] = "D, d M Y - g:i A";
$a->strings["Add a Channel"] = "Adicionar um canal";
$a->strings["A channel is your own collection of related web pages. A channel can be used to hold social network profiles, blogs, conversation groups and forums, celebrity pages, and much more. You may create as many channels as your service provider allows."] = "Um canal é uma coleção sua de páginas relacionadas. Um canal pode ser usado para um perfil de rede social, um blog, grupos de conversação e fóruns temáticos, páginas de personalidades, e muito mais. Você pode criar tantos canais quanto o provedor de serviço permita.";
$a->strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\" "] = "Exemplos: \"Maria Caiouá\", \"Roberto Salinas\", \"Elis e sua banda\", \"Futebol de salão\", \"Fanáticos por aeromodelismo\"";
$a->strings["Choose a short nickname"] = "Escolha um apelido curto";
$a->strings["Your nickname will be used to create an easily remembered channel address (like an email address) which you can share with others."] = "Seu apelido será usado para criar um endereço para o canal de fácil memorização (como um endereço de email), que você poderá compartilhar com outros.";
$a->strings["Or <a href=\"import\">import an existing channel</a> from another location"] = "Ou <a href=\"import\">importe um canal existente</a> de outro local";
-$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Por favor, escolha um tipo de canal (por exemplo rede social ou fórum de comunidade) e requisito de privacidade, para que possamos configurar as melhores permissões para você";
$a->strings["Channel Type"] = "Tipo de canal";
-$a->strings["Read more about roles"] = "Leia mais sobre as regras";
+$a->strings["Please choose a channel type (such as social networking or community forum) and privacy requirements so we can select the best permissions for you"] = "Por favor, escolha um tipo de canal (por exemplo rede social ou fórum de comunidade) e requisito de privacidade, para que possamos configurar as melhores permissões para você";
+$a->strings["Hubzilla - &quot;The Network&quot;"] = "Hubzilla - &quot;A Rede&quot;";
+$a->strings["Welcome to %s"] = "Bem-vindo(a) a %s";
+$a->strings["Invalid request identifier."] = "Identificador de solicitação inválido";
+$a->strings["Discard"] = "Descartar";
+$a->strings["No more system notifications."] = "Sem novas notificações do sistema.";
+$a->strings["System Notifications"] = "Notificações do sistema";
+$a->strings["Unable to find your hub."] = "Não foi possível localizar seu hub.";
+$a->strings["Post successful."] = "Publicado com sucesso.";
+$a->strings["invalid target signature"] = "assinatura do destino inválida";
+$a->strings["OpenID protocol error. No ID returned."] = "Erro do protocolo OpenID. Nenhuma ID retornada.";
$a->strings["App installed."] = "Aplicativo instalado";
$a->strings["Malformed app."] = "Aplicativo malformado.";
$a->strings["Embed code"] = "Embarcar código";
@@ -2047,29 +2238,14 @@ $a->strings["80 x 80 pixels - optional"] = "80 x 80 pixels - opcional";
$a->strings["Version ID"] = "ID da versão";
$a->strings["Price of app"] = "Preço do aplicativo";
$a->strings["Location (URL) to purchase app"] = "Endereço (URL) para comprar o aplicativo";
-$a->strings["sent you a private message"] = "lhe enviou uma mensagem privada";
-$a->strings["added your channel"] = "adicionou seu canal";
-$a->strings["posted an event"] = "publicou um evento";
-$a->strings["Comanche page description language help"] = "Página de Ajuda da descrição da Linguagem Comanche ";
-$a->strings["Layout Description"] = "Descrição de Layout";
-$a->strings["Download PDL file"] = "Baixar arquivo PDL";
-$a->strings["Welcome to %s"] = "Bem-vindo(a) a %s";
-$a->strings["Lorem Ipsum"] = "Lorem ipsum";
-$a->strings["Bookmark added"] = "O link foi guardado";
-$a->strings["My Bookmarks"] = "Meus links guardados";
-$a->strings["My Connections Bookmarks"] = "Links guardados das minhas conexões";
-$a->strings["Insufficient permissions. Request redirected to profile page."] = "Permissões insuficientes. Requisição redirecionada para a página de perfil.";
-$a->strings["This setting requires special processing and editing has been blocked."] = "Essa configuração requer processamento especial e a edição foi bloqueada.";
-$a->strings["Configuration Editor"] = "Editor de configurações";
-$a->strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Atenção: Mudar algumas configurações pode deixar seu canal inoperável. Por favor deixe essa página a não ser que esteja confortável e tenha o conhecimento para utilizar este recurso.";
-$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nenhuma sugestão disponível. Se este site é novo, por favor tente novamente em 24 horas.";
-$a->strings["Poll"] = "Enquete";
+$a->strings["Poll"] = "Votação";
$a->strings["View Results"] = "Ver resultados";
+$a->strings["Account removals are not allowed within 48 hours of changing the account password."] = "A remoção da conta fica desabilitada por 48 horas após uma troca de senha da conta.";
+$a->strings["Remove This Account"] = "Remover esta conta";
+$a->strings["This will completely remove this account including all its channels from the network. Once this has been done it is not recoverable."] = "Isso irá remover completamente esta conta, incluindo todos os canais da rede. Uma vez feito isso eles não poderão ser recuperados.";
+$a->strings["Remove this account, all its channels and all its channel clones from the network"] = "Remove esta conta, todos os seus canais e todos os clones desses canais da rede.";
+$a->strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Por padrão, apenas as instâncias dos canais localizadas neste hub serão removidas da rede";
$a->strings["No service class restrictions found."] = "Não foram encontradas restrições de classe de serviço.";
-$a->strings["Files: shared with me"] = "Arquivos: compartilhados comigo";
-$a->strings["NEW"] = "NOVO";
-$a->strings["Remove all files"] = "Remover todos arquivos";
-$a->strings["Remove this file"] = "Remover este arquivo";
$a->strings["Schema Default"] = "Padrão do esquema";
$a->strings["Sans-Serif"] = "Sans-Serif";
$a->strings["Monospace"] = "Monospace";
@@ -2105,8 +2281,10 @@ $a->strings["Right offset of the section element"] = "Deslocamento direito do el
$a->strings["Section width"] = "largura de seção";
$a->strings["Left offset of the aside"] = "Deslocamento esquerdo do aparte";
$a->strings["Right offset of the aside element"] = "Deslocamento direito do aparte";
-$a->strings["Light (Red Matrix default)"] = "Leve (padrão da Red Matrix)";
-$a->strings["Select scheme"] = "Selecione esquema";
+$a->strings["None"] = "Nenhum";
+$a->strings["Header image"] = "Imagem de cabeçalho";
+$a->strings["Header image only on profile pages"] = "Imagem de cabeçalho apenas em páginas de perfil";
+$a->strings["Light (Hubzilla default)"] = "Leve (padrão da Hubzilla)";
$a->strings["Narrow navbar"] = "Barra de navegação estreita";
$a->strings["Navigation bar background color"] = "Cor de fundo da barra de navegação";
$a->strings["Navigation bar gradient top color"] = "Cor no topo de gradiente da barra de navegação";
@@ -2127,24 +2305,22 @@ $a->strings["Set the indent for comments"] = "Definir a indentação de comentá
$a->strings["Set the basic color for item icons"] = "Definir a cor básica para ícones de itens";
$a->strings["Set the hover color for item icons"] = "Definir a cor para ícones de itens quando que o mouse está sobre eles";
$a->strings["Set font-size for the entire application"] = "Definir o tamanho da fonte para a aplicação como um todo";
-$a->strings["Example: 14px"] = "Exemplo: 14px";
$a->strings["Set font-color for posts and comments"] = "Definir a cor da fonte para publicações e comentários";
$a->strings["Set radius of corners"] = "Definir o raio de curvatura dos cantos";
$a->strings["Set shadow depth of photos"] = "Definir a profundidade de sombra das fotos";
-$a->strings["Set maximum width of content region in pixel"] = "Escolha a largura máxima da região de conteúdo em pixel";
-$a->strings["Leave empty for default width"] = "Deixe vazio para a largura padrão";
-$a->strings["Center page content"] = "Conteúdo centralizado na página";
+$a->strings["Set maximum width of conversation regions"] = "Definir a largura máxima da área de conversas";
+$a->strings["Center conversation regions"] = "Centralizar regiões de conversação";
$a->strings["Set minimum opacity of nav bar - to hide it"] = "Definir opacidade mínima para a barra de navegação - para escondê-la";
$a->strings["Set size of conversation author photo"] = "Definir o tamanho da foto do autor da conversa";
$a->strings["Set size of followup author photos"] = "Definir o tamanho da foto dos autores de comentários";
+$a->strings["Sloppy photo albums"] = "Álbuns de fotos desleixados";
+$a->strings["Are you a clean desk or a messy desk person?"] = "Sua mesa é do tipo limpinha ou bagunçada?";
$a->strings["Update %s failed. See error logs."] = "A atualização %s falhou. Veja os logs de erro.";
$a->strings["Update Error at %s"] = "Erro de atualização em %s";
-$a->strings["Create an account to access services and applications within the Red Matrix"] = "Crie uma conta para acessar serviços e aplicações na Red Matrix";
+$a->strings["Create an account to access services and applications within the Hubzilla"] = "Crie uma conta para acessar serviços e aplicações na Hubzilla";
$a->strings["Password"] = "Senha";
$a->strings["Remember me"] = "Lembrar de mim";
$a->strings["Forgot your password?"] = "Esqueceu a sua senha?";
+$a->strings["permission denied"] = "permissão negada";
+$a->strings["Got Zot?"] = "Já tem Zot?";
$a->strings["toggle mobile"] = "alternar para interface móvel";
-$a->strings["Website SSL certificate is not valid. Please correct."] = "Certificado SSL do Website não é válido. Por favor corrija-o.";
-$a->strings["[red] Website SSL error for %s"] = "[red] erro SSL da página para %s";
-$a->strings["Cron/Scheduled tasks not running."] = "Agendamento de tarefas não está rodando.";
-$a->strings["[red] Cron tasks not running on %s"] = "[red] Agendador de tarefas não está rodando em %s";
diff --git a/view/pt-br/update_fail_eml.tpl b/view/pt-br/update_fail_eml.tpl
index a7df8fc2f..61f44b1e6 100644
--- a/view/pt-br/update_fail_eml.tpl
+++ b/view/pt-br/update_fail_eml.tpl
@@ -1,7 +1,7 @@
Hey,
I'm the web server at {{$sitename}};
-The Red Matrix developers released update {{$update}} recently,
+The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and it requires human intervention.
Please contact a Red developer if you can not figure out how to
diff --git a/view/ru/htconfig.tpl b/view/ru/htconfig.tpl
index 096143798..cc4087f96 100644
--- a/view/ru/htconfig.tpl
+++ b/view/ru/htconfig.tpl
@@ -30,7 +30,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
diff --git a/view/ru/messages.po b/view/ru/messages.po
index d3cc218ea..0ff952e8d 100644
--- a/view/ru/messages.po
+++ b/view/ru/messages.po
@@ -1,5 +1,5 @@
-# Red Matrix Project
-# Copyright (C) 2012-2014 the Red Matrix Project
+# Hubzilla Project
+# Copyright (C) 2012-2014 the Hubzilla Project
# This file is distributed under the same license as the Red package.
#
# Translators:
@@ -8,7 +8,7 @@
# puser, 2014
msgid ""
msgstr ""
-"Project-Id-Version: Red Matrix\n"
+"Project-Id-Version: Hubzilla\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-06-27 00:02-0700\n"
"PO-Revision-Date: 2014-06-30 12:10+0000\n"
@@ -1479,12 +1479,12 @@ msgid "Safe Mode"
msgstr "Безопасный режим"
#: ../../include/enotify.php:41
-msgid "Red Matrix Notification"
+msgid "Hubzilla Notification"
msgstr "Оповещения Red матрицы"
#: ../../include/enotify.php:42
-msgid "redmatrix"
-msgstr "redmatrix"
+msgid "hubzilla"
+msgstr "hubzilla"
#: ../../include/enotify.php:44
msgid "Thank You,"
@@ -4480,7 +4480,7 @@ msgstr "Публичные сайты"
#: ../../mod/pubsites.php:19
msgid ""
-"The listed sites allow public registration into the Red Matrix. All sites in"
+"The listed sites allow public registration into the Hubzilla. All sites in"
" the matrix are interlinked so membership on any of them conveys membership "
"in the matrix as a whole. Some sites may require subscription or provide "
"tiered service plans. The provider links <strong>may</strong> provide "
@@ -4656,7 +4656,7 @@ msgid "Please login."
msgstr "Войдите пожалуйста."
#: ../../mod/cloud.php:113
-msgid "Red Matrix - Guests: Username: {your email address}, Password: +++"
+msgid "Hubzilla - Guests: Username: {your email address}, Password: +++"
msgstr ""
#: ../../mod/removeme.php:49
@@ -5300,7 +5300,7 @@ msgid "This site is not a directory server"
msgstr "Этот сайт не является сервером каталога"
#: ../../mod/home.php:81
-msgid "Red Matrix - &quot;The Network&quot;"
+msgid "Hubzilla - &quot;The Network&quot;"
msgstr ""
#: ../../mod/home.php:94
@@ -5309,8 +5309,8 @@ msgid "Welcome to %s"
msgstr "Добро пожаловать в %s"
#: ../../mod/setup.php:162
-msgid "Red Matrix Server - Setup"
-msgstr "Red Matrix Сервер - Установка"
+msgid "Hubzilla Server - Setup"
+msgstr "Hubzilla Сервер - Установка"
#: ../../mod/setup.php:168
msgid "Could not connect to database."
@@ -5358,7 +5358,7 @@ msgstr "Подключение к базе данных"
#: ../../mod/setup.php:285
msgid ""
-"In order to install Red Matrix we need to know how to connect to your "
+"In order to install Hubzilla we need to know how to connect to your "
"database."
msgstr ""
@@ -5793,7 +5793,7 @@ msgstr "Red"
#: ../../mod/siteinfo.php:98
msgid ""
-"This is a hub of the Red Matrix - a global cooperative network of "
+"This is a hub of the Hubzilla - a global cooperative network of "
"decentralised privacy enhanced websites."
msgstr ""
@@ -5804,8 +5804,8 @@ msgstr ""
#: ../../mod/siteinfo.php:102
msgid ""
"Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more "
-"about the Red Matrix."
-msgstr "Пожалуйста посетите <a href=\"http://getzot.com\">GetZot.com</a> чтобы узнать больше о Red Matrix."
+"about the Hubzilla."
+msgstr "Пожалуйста посетите <a href=\"http://getzot.com\">GetZot.com</a> чтобы узнать больше о Hubzilla."
#: ../../mod/siteinfo.php:103
msgid "Bug reports and issues: please visit"
@@ -5813,7 +5813,7 @@ msgstr ""
#: ../../mod/siteinfo.php:106
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot "
"com"
msgstr ""
@@ -7008,8 +7008,8 @@ msgstr "Пожалуйста, посетите мой канал на"
#: ../../mod/invite.php:151
msgid ""
-"Once you have registered (on ANY Red Matrix site - they are all inter-"
-"connected), please connect with my Red Matrix channel address:"
+"Once you have registered (on ANY Hubzilla site - they are all inter-"
+"connected), please connect with my Hubzilla channel address:"
msgstr ""
#: ../../mod/invite.php:153
@@ -7018,10 +7018,10 @@ msgstr ""
#: ../../mod/invite.php:155
msgid ""
-"For more information about the Red Matrix Project and why it has the "
+"For more information about the Hubzilla Project and why it has the "
"potential to change the internet as we know it, please visit "
"http://getzot.com"
-msgstr "Чтобы узнать больше о проекте Red Matrix, и чтобы узнать почему он имеет потенциал для изменения привычного нам Интернета, пожалуйста, посетите http://getzot.com"
+msgstr "Чтобы узнать больше о проекте Hubzilla, и чтобы узнать почему он имеет потенциал для изменения привычного нам Интернета, пожалуйста, посетите http://getzot.com"
#: ../../mod/item.php:147
msgid "Unable to locate original post."
@@ -7814,7 +7814,7 @@ msgstr "Ошибка обновления на %s"
#: ../../boot.php:1440
msgid ""
-"Create an account to access services and applications within the Red Matrix"
+"Create an account to access services and applications within the Hubzilla"
msgstr ""
#: ../../boot.php:1468
diff --git a/view/ru/strings.php b/view/ru/strings.php
index 3a8d9920c..c9d569cbb 100644
--- a/view/ru/strings.php
+++ b/view/ru/strings.php
@@ -347,8 +347,8 @@ $a->strings["Newest to Oldest"] = "От новых к старым";
$a->strings["Enable Safe Search"] = "";
$a->strings["Disable Safe Search"] = "";
$a->strings["Safe Mode"] = "Безопасный режим";
-$a->strings["Red Matrix Notification"] = "Оповещения Red матрицы";
-$a->strings["redmatrix"] = "redmatrix";
+$a->strings["Hubzilla Notification"] = "Оповещения Red матрицы";
+$a->strings["hubzilla"] = "hubzilla";
$a->strings["Thank You,"] = "Спасибо,";
$a->strings["%s Administrator"] = "%s администратор";
$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
@@ -1070,7 +1070,7 @@ $a->strings["Click on a contact to add or remove."] = "Нажмите на ка
$a->strings["Visible To"] = "Видно";
$a->strings["All Connections"] = "Все контакты";
$a->strings["Public Sites"] = "Публичные сайты";
-$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "";
+$a->strings["The listed sites allow public registration into the Hubzilla. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "";
$a->strings["Site URL"] = "URL веб-сайта";
$a->strings["Access Type"] = "Тип доступа";
$a->strings["Registration Policy"] = "Правила регистрации";
@@ -1111,7 +1111,7 @@ $a->strings["Please re-enter your password"] = "Пожалуйста, введи
$a->strings["Away"] = "Нет на месте";
$a->strings["Online"] = "Сейчас в сети";
$a->strings["Please login."] = "Войдите пожалуйста.";
-$a->strings["Red Matrix - Guests: Username: {your email address}, Password: +++"] = "";
+$a->strings["Hubzilla - Guests: Username: {your email address}, Password: +++"] = "";
$a->strings["Remove This Channel"] = "Удалить этот канал";
$a->strings["This will completely remove this channel from the network. Once this has been done it is not recoverable."] = "";
$a->strings["Please enter your password for verification:"] = "Пожалуйста, введите пароль для проверки:";
@@ -1262,9 +1262,9 @@ $a->strings["Hometown: "] = "Город проживания:";
$a->strings["About: "] = "О себе:";
$a->strings["Keywords: "] = "Ключевые слова:";
$a->strings["This site is not a directory server"] = "Этот сайт не является сервером каталога";
-$a->strings["Red Matrix - &quot;The Network&quot;"] = "";
+$a->strings["Hubzilla - &quot;The Network&quot;"] = "";
$a->strings["Welcome to %s"] = "Добро пожаловать в %s";
-$a->strings["Red Matrix Server - Setup"] = "Red Matrix Сервер - Установка";
+$a->strings["Hubzilla Server - Setup"] = "Hubzilla Сервер - Установка";
$a->strings["Could not connect to database."] = "Не удалось подключиться к серверу баз данных.";
$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "";
$a->strings["Could not create table."] = "Не удалось создать таблицу.";
@@ -1275,7 +1275,7 @@ $a->strings["System check"] = "Проверка системы";
$a->strings["Next"] = "Следующая";
$a->strings["Check again"] = "Проверить снова";
$a->strings["Database connection"] = "Подключение к базе данных";
-$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "";
+$a->strings["In order to install Hubzilla we need to know how to connect to your database."] = "";
$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "";
$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "";
$a->strings["Database Server Name"] = "Имя сервера базы данных";
@@ -1367,11 +1367,11 @@ $a->strings["Version %s"] = "Версия %s";
$a->strings["Installed plugins/addons/apps:"] = "";
$a->strings["No installed plugins/addons/apps"] = "";
$a->strings["Red"] = "Red";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralised privacy enhanced websites."] = "";
+$a->strings["This is a hub of the Hubzilla - a global cooperative network of decentralised privacy enhanced websites."] = "";
$a->strings["Running at web location"] = "";
-$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Red Matrix."] = "Пожалуйста посетите <a href=\"http://getzot.com\">GetZot.com</a> чтобы узнать больше о Red Matrix.";
+$a->strings["Please visit <a href=\"http://getzot.com\">GetZot.com</a> to learn more about the Hubzilla."] = "Пожалуйста посетите <a href=\"http://getzot.com\">GetZot.com</a> чтобы узнать больше о Hubzilla.";
$a->strings["Bug reports and issues: please visit"] = "";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "";
+$a->strings["Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot com"] = "";
$a->strings["Site Administrators"] = "Администратор сайта";
$a->strings["Page owner information could not be retrieved."] = "";
$a->strings["Album not found."] = "Альбом не найден.";
@@ -1661,12 +1661,12 @@ $a->strings["You have no more invitations available"] = "У вас больше
$a->strings["Send invitations"] = "Послать приглашения";
$a->strings["Enter email addresses, one per line:"] = "Введите адреса электронной почты, по одному на строку:";
$a->strings["Your message:"] = "Сообщение:";
-$a->strings["You are cordially invited to join me and some other close friends on the Red Matrix - a revolutionary new decentralised communication and information tool."] = "";
+$a->strings["You are cordially invited to join me and some other close friends on the Hubzilla - a revolutionary new decentralised communication and information tool."] = "";
$a->strings["You will need to supply this invitation code: \$invite_code"] = "";
$a->strings["Please visit my channel at"] = "Пожалуйста, посетите мой канал на";
-$a->strings["Once you have registered (on ANY Red Matrix site - they are all inter-connected), please connect with my Red Matrix channel address:"] = "";
+$a->strings["Once you have registered (on ANY Hubzilla site - they are all inter-connected), please connect with my Hubzilla channel address:"] = "";
$a->strings["Click the [Register] link on the following page to join."] = "";
-$a->strings["For more information about the Red Matrix Project and why it has the potential to change the internet as we know it, please visit http://getzot.com"] = "Чтобы узнать больше о проекте Red Matrix, и чтобы узнать почему он имеет потенциал для изменения привычного нам Интернета, пожалуйста, посетите http://getzot.com";
+$a->strings["For more information about the Hubzilla Project and why it has the potential to change the internet as we know it, please visit http://getzot.com"] = "Чтобы узнать больше о проекте Hubzilla, и чтобы узнать почему он имеет потенциал для изменения привычного нам Интернета, пожалуйста, посетите http://getzot.com";
$a->strings["Unable to locate original post."] = "Не удалось найти оригинал.";
$a->strings["Empty post discarded."] = "Отказаться от пустой почты.";
$a->strings["Executable content type not permitted to this channel."] = "";
@@ -1856,7 +1856,7 @@ $a->strings["Are you sure you want to delete this item?"] = "Вы уверены
$a->strings["Total"] = "Всего";
$a->strings["Update %s failed. See error logs."] = "";
$a->strings["Update Error at %s"] = "Ошибка обновления на %s";
-$a->strings["Create an account to access services and applications within the Red Matrix"] = "";
+$a->strings["Create an account to access services and applications within the Hubzilla"] = "";
$a->strings["Password"] = "Пароль";
$a->strings["Remember me"] = "Запомнить";
$a->strings["Forgot your password?"] = "Забыли пароль или логин?";
diff --git a/view/ru/update_fail_eml.tpl b/view/ru/update_fail_eml.tpl
index a7df8fc2f..61f44b1e6 100644
--- a/view/ru/update_fail_eml.tpl
+++ b/view/ru/update_fail_eml.tpl
@@ -1,7 +1,7 @@
Hey,
I'm the web server at {{$sitename}};
-The Red Matrix developers released update {{$update}} recently,
+The Hubzilla developers released update {{$update}} recently,
but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and it requires human intervention.
Please contact a Red developer if you can not figure out how to
diff --git a/view/sv/htconfig.tpl b/view/sv/htconfig.tpl
index 096143798..cc4087f96 100644
--- a/view/sv/htconfig.tpl
+++ b/view/sv/htconfig.tpl
@@ -30,7 +30,7 @@ $default_timezone = '{{$timezone}}';
// What is your site name?
$a->config['system']['baseurl'] = '{{$siteurl}}';
-$a->config['system']['sitename'] = "Red Matrix";
+$a->config['system']['sitename'] = "Hubzilla";
$a->config['system']['location_hash'] = '{{$site_id}}';
// Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
diff --git a/view/sv/messages.po b/view/sv/messages.po
index 4c591ea84..4486a8630 100644
--- a/view/sv/messages.po
+++ b/view/sv/messages.po
@@ -1,5 +1,5 @@
-# Red Matrix Project
-# Copyright (C) 2012-2014 the Red Matrix Project
+# Hubzilla Project
+# Copyright (C) 2012-2014 the Hubzilla Project
# This file is distributed under the same license as the Red package.
#
# Translators:
@@ -7,7 +7,7 @@
# pafcu <pafcu@iki.fi>, 2014
msgid ""
msgstr ""
-"Project-Id-Version: Red Matrix\n"
+"Project-Id-Version: Hubzilla\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-02-06 00:04-0800\n"
"PO-Revision-Date: 2015-02-07 12:46+0000\n"
@@ -966,8 +966,8 @@ msgid "l F d, Y \\@ g:i A"
msgstr "l j F Y \\k\\l. H.i"
#: ../../include/bb2diaspora.php:447
-msgid "Redmatrix event notification:"
-msgstr "Händelsenotifiering från Redmatrix:"
+msgid "Hubzilla event notification:"
+msgstr "Händelsenotifiering från Hubzilla:"
#: ../../include/bb2diaspora.php:451 ../../include/event.php:20
msgid "Starts:"
@@ -2250,12 +2250,12 @@ msgid "database storage failed."
msgstr "databaslagring misslyckades."
#: ../../include/enotify.php:41
-msgid "Red Matrix Notification"
-msgstr "Red Matrix-meddelande"
+msgid "Hubzilla Notification"
+msgstr "Hubzilla-meddelande"
#: ../../include/enotify.php:42
-msgid "redmatrix"
-msgstr "redmatrix"
+msgid "hubzilla"
+msgstr "hubzilla"
#: ../../include/enotify.php:44
msgid "Thank You,"
@@ -3712,8 +3712,8 @@ msgid "Unable to verify site signature for %s"
msgstr "Kunde inte bekräfta signatur för servern %s"
#: ../../mod/setup.php:166
-msgid "Red Matrix Server - Setup"
-msgstr "Red Matrix-server - inställningar"
+msgid "Hubzilla Server - Setup"
+msgstr "Hubzilla-server - inställningar"
#: ../../mod/setup.php:172
msgid "Could not connect to database."
@@ -3761,9 +3761,9 @@ msgstr "Databasanslutning"
#: ../../mod/setup.php:290
msgid ""
-"In order to install Red Matrix we need to know how to connect to your "
+"In order to install Hubzilla we need to know how to connect to your "
"database."
-msgstr "För att kunna installera Red Matrix behöver vi veta hur databasen ska anslutas."
+msgstr "För att kunna installera Hubzilla behöver vi veta hur databasen ska anslutas."
#: ../../mod/setup.php:291
msgid ""
@@ -4208,8 +4208,8 @@ msgid "Some blurb about what to do when you're new here"
msgstr "Lite text om vad man kan göra som ny här"
#: ../../mod/home.php:48
-msgid "Red Matrix - &quot;The Network&quot;"
-msgstr "Red Matrix - &quot;Nätverket&quot;"
+msgid "Hubzilla - &quot;The Network&quot;"
+msgstr "Hubzilla - &quot;Nätverket&quot;"
#: ../../mod/home.php:101
#, php-format
@@ -4465,8 +4465,8 @@ msgid "URL of link"
msgstr "Länkens URL"
#: ../../mod/mitem.php:165 ../../mod/mitem.php:209
-msgid "Use RedMatrix magic-auth if available"
-msgstr "Använd RedMatrix magic-auth om tillgängligt"
+msgid "Use Hubzilla magic-auth if available"
+msgstr "Använd Hubzilla magic-auth om tillgängligt"
#: ../../mod/mitem.php:166 ../../mod/mitem.php:210
msgid "Open link in new window"
@@ -4574,12 +4574,12 @@ msgstr "Offentliga servrar"
#: ../../mod/pubsites.php:19
msgid ""
-"The listed sites allow public registration into the Red Matrix. All sites in"
+"The listed sites allow public registration into the Hubzilla. All sites in"
" the matrix are interlinked so membership on any of them conveys membership "
"in the matrix as a whole. Some sites may require subscription or provide "
"tiered service plans. The provider links <strong>may</strong> provide "
"additional details."
-msgstr "De listade servrarna tillåter offentlig registrering i Red Matrix. Alla servrar i matrisen är sammankopplade, så medlemskap i en av dem medför medlemskap i matrisen som helhet. Vissa servrar kan kräva abonnemang eller erbjuda uppdelade tjänstenivåer. Leverantörslänkarna <strong>kan</strong> ge ytterligare detaljer."
+msgstr "De listade servrarna tillåter offentlig registrering i Hubzilla. Alla servrar i matrisen är sammankopplade, så medlemskap i en av dem medför medlemskap i matrisen som helhet. Vissa servrar kan kräva abonnemang eller erbjuda uppdelade tjänstenivåer. Leverantörslänkarna <strong>kan</strong> ge ytterligare detaljer."
#: ../../mod/pubsites.php:25
msgid "Site URL"
@@ -4606,8 +4606,8 @@ msgid "Insufficient permissions. Request redirected to profile page."
msgstr "Otillräckliga behörigheter. Förfrågan omdirigerad till profilsidan."
#: ../../mod/cloud.php:120
-msgid "RedMatrix - Guests: Username: {your email address}, Password: +++"
-msgstr "RedMatrix - Gäster: Användarnamn {din e-postadress}, Lösenord: +++"
+msgid "Hubzilla - Guests: Username: {your email address}, Password: +++"
+msgstr "Hubzilla - Gäster: Användarnamn {din e-postadress}, Lösenord: +++"
#: ../../mod/regmod.php:11
msgid "Please login."
@@ -5546,9 +5546,9 @@ msgstr "Red"
#: ../../mod/siteinfo.php:137
msgid ""
-"This is a hub of the Red Matrix - a global cooperative network of "
+"This is a hub of the Hubzilla - a global cooperative network of "
"decentralized privacy enhanced websites."
-msgstr "Det här är en hubb som ingår i Red Matrix - ett globalt samverkande nätverk av decentraliserade webbplatser med bättre integritetskydd."
+msgstr "Det här är en hubb som ingår i Hubzilla - ett globalt samverkande nätverk av decentraliserade webbplatser med bättre integritetskydd."
#: ../../mod/siteinfo.php:139
msgid "Tag: "
@@ -5564,9 +5564,9 @@ msgstr "Kör på webbutrymmet"
#: ../../mod/siteinfo.php:145
msgid ""
-"Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more"
-" about the Red Matrix."
-msgstr "Besök <a href=\"https://redmatrix.me\">RedMatrix.me</a> för att lära dig mer om Red Matrix."
+"Please visit <a href=\"https://redmatrix.me\">Redmatrix.me</a> to learn more"
+" about the Hubzilla."
+msgstr "Besök <a href=\"https://redmatrix.me\">Redmatrix.me</a> för att lära dig mer om Hubzilla."
#: ../../mod/siteinfo.php:146
msgid "Bug reports and issues: please visit"
@@ -5574,9 +5574,9 @@ msgstr "Buggrapporter och problem: besök"
#: ../../mod/siteinfo.php:149
msgid ""
-"Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot "
+"Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot "
"com"
-msgstr "Förslag, uppskattning, etc. - maila \"redmatrix\" at librelist - dot com"
+msgstr "Förslag, uppskattning, etc. - maila \"hubzilla\" at librelist - dot com"
#: ../../mod/siteinfo.php:151
msgid "Site Administrators"
@@ -6099,9 +6099,9 @@ msgstr "Den här åtgärden fungerar bara för medlemmar."
#: ../../mod/like.php:21
msgid ""
-"Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a "
-"href=\"register\">register as a new RedMatrix member</a> to continue."
-msgstr "<a href=\"rmagic\">Logga in med ditt RedMatrix-ID</a> eller <a href=\"register\">registrera dig som ny RedMatrix medlem</a> för att fortsätta."
+"Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a "
+"href=\"register\">register as a new Redmatrix.member</a> to continue."
+msgstr "<a href=\"rmagic\">Logga in med ditt Hubzilla-ID</a> eller <a href=\"register\">registrera dig som ny Redmatrix.medlem</a> för att fortsätta."
#: ../../mod/like.php:89 ../../mod/like.php:116 ../../mod/like.php:154
msgid "Invalid request."
@@ -6188,20 +6188,20 @@ msgid "Your message:"
msgstr "Ditt meddelande:"
#: ../../mod/invite.php:132
-msgid "Please join my community on RedMatrix."
-msgstr "Gå med mig i gemenskapen på RedMatrix."
+msgid "Please join my community on Hubzilla."
+msgstr "Gå med mig i gemenskapen på Hubzilla."
#: ../../mod/invite.php:134
msgid "You will need to supply this invitation code: "
msgstr "Du kommer att behöva den här inbjudningskoden: "
#: ../../mod/invite.php:135
-msgid "1. Register at any RedMatrix location (they are all inter-connected)"
-msgstr "1. Skapa konto på en RedMatrix-server (alla är ihopkopplade)"
+msgid "1. Register at any Hubzilla location (they are all inter-connected)"
+msgstr "1. Skapa konto på en Hubzilla-server (alla är ihopkopplade)"
#: ../../mod/invite.php:137
-msgid "2. Enter my RedMatrix network address into the site searchbar."
-msgstr "2. Ange min RedMatrix-adress i webbplatsens sökruta."
+msgid "2. Enter my Hubzilla network address into the site searchbar."
+msgstr "2. Ange min Hubzilla-adress i webbplatsens sökruta."
#: ../../mod/invite.php:138
msgid "or visit "
@@ -6256,8 +6256,8 @@ msgid "Do not show in shared with me folder of your connections"
msgstr "Visa inte i dina kontakters mapp med delat material"
#: ../../mod/dav.php:121
-msgid "RedMatrix channel"
-msgstr "RedMatrix-kanal"
+msgid "Hubzilla channel"
+msgstr "Hubzilla-kanal"
#: ../../mod/lockview.php:31
msgid "Remote privacy information not available."
@@ -8387,8 +8387,8 @@ msgid "Right offset of the aside element"
msgstr "Höger offset för sidoelement"
#: ../../view/theme/redbasic/php/config.php:84
-msgid "Light (Red Matrix default)"
-msgstr "Light (standard för Red Matrix)"
+msgid "Light (Hubzilla default)"
+msgstr "Light (standard för Hubzilla)"
#: ../../view/theme/redbasic/php/config.php:104
msgid "Narrow navbar"
@@ -8522,8 +8522,8 @@ msgstr "Uppdateringsfel på %s"
#: ../../boot.php:1525
msgid ""
-"Create an account to access services and applications within the Red Matrix"
-msgstr "Skapa ett konto för att komma åt tjänster och applikationer inom Red Matrix"
+"Create an account to access services and applications within the Hubzilla"
+msgstr "Skapa ett konto för att komma åt tjänster och applikationer inom Hubzilla"
#: ../../boot.php:1553
msgid "Password"
diff --git a/view/sv/strings.php b/view/sv/strings.php
index fd819e1d3..3a09830c5 100644
--- a/view/sv/strings.php
+++ b/view/sv/strings.php
@@ -222,7 +222,7 @@ $a->strings["Upload New Photos"] = "Ladda upp nya foton";
$a->strings["Public Timeline"] = "Offentlig tidslinje";
$a->strings["Attachments:"] = "Bilagor:";
$a->strings["l F d, Y \\@ g:i A"] = "l j F Y \\k\\l. H.i";
-$a->strings["Redmatrix event notification:"] = "Händelsenotifiering från Redmatrix:";
+$a->strings["Hubzilla event notification:"] = "Händelsenotifiering från Hubzilla:";
$a->strings["Starts:"] = "Börjar:";
$a->strings["Finishes:"] = "Slutar:";
$a->strings["Location:"] = "Plats:";
@@ -523,8 +523,8 @@ $a->strings["duplicate filename or path"] = "filnamn eller sökväg finns redan"
$a->strings["Path not found."] = "Sökväg hittas inte.";
$a->strings["mkdir failed."] = "mkdir misslyckades.";
$a->strings["database storage failed."] = "databaslagring misslyckades.";
-$a->strings["Red Matrix Notification"] = "Red Matrix-meddelande";
-$a->strings["redmatrix"] = "redmatrix";
+$a->strings["Hubzilla Notification"] = "Hubzilla-meddelande";
+$a->strings["hubzilla"] = "hubzilla";
$a->strings["Thank You,"] = "Tack,";
$a->strings["%s Administrator"] = "Administratören för %s";
$a->strings["%s <!item_type!>"] = "%s <!item_type!>";
@@ -871,7 +871,7 @@ $a->strings["Ask me"] = "Fråga mig";
$a->strings["Invalid data packet"] = "Ogiltigt datapaket";
$a->strings["Unable to verify channel signature"] = "Kunde inte bekräfta kanalsignatur";
$a->strings["Unable to verify site signature for %s"] = "Kunde inte bekräfta signatur för servern %s";
-$a->strings["Red Matrix Server - Setup"] = "Red Matrix-server - inställningar";
+$a->strings["Hubzilla Server - Setup"] = "Hubzilla-server - inställningar";
$a->strings["Could not connect to database."] = "Kunde inte ansluta till databasen.";
$a->strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Kunde inte ansluta till den angivna server-URL:en. Möjligt problem med SSL-certifikat eller DNS.";
$a->strings["Could not create table."] = "Kunde inte skapa tabell.";
@@ -882,7 +882,7 @@ $a->strings["System check"] = "Systemkontroll";
$a->strings["Next"] = "Nästa";
$a->strings["Check again"] = "Kontrollera igen";
$a->strings["Database connection"] = "Databasanslutning";
-$a->strings["In order to install Red Matrix we need to know how to connect to your database."] = "För att kunna installera Red Matrix behöver vi veta hur databasen ska anslutas.";
+$a->strings["In order to install Hubzilla we need to know how to connect to your database."] = "För att kunna installera Hubzilla behöver vi veta hur databasen ska anslutas.";
$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Kontakta din servervärd eller administratör om du har frågor om de här inställningarna.";
$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Databasen du anger nedan måste finnas. Om den inte gör det, skapa den innan du fortsätter.";
$a->strings["Database Server Name"] = "Databasserver";
@@ -976,7 +976,7 @@ $a->strings["Collection: "] = "Krets: ";
$a->strings["Connection: "] = "Kontakt:";
$a->strings["Invalid connection."] = "Ogiltig kontakt.";
$a->strings["Some blurb about what to do when you're new here"] = "Lite text om vad man kan göra som ny här";
-$a->strings["Red Matrix - &quot;The Network&quot;"] = "Red Matrix - &quot;Nätverket&quot;";
+$a->strings["Hubzilla - &quot;The Network&quot;"] = "Hubzilla - &quot;Nätverket&quot;";
$a->strings["Welcome to %s"] = "Välkommen till %s";
$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Inga förslag tillgängliga. Om det här är en ny server, försök igen om 24 timmar.";
$a->strings["Export Channel"] = "Exportera kanal";
@@ -1035,7 +1035,7 @@ $a->strings["Menu Item Permissions"] = "Behörighet för menyval";
$a->strings["(click to open/close)"] = "(klicka för att öppna/stänga)";
$a->strings["Link text"] = "Länktext";
$a->strings["URL of link"] = "Länkens URL";
-$a->strings["Use RedMatrix magic-auth if available"] = "Använd RedMatrix magic-auth om tillgängligt";
+$a->strings["Use Hubzilla magic-auth if available"] = "Använd Hubzilla magic-auth om tillgängligt";
$a->strings["Open link in new window"] = "Öppna länk i nytt fönster";
$a->strings["Order in list"] = "Ordningstal i listan";
$a->strings["Higher numbers will sink to bottom of listing"] = "Större tal sjunker till botten av listan";
@@ -1061,14 +1061,14 @@ $a->strings["URL of bookmark"] = "Bokmärkets URL";
$a->strings["Description"] = "Beskrivning";
$a->strings["Or enter new bookmark folder name"] = "Eller ange nytt namn på bokmärkeskatalog";
$a->strings["Public Sites"] = "Offentliga servrar";
-$a->strings["The listed sites allow public registration into the Red Matrix. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "De listade servrarna tillåter offentlig registrering i Red Matrix. Alla servrar i matrisen är sammankopplade, så medlemskap i en av dem medför medlemskap i matrisen som helhet. Vissa servrar kan kräva abonnemang eller erbjuda uppdelade tjänstenivåer. Leverantörslänkarna <strong>kan</strong> ge ytterligare detaljer.";
+$a->strings["The listed sites allow public registration into the Hubzilla. All sites in the matrix are interlinked so membership on any of them conveys membership in the matrix as a whole. Some sites may require subscription or provide tiered service plans. The provider links <strong>may</strong> provide additional details."] = "De listade servrarna tillåter offentlig registrering i Hubzilla. Alla servrar i matrisen är sammankopplade, så medlemskap i en av dem medför medlemskap i matrisen som helhet. Vissa servrar kan kräva abonnemang eller erbjuda uppdelade tjänstenivåer. Leverantörslänkarna <strong>kan</strong> ge ytterligare detaljer.";
$a->strings["Site URL"] = "Server-URL";
$a->strings["Access Type"] = "Åtkomsttyp";
$a->strings["Registration Policy"] = "Registreringspolicy";
$a->strings["Location"] = "Plats";
$a->strings["You must be logged in to see this page."] = "Du måste vara inloggad för att se den här sidan.";
$a->strings["Insufficient permissions. Request redirected to profile page."] = "Otillräckliga behörigheter. Förfrågan omdirigerad till profilsidan.";
-$a->strings["RedMatrix - Guests: Username: {your email address}, Password: +++"] = "RedMatrix - Gäster: Användarnamn {din e-postadress}, Lösenord: +++";
+$a->strings["Hubzilla - Guests: Username: {your email address}, Password: +++"] = "Hubzilla - Gäster: Användarnamn {din e-postadress}, Lösenord: +++";
$a->strings["Please login."] = "Logga in.";
$a->strings["Room not found"] = "Rum hittas inte";
$a->strings["Leave Room"] = "Lämna rummet";
@@ -1292,13 +1292,13 @@ $a->strings["Version %s"] = "Version %s";
$a->strings["Installed plugins/addons/apps:"] = "Installerade tillägg/moduler/appar:";
$a->strings["No installed plugins/addons/apps"] = "Inga installerade tillägg/moduler/appar";
$a->strings["Red"] = "Red";
-$a->strings["This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites."] = "Det här är en hubb som ingår i Red Matrix - ett globalt samverkande nätverk av decentraliserade webbplatser med bättre integritetskydd.";
+$a->strings["This is a hub of the Hubzilla - a global cooperative network of decentralized privacy enhanced websites."] = "Det här är en hubb som ingår i Hubzilla - ett globalt samverkande nätverk av decentraliserade webbplatser med bättre integritetskydd.";
$a->strings["Tag: "] = "Tagg: ";
$a->strings["Last background fetch: "] = "Senaste bakgrundshämtning: ";
$a->strings["Running at web location"] = "Kör på webbutrymmet";
-$a->strings["Please visit <a href=\"https://redmatrix.me\">RedMatrix.me</a> to learn more about the Red Matrix."] = "Besök <a href=\"https://redmatrix.me\">RedMatrix.me</a> för att lära dig mer om Red Matrix.";
+$a->strings["Please visit <a href=\"https://redmatrix.me\">Redmatrix.me</a> to learn more about the Hubzilla."] = "Besök <a href=\"https://redmatrix.me\">Redmatrix.me</a> för att lära dig mer om Hubzilla.";
$a->strings["Bug reports and issues: please visit"] = "Buggrapporter och problem: besök";
-$a->strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Förslag, uppskattning, etc. - maila \"redmatrix\" at librelist - dot com";
+$a->strings["Suggestions, praise, etc. - please email \"hubzilla\" at librelist - dot com"] = "Förslag, uppskattning, etc. - maila \"hubzilla\" at librelist - dot com";
$a->strings["Site Administrators"] = "Serveradministratörer";
$a->strings["Page owner information could not be retrieved."] = "Information om sidans ägare kunde inte hittas.";
$a->strings["Album not found."] = "Albumet hittades inte.";
@@ -1425,7 +1425,7 @@ $a->strings["Help:"] = "Hjälp:";
$a->strings["Not Found"] = "Hittas inte";
$a->strings["Like/Dislike"] = "Gilla/ogilla";
$a->strings["This action is restricted to members."] = "Den här åtgärden fungerar bara för medlemmar.";
-$a->strings["Please <a href=\"rmagic\">login with your RedMatrix ID</a> or <a href=\"register\">register as a new RedMatrix member</a> to continue."] = "<a href=\"rmagic\">Logga in med ditt RedMatrix-ID</a> eller <a href=\"register\">registrera dig som ny RedMatrix medlem</a> för att fortsätta.";
+$a->strings["Please <a href=\"rmagic\">login with your Hubzilla ID</a> or <a href=\"register\">register as a new Redmatrix.member</a> to continue."] = "<a href=\"rmagic\">Logga in med ditt Hubzilla-ID</a> eller <a href=\"register\">registrera dig som ny Redmatrix.medlem</a> för att fortsätta.";
$a->strings["Invalid request."] = "Ogiltig begäran.";
$a->strings["thing"] = "sak";
$a->strings["Channel unavailable."] = "Kanalen kan ej nås.";
@@ -1448,10 +1448,10 @@ $a->strings["You have no more invitations available"] = "Du har inga fler inbjud
$a->strings["Send invitations"] = "Skicka inbjudan";
$a->strings["Enter email addresses, one per line:"] = "Ange e-postadresser, en per rad:";
$a->strings["Your message:"] = "Ditt meddelande:";
-$a->strings["Please join my community on RedMatrix."] = "Gå med mig i gemenskapen på RedMatrix.";
+$a->strings["Please join my community on Hubzilla."] = "Gå med mig i gemenskapen på Hubzilla.";
$a->strings["You will need to supply this invitation code: "] = "Du kommer att behöva den här inbjudningskoden: ";
-$a->strings["1. Register at any RedMatrix location (they are all inter-connected)"] = "1. Skapa konto på en RedMatrix-server (alla är ihopkopplade)";
-$a->strings["2. Enter my RedMatrix network address into the site searchbar."] = "2. Ange min RedMatrix-adress i webbplatsens sökruta.";
+$a->strings["1. Register at any Hubzilla location (they are all inter-connected)"] = "1. Skapa konto på en Hubzilla-server (alla är ihopkopplade)";
+$a->strings["2. Enter my Hubzilla network address into the site searchbar."] = "2. Ange min Hubzilla-adress i webbplatsens sökruta.";
$a->strings["or visit "] = "eller besök ";
$a->strings["3. Click [Connect]"] = "3. Klicka [Ta kontakt]";
$a->strings["Permission Denied."] = "Behörighet saknas.";
@@ -1465,7 +1465,7 @@ $a->strings["Copy/paste this URL to link file from a web page"] = "Kopiera/klist
$a->strings["Attach this file to a new post"] = "Bifoga den här filen till ett nytt inlägg";
$a->strings["Show URL to this file"] = "Visa URL till den här filen";
$a->strings["Do not show in shared with me folder of your connections"] = "Visa inte i dina kontakters mapp med delat material";
-$a->strings["RedMatrix channel"] = "RedMatrix-kanal";
+$a->strings["Hubzilla channel"] = "Hubzilla-kanal";
$a->strings["Remote privacy information not available."] = "Icke-lokal integritetsinformation är inte tillgänglig";
$a->strings["Visible to:"] = "Kan ses av:";
$a->strings["Your service plan only allows %d channels."] = "Din tjänstenivå tillåter bara %d kanaler.";
@@ -1977,7 +1977,7 @@ $a->strings["Right offset of the section element"] = "Höger offset för avsnitt
$a->strings["Section width"] = "Avsnittsbredd";
$a->strings["Left offset of the aside"] = "Vänster offset för sidoelement";
$a->strings["Right offset of the aside element"] = "Höger offset för sidoelement";
-$a->strings["Light (Red Matrix default)"] = "Light (standard för Red Matrix)";
+$a->strings["Light (Hubzilla default)"] = "Light (standard för Hubzilla)";
$a->strings["Narrow navbar"] = "Smal navigeringslist";
$a->strings["Navigation bar background color"] = "Navigeringslistens bakgrundsfärg";
$a->strings["Navigation bar gradient top color"] = "Övre gradientfärg i navigeringslisten";
@@ -2010,7 +2010,7 @@ $a->strings["Sloppy photo albums"] = "Oordnade fotoalbum";
$a->strings["Are you a clean desk or a messy desk person?"] = "Föredrar du ett tomt eller stökigt skrivbord?";
$a->strings["Update %s failed. See error logs."] = "Uppdatering %s misslyckades. Se felloggar.";
$a->strings["Update Error at %s"] = "Uppdateringsfel på %s";
-$a->strings["Create an account to access services and applications within the Red Matrix"] = "Skapa ett konto för att komma åt tjänster och applikationer inom Red Matrix";
+$a->strings["Create an account to access services and applications within the Hubzilla"] = "Skapa ett konto för att komma åt tjänster och applikationer inom Hubzilla";
$a->strings["Password"] = "Lösenord";
$a->strings["Remember me"] = "Kom ihåg mig";
$a->strings["Forgot your password?"] = "Glömt lösenordet?";
diff --git a/view/sv/update_fail_eml.tpl b/view/sv/update_fail_eml.tpl
index 0abbf2cfa..f6be52976 100644
--- a/view/sv/update_fail_eml.tpl
+++ b/view/sv/update_fail_eml.tpl
@@ -1,7 +1,7 @@
Hej,
Jag är webbservern på {{$sitename}};
-Red Matrix-utvecklarna släppte nyligen uppdateringen {{$update}},
+Hubzilla-utvecklarna släppte nyligen uppdateringen {{$update}},
men när jag försökte installera den gick något fruktansvärt fel.
Detta behöver fixas snart och kräver en människas ingripande.
Kontakta en Red-utvecklare om du inte kan lösa problemet själv.
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index 702c7238e..25436db5f 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -2296,3 +2296,11 @@ nav .badge.mail-update:hover {
/*.channels_ckbx, .pending_ckbx, .users_ckbx {
margin-top: -5px !important;
}*/
+
+.help-searchlist {
+ list-style-type: none;
+}
+
+.help-searchlist a {
+ font-size: 130%;
+} \ No newline at end of file
diff --git a/view/theme/redbasic/php/config.php b/view/theme/redbasic/php/config.php
index c0b2b6da9..fe3ea9742 100644
--- a/view/theme/redbasic/php/config.php
+++ b/view/theme/redbasic/php/config.php
@@ -79,7 +79,7 @@ function theme_post(&$a) {
function redbasic_form(&$a, $arr) {
$scheme_choices = array();
- $scheme_choices["---"] = t("Light (Red Matrix default)");
+ $scheme_choices["---"] = t("Light (Hubzilla default)");
$files = glob('view/theme/redbasic/schema/*.php');
if($files) {
foreach($files as $file) {
diff --git a/view/theme/redbasic/php/theme.php b/view/theme/redbasic/php/theme.php
index e68533bb4..f0679a532 100644
--- a/view/theme/redbasic/php/theme.php
+++ b/view/theme/redbasic/php/theme.php
@@ -2,7 +2,7 @@
/**
* * Name: Redbasic
- * * Description: RedMatrix standard theme
+ * * Description: Hubzilla standard theme
* * Version: 1.0
* * Author: Fabrixxm
* * Maintainer: Mike Macgirvin
diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl
index 3884038c0..e2ce3c552 100755
--- a/view/tpl/admin_site.tpl
+++ b/view/tpl/admin_site.tpl
@@ -67,7 +67,6 @@
<h3>{{$corporate}}</h3>
{{include file="field_checkbox.tpl" field=$block_public}}
{{include file="field_checkbox.tpl" field=$verify_email}}
- {{include file="field_checkbox.tpl" field=$diaspora_enabled}}
{{include file="field_checkbox.tpl" field=$feed_contacts}}
{{include file="field_checkbox.tpl" field=$force_publish}}
{{include file="field_checkbox.tpl" field=$disable_discover_tab}}
diff --git a/view/tpl/email_notify_html.tpl b/view/tpl/email_notify_html.tpl
index cf149341e..ae3e8c012 100755
--- a/view/tpl/email_notify_html.tpl
+++ b/view/tpl/email_notify_html.tpl
@@ -7,7 +7,7 @@
<body>
<table style="border:1px solid #ccc; background-color: #FFFFFF; color: #000000;">
<tbody>
- <tr><td colspan="2" style="background:#c60032; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px; float:left;" src='{{$siteurl}}/images/rm-32.png'><div style="padding:7px; margin-left: 5px; float:left; font-size:18px;letter-spacing:1px;">{{$product}}</div><div style="clear: both;"></div></td></tr>
+ <tr><td colspan="2" style="background:#026D0D; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px; float:left;" src='{{$siteurl}}/images/ghash-32.png'><div style="padding:7px; margin-left: 5px; float:left; font-size:18px;letter-spacing:1px;">{{$product}}</div><div style="clear: both;"></div></td></tr>
<tr><td style="padding-top:22px;" colspan="2">{{$preamble}}</td></tr>
diff --git a/view/tpl/event_form.tpl b/view/tpl/event_form.tpl
index d2562f080..15505397b 100755
--- a/view/tpl/event_form.tpl
+++ b/view/tpl/event_form.tpl
@@ -12,6 +12,7 @@
<input type="hidden" name="event_hash" value="{{$event_hash}}" />
<input type="hidden" name="xchan" value="{{$xchan}}" />
<input type="hidden" name="mid" value="{{$mid}}" />
+<input type="hidden" name="type" value="{{$type}}" />
<input type="hidden" name="preview" id="event-edit-preview" value="0" />
<div id="event-summary-text">{{$t_text}}</div>
@@ -92,14 +93,6 @@
</div>
</div>
-
-<!-- <div class="btn-group pull-right" id="comment-edit-submit-wrapper-desc">
- {{if $preview}}
- <button id="comment-edit-submit-desc" class="btn btn-default btn-xs" onclick="preview_comment(desc); return false;" title="{{$preview}}">
- <i class="icon-eye-open comment-icon" ></i>
- </button>
- {{/if}}
--->
</div>
<div class="clear"></div>
diff --git a/view/tpl/event_head.tpl b/view/tpl/event_head.tpl
index 6b59eef27..fd0ef0d9b 100755
--- a/view/tpl/event_head.tpl
+++ b/view/tpl/event_head.tpl
@@ -29,6 +29,21 @@
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
+ monthNames: aStr['monthNames'],
+ monthNamesShort: aStr['monthNamesShort'],
+ dayNames: aStr['dayNames'],
+ dayNamesShort: aStr['dayNamesShort'],
+ buttonText: {
+ prev: "<span class='fc-text-arrow'>&lsaquo;</span>",
+ next: "<span class='fc-text-arrow'>&rsaquo;</span>",
+ prevYear: "<span class='fc-text-arrow'>&laquo;</span>",
+ nextYear: "<span class='fc-text-arrow'>&raquo;</span>",
+ today: aStr['today'],
+ month: aStr['month'],
+ week: aStr['week'],
+ day: aStr['day']
+ },
+ allDayText: aStr['allday'],
timeFormat: 'H(:mm)',
eventClick: function(calEvent, jsEvent, view) {
showEvent(calEvent.id);
diff --git a/view/tpl/head.tpl b/view/tpl/head.tpl
index dc334deef..8a007232e 100755
--- a/view/tpl/head.tpl
+++ b/view/tpl/head.tpl
@@ -17,7 +17,7 @@
<link rel="search"
href="{{$baseurl}}/opensearch"
type="application/opensearchdescription+xml"
- title="Search in the Red Matrix" />
+ title="Search in the Hubzilla" />
<script>
diff --git a/view/tpl/item_import.tpl b/view/tpl/item_import.tpl
new file mode 100755
index 000000000..65de7fcaf
--- /dev/null
+++ b/view/tpl/item_import.tpl
@@ -0,0 +1,15 @@
+<h2>{{$title}}</h2>
+
+<form action="import_items" method="post" enctype="multipart/form-data" id="import-channel-form">
+
+ <div id="import-desc" class="descriptive-paragraph">{{$desc}}</div>
+
+ <label for="import-filename" id="label-import-filename" class="import-label" >{{$label_filename}}</label>
+ <input type="file" name="filename" id="import-filename" class="import-input" value="" />
+ <div id="import-filename-end" class="import-field-end"></div>
+
+ <input type="submit" name="submit" id="import-submit-button" value="{{$submit}}" />
+ <div id="import-submit-end" class="import-field-end"></div>
+
+</form>
+
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index 4121882b7..49369ab63 100755
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
@@ -191,7 +191,7 @@ function enableOnUser(){
if(reply && reply.length) {
reply = bin2hex(reply);
$('#profile-rotator').spin('tiny');
- $.get('{{$baseurl}}/parse_url?binurl=' + reply, function(data) {
+ $.get('{{$baseurl}}/linkinfo?f=&binurl=' + reply, function(data) {
addeditortext(data);
$('#profile-rotator').spin(false);
});
@@ -258,7 +258,7 @@ function enableOnUser(){
if(reply && reply.length) {
reply = bin2hex(reply);
$('#profile-rotator').spin('tiny');
- $.get('{{$baseurl}}/parse_url?binurl=' + reply, function(data) {
+ $.get('{{$baseurl}}/linkinfo?f=&binurl=' + reply, function(data) {
if (!editor) $("#profile-jot-text").val("");
initEditor(function(){
addeditortext(data);
diff --git a/view/tpl/js_strings.tpl b/view/tpl/js_strings.tpl
index 2e7e85604..38cf8edbd 100755
--- a/view/tpl/js_strings.tpl
+++ b/view/tpl/js_strings.tpl
@@ -40,6 +40,16 @@
't15' : "{{$t15}}",
't16' : "{{$t16}}",
't17' : "{{$t17}}",
+
+ 'monthNames' : [ "{{$January}}","{{$February}}","{{$March}}","{{$April}}","{{$May}}","{{$June}}","{{$July}}","{{$August}}","{{$September}}","{{$October}}","{{$November}}","{{$December}}" ],
+ 'monthNamesShort' : [ "{{$Jan}}","{{$Feb}}","{{$Mar}}","{{$Apr}}","{{$MayShort}}","{{$Jun}}","{{$Jul}}","{{$Aug}}","{{$Sep}}","{{$Oct}}","{{$Nov}}","{{$Dec}}" ],
+ 'dayNames' : ["{{$Sunday}}","{{$Monday}}","{{$Tuesday}}","{{$Wednesday}}","{{$Thursday}}","{{$Friday}}","{{$Saturday}}"],
+ 'dayNamesShort' : ["{{$Sun}}","{{$Mon}}","{{$Tue}}","{{$Wed}}","{{$Thu}}","{{$Fri}}","{{$Sat}}"],
+ 'today' : "{{$today}}",
+ 'month' : "{{$month}}",
+ 'week' : "{{$week}}",
+ 'day' : "{{$day}}",
+ 'allday' : "{{$allday}}"
};
</script>
diff --git a/view/tpl/msg-header.tpl b/view/tpl/msg-header.tpl
index e1d1c6d23..2119d3b02 100755
--- a/view/tpl/msg-header.tpl
+++ b/view/tpl/msg-header.tpl
@@ -78,7 +78,7 @@ else
reply = prompt("{{$linkurl}}");
if(reply && reply.length) {
$('#prvmail-rotator').spin('tiny');
- $.get('parse_url?url=' + reply, function(data) {
+ $.get('linkinfo?f=&url=' + reply, function(data) {
addmailtext(data);
$('#prvmail-rotator').spin(false);
});
@@ -104,7 +104,7 @@ else
event.preventDefault();
if(reply && reply.length) {
$('#prvmail-rotator').spin('tiny');
- $.get('parse_url?url=' + reply, function(data) {
+ $.get('linkinfo?f=&url=' + reply, function(data) {
addmailtext(data);
$('#prvmail-rotator').spin(false);
});
diff --git a/view/tpl/nav.tpl b/view/tpl/nav.tpl
index 4241c0a92..3d6809c22 100755
--- a/view/tpl/nav.tpl
+++ b/view/tpl/nav.tpl
@@ -189,7 +189,7 @@
{{if $nav.help}}
<li class="{{$sel.help}}">
- <a class="{{$nav.help.2}}" target="redmatrix-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" id="{{$nav.help.4}}"><i class="icon-question"></i></a>
+ <a class="{{$nav.help.2}}" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" id="{{$nav.help.4}}"><i class="icon-question"></i></a>
</li>
{{/if}}
</ul>
diff --git a/view/tpl/opensearch.tpl b/view/tpl/opensearch.tpl
index ea260c6ae..8885c12bc 100755
--- a/view/tpl/opensearch.tpl
+++ b/view/tpl/opensearch.tpl
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
- <ShortName>Red Matrix@{{$nodename}}</ShortName>
- <Description>Search in The Red Matrix@{{$nodename}}</Description>
+ <ShortName>Hubzilla@{{$nodename}}</ShortName>
+ <Description>Search in The Hubzilla@{{$nodename}}</Description>
<Contact>http://github.com/friendica/red/</Contact>
<Image height="16" width="16" type="image/png">{{$baseurl}}/images/rm-16.png</Image>
<Image height="64" width="64" type="image/png">{{$baseurl}}/images/rm-64.png</Image>
diff --git a/view/tpl/pdledit.tpl b/view/tpl/pdledit.tpl
index ef8ff8dce..9df93e4c6 100644
--- a/view/tpl/pdledit.tpl
+++ b/view/tpl/pdledit.tpl
@@ -3,7 +3,7 @@
<h2>{{$mname}} {{$module}}</h2>
<br />
-<a href="help/Comanche" target="redmatrix-help">{{$help}}</a>
+<a href="help/Comanche" target="hubzilla-help">{{$help}}</a>
<br />
<br />
diff --git a/view/tpl/photos_upload.tpl b/view/tpl/photos_upload.tpl
index ee0bbd86b..bf02c614d 100755
--- a/view/tpl/photos_upload.tpl
+++ b/view/tpl/photos_upload.tpl
@@ -9,7 +9,7 @@
<datalist id="dl-photo-upload">
{{foreach $albums as $al}}
{{if $al.text}}
- <option value="{{$al.text}}">
+ <option value="{{$al.text}}" />
{{/if}}
{{/foreach}}
</datalist>
diff --git a/view/tpl/profile_advanced.tpl b/view/tpl/profile_advanced.tpl
index 1f99bf1ad..a4413e536 100755
--- a/view/tpl/profile_advanced.tpl
+++ b/view/tpl/profile_advanced.tpl
@@ -204,7 +204,7 @@
<b>{{$profile.fullname.1}} {{$key}}</b>
<ul class="profile-thing-list">
{{foreach $items as $item}}
- <li>{{if $item.img}}<img src="{{$item.img}}" width="100" height="100" alt="{{$item.term}}" />{{/if}}
+ <li>{{if $item.img}}<a href="{{$item.url}}" ><img src="{{$item.img}}" width="100" height="100" alt="{{$item.term}}" /></a>{{/if}}
<a href="{{$item.url}}" >{{$item.term}}</a>
{{if $profile.canlike}}<br />
<button type="button" class="btn btn-default btn-sm" onclick="doprofilelike('thing/' + '{{$item.term_hash}}','like'); return false;" title="{{$likethis}}" >
diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl
index eb497bbb5..ab62ede45 100755
--- a/view/tpl/settings.tpl
+++ b/view/tpl/settings.tpl
@@ -23,6 +23,9 @@
{{include file="field_input.tpl" field=$defloc}}
{{include file="field_checkbox.tpl" field=$allowloc}}
{{include file="field_checkbox.tpl" field=$adult}}
+ {{include file="field_input.tpl" field=$photo_path}}
+ {{include file="field_input.tpl" field=$attach_path}}
+
<div class="settings-submit-wrapper" >
<button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button>
</div>
diff --git a/view/tpl/settings_addons.tpl b/view/tpl/settings_addons.tpl
index ae8dac3f8..52f8d9d3f 100755
--- a/view/tpl/settings_addons.tpl
+++ b/view/tpl/settings_addons.tpl
@@ -5,29 +5,6 @@
<form action="settings/featured" method="post" autocomplete="off">
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
<div class="panel-group" id="settings" role="tablist">
- {{if $diaspora_enabled}}
- <div class="panel">
- <div class="section-subtitle-wrapper" role="tab" id="dspr-settings">
- <h3>
- <a title="{{$dsprdesc}}" data-toggle="collapse" data-parent="#settings" href="#dspr-settings-content" aria-controls="dspr-settings-content">
- {{$dsprtitle}}
- </a>
- </h3>
- </div>
- <div id="dspr-settings-content" class="panel-collapse collapse" role="tabpanel" aria-labelledby="dspr-settings">
- <div class="section-content-tools-wrapper">
-
- {{include file="field_checkbox.tpl" field=$dspr_allowed}}
- {{include file="field_checkbox.tpl" field=$pubcomments}}
- {{include file="field_checkbox.tpl" field=$hijacking}}
-
- <div class="settings-submit-wrapper" >
- <button type="submit" name="dspr-submit" class="btn btn-primary" value="{{$dsprsubmit}}">{{$dsprsubmit}}</button>
- </div>
- </div>
- </div>
- </div>
- {{/if}}
{{$settings_addons}}
</div>
</form>
diff --git a/view/tpl/show_thing.tpl b/view/tpl/show_thing.tpl
index 9aacc8958..c98003ea2 100644
--- a/view/tpl/show_thing.tpl
+++ b/view/tpl/show_thing.tpl
@@ -1,13 +1,13 @@
<h2>{{$header}}</h2>
{{if $thing}}
<div class="thing-show">
-{{if $thing.imgurl}}<img src="{{$thing.imgurl}}" width="175" height="175" alt="{{$thing.term}}" />{{/if}}
-<a href="{{$thing.url}}" >{{$thing.term}}</a>
+{{if $thing.obj_imgurl}}<a href="{{$thing.obj_url}}" ><img src="{{$thing.obj_imgurl}}" width="175" height="175" alt="{{$thing.obj_term}}" /></a>{{/if}}
+<a href="{{$thing.obj_url}}" >{{$thing.obj_term}}</a>
</div>
{{if $canedit}}
<div class="thing-edit-links">
-<a href="thing/edit/{{$thing.term_hash}}" title="{{$edit}}" class="btn btn-default" ><i class="icon-pencil thing-edit-icon"></i></a>
-<a href="thing/drop/{{$thing.term_hash}}" onclick="return confirmDelete();" title="{{$delete}}" class="btn btn-default" ><i class="icon-trash drop-icons"></i></a>
+<a href="thing/edit/{{$thing.obj_obj}}" title="{{$edit}}" class="btn btn-default" ><i class="icon-pencil thing-edit-icon"></i></a>
+<a href="thing/drop/{{$thing.obj_obj}}" onclick="return confirmDelete();" title="{{$delete}}" class="btn btn-default" ><i class="icon-trash drop-icons"></i></a>
</div>
<div class="thing-edit-links-end"></div>
{{/if}}
diff --git a/view/tpl/thing_edit.tpl b/view/tpl/thing_edit.tpl
index b170f152c..d513d2855 100644
--- a/view/tpl/thing_edit.tpl
+++ b/view/tpl/thing_edit.tpl
@@ -29,5 +29,14 @@
<div class="thing-end"></div>
+{{$aclselect}}
+
+{{if $lockstate}}
+ <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" onclick="return false;">
+ <i id="jot-perms-icon" class="icon-{{$lockstate}}"></i>
+ </button>
+{{/if}}
+
+
<input type="submit" class="thing-submit" name="submit" value="{{$submit}}" />
</form>
diff --git a/view/tpl/thing_input.tpl b/view/tpl/thing_input.tpl
index e93a1aa65..22f8f5cb6 100644
--- a/view/tpl/thing_input.tpl
+++ b/view/tpl/thing_input.tpl
@@ -29,5 +29,14 @@
<div class="thing-end"></div>
+{{$aclselect}}
+
+{{if $lockstate}}
+ <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" onclick="return false;">
+ <i id="jot-perms-icon" class="icon-{{$lockstate}}"></i>
+ </button>
+{{/if}}
+
+
<input type="submit" class="thing-submit" name="submit" value="{{$submit}}" />
</form>